최근 ‘Cerber’ 이름의 랜섬웨어를 다운로드 받는 악성 플래쉬(Flash) 파일이 다량으로 유포되고 있어 사용자의 주의가 요구된다. 

본 글에서는 이러한 플래쉬 파일에서 2차 악성 실행파일을 다운로드 하기 위해 쉘코드(Shell Code)를 사용하는 사례를 소개한다.

[그림 1]과 같이 irrcrpt 이름의 함수를 사용해 암호화 되어 있는 문자열 데이터(“FC590101”)를 복호화 하면 [그림 2]와 같은 쉘코드를 확인할 수 있다. 

쉘코드의 주요 기능은 2차 실행파일 다운로드이며, 다운로드 URL 주소 부분을 제외하고 쉘코드는 모두 동일한 형태를 갖는다.

 

[그림 1] SWF 내부 코드

[그림 2] Shell Code 일부


 쉘코드는 JMP 코드(0xEB)로 시작하며, 악성 코드를 동작하기 위해 필요한 DLL을 로드(load) 한다. 

사용할 DLL을 [그림 3]과 같이 쉘코드 내부에 고정된 형태로 갖고있다.


[그림 3] DLL 이름과 주소

 

실제 다운로드 URL 주소의 예는 다음과 같다.

-       http://**2.1**.*0*.**9/c**ef****a*******8**********1**

-       http://1**.**6.1**.**8/*****2*******5***********6******


다운로드 받은 파일은 감염 시스템의 %TEMP%경로에 “a.exe”이름으로 저장된다.

C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\a.exe

[1] 다운로드 경로


다운로드 받은 파일을 실행하기 위해 “WMIC.EXE”의 아래와 같은 명령을 사용한다.

C:\WINDOWS\system32\wbem\wmic.exe process call create

"cmd /c start C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\a.exe

[2] 실행 방법


현재 V3에서는 SWF/Cve-2016-1019, SWF/Exploit으로 진단하고 있다.

신고
Posted by 이보원