최근 ‘Locky’, ‘Cerber’ 와 같은 랜섬웨어를 다운로드 받아 실행하는 플래시 파일 (Adobe Flash File)이 유포되고 있어 사용자의 주의를 요하고 있다.


그 중 ‘SunDown’ 익스플로잇 킷트 (Exploit Kit - 웹 서버에서 동작하는 공격용 소프트웨어, 이하 EK) 에 의해 유포되는 플래시 파일에 대한 내용을 소개하면 다음과 같다.


해당 EK 의 주요 공격 대상은 Adobe Flash Player, Internet Explorer, SilverLight 취약점이며, 파라미터를 통해 Base64 인코딩된 쉘코드 및 악성코드 다운로드 URL 을 전달 받아 랜섬웨어를 다운로드 하는 기능을 가지고 있다.


본문의 플래시 파일 또한 동일한 기능을 가지고 있으며, 추가로 플래시 파일 내부 (DefineBinaryData) 에 암호화된 데이터가 존재하여 복호화 시 또 다른 악성 플래시 파일을 확인할 수 있다.


[그림 1] 에서 Type 1 Type 2 모두 동일한 유형이나 Type 1 의 경우 쉘코드를 복호화 하기 위한 Base64 클래스를 가지고 있다. (Type 2 의 경우 쉘코드가 암호화 되어 있지 않음) 

[그림 1] ‘SunDown’ EK 로 유포되는 플래시 파일들 (동일 유형)


복호화 루틴도 동일하지만 초기 키 값의 전달 방식에 따라 나뉘어진다. (스크립트 내부 하드 코딩() or DefineBinaryData 의 마지막 값())

[그림 2] 데이터 복호화 시 사용되는 루틴


[그림 2] 의 루틴을 이용하여 [그림 3] 의 암호화된 데이터를 복호화 후 [그림 4] 와 같은 새로운 플래시 파일을 생성한다.

[그림 3] 암호화된 DefineBinaryData (일부)


[그림 4] 복호화 후 생성된 플래시 파일들


플래시 파일 내에서 사용되는 스크립트 언어인 AS (ActionScript) 내부에는 [그림 5] 와 같이 Base64 인코딩된 쉘코드가 존재하며 (Type 1), 쉘코드는 다운로드 URL 로부터 악성코드를 다운로드 받아와 실행시키는 흐름을 보인다.

[그림 5] Base64 로 인코딩된 쉘코드 (Type 1)


악성코드 다운로드 URL 의 경우 쉘코드 내부에 저장되어 있거나 (Type 2), Flash 파라미터(exec) 를 통해 전달받는다.

[그림 6] 다운로드 URL 을 전달 받는 파라미터(exec) (Type 1)


다운로드된 악성 파일은 %temp% 경로에 ‘x.tmp’, ‘z.tmp’ 등의 파일명으로 생성되어 실행된다.

http://[서버주소]/z.php?id=152 (134, 135) 

[그림 7] 쉘코드 내부의 다운로드 URL


해당 플래시 파일은 V3 제품에서 ‘SWF/Sundown.Gen’, ‘SWF/Exploit’ 등의 진단명으로 진단 가능하다.

신고
Creative Commons License
Creative Commons License
Posted by jaemin.song