해당 악성코드의 경우 악성 스크립트가 삽입된 홈페이지를 통해 유포되며 감염시 백신 무력화, 온라인게임 계정 탈취, 루트킷을 통한 은폐의 기능을 갖고 있다.

   

○ 전체 감염도

최초 숙주 파일 실행시 전체적으로 생성되는 파일은 다음과 같다.

C:\WINDOWS\dnstmp.dll

C:\WINDOWS\windowswalls.bmp        

C:\WINDOWS\tasks\midisappe.dat        

C:\WINDOWS\system32\midisappe.dll

C:\WINDOWS\midisappe.dll

C:\WINDOWS\tasks\ntfsny.dat

C:\WINDOWS\system32\drivers\ntfsny.sys

C:\WINDOWS\tasks\ahnsvr.dat

C:\WINDOWS\system32\drivers\ahnsvr.sys

dat 파일의 경우 "MZ"헤더만 변경된 파일로 주요 파일의 개략적인 감염되는 [그림 1]과 같다. (숙주파일인 2211.exe의 파일명은 자주 변경되며 본 포스팅에서는 2211.exe로 통칭한다.)

   

[그림 1]

   

○ 2211.exe 파일 분석

2211.exe 파일 실행시 [그림 2]와 같이 avp.exe 프로세스(Kaspersky AntiVirus Module) 존재 유무를 검사하게 되며 해당 프로세스 존재시 아무런 행동을 하지 않고 종료한다. 왜 Kaspersky 백신이 설치되어 있으면 아무런 행위를 하지 않는지에 대한 것은 의문이다. 프로세스 명으로 검사를 하므로 avp.exe라는 프로세스만 존재해도 이후 과정에 대해서는 실행을 하지 않는다.

[그림 2]

숙주파일에는 국내에서 많이 사용되는 백신을 무력화시키는 기능이 포함되어 있으며. 해당 백신의 모듈 서비스 정보, 프로세스 정보 등을 확인한 뒤에 프로세스 종료, 서비스 종료 및 삭제 등의 기능을 수행한다. 해당 부분에 대해서는 악용의 소지가 있으므로 포스팅하지 않겠다. 공격 대상이 되는 백신은 V3, 알약, 네이버백신, SGA-VC2.0 등이다.

이 후 리소스에 저장되어 있는 DLL 파일을 %WINDOWS%dnstmp.dll 파일로 저장한 뒤 LoadLibrary를 이용하여 해당 파일을 로드한다.

[그림 3]

dnstmp.dll 파일을 로드한 뒤 배치 파일을 생성하여 자기자신을 삭제한다.


○ dnstmp.dll 파일 분석

dnstmp.dll 파일 실행시 [그림 4]의 대상 파일에 대해서 현재 system32에 저장된 해당 파일을 t_[filename]으로 복사한 뒤에 DllCache에 저장된 파일로 다시 해당 파일을 복구해 주는 것을 확인할 수 있다. 이는 기존의 시스템 파일을 변조시키는 온라임게임 계정 탈취 악성코드들에 의해 변조된 시스템 파일들을 복원시켜주는 과정으로 볼 수 있다.

[그림 4]

쓰레드를 생성하여 V3, NaverVaccine, VirusChaser, Alyac 백신을 종료한다.

[그림 5]

이후 시스템 기본정보, IE 버젼, 온라인게임 설치 종류 등을 점검한 뒤에 해당 정보를 특정 서버로 전송한다. POST method를 이용하여 해당 정보를 전송하며 포맷은 [그림 10]과 같다.

[그림 6]

각 과정이 진행되면서 Global Atom을 생성하며 해당 Atom이 존재하면 하위의 과정이 이미 이루어진 상태로 인식되게 된다.

About Atom Tables

Atom Table은 스트링과 그에 연관된 유니크한 식별자를 저장하는 시스템에 의해 정의된 테이블로 자세한 내용은 아래 링크를 참조

http://msdn.microsoft.com/en-us/library/ms649053%28v=vs.85%29.aspx


[그림 7]

dnstmp.dll에 리소스에는 2개의 PE파일 구조의 데이터가 저장되어 있으며 이는 드라이버 파일로 루트킷 기능을 하게 된다. [그림 8]와 같은 구조로 해당 리소스(MHDLL)를 읽어 ahnsvr.sys 파일과 ntfsny.sys 파일을 생성하는 것을 볼 수 있다. 파일 생성후 각 파일명의 서비스로 등록하여 실행하게 된다.

[그림 8]

이어서 dnstmp.dll 파일을 %system%midisappe.dll 파일로 복사 후 explorer.exe 프로세스에 injection하는 것을 확인할 수 있다.

[그림 9]

이후 대상이 되는 온라인게임에 대해서 계정 탈취를 수행한다. 대상이 되는 프로세스 목록은 다음과 같다.

 pcotp.exe, iexplorer.exe, NeopleLauncher.exe, dnf.exe, MapleStory.exe, FF2Client.exe, lin.bin, aion.bin, darkblood.exe

iexplorer.exe에 대해서는 특정 사이트 로그인시 계정을 탈취하는 것으로 보이며 [그림 10]와 같이 웹페이지를 통해 사용자 인증을 받는 방식의 온라인 게임을 목표로 하고 있는 것을 확인할 수 있다.

[그림 10]

또한 특정 사이트에서 파일을 다운로드하여 실행하는 것으로 추정되는 부분이 존재하며 접속 시도하는 사이트의 경우 현재는 해당 경로의 파일이 존재하지 않아 정확한 내용을 확인할 수 없었다.

[그림 11]

[그림 12]

   

○ ahnsvr.sys 파일 분석

ahnsvr.sys 파일의 용도는 새로 생성되는 프로세스에 midisappe.dll 파일을 인젝션하는 것이다. NtMapViewOfSection 함수를 후킹하여 생성되는 프로세스에 대하여 모니터링을 하며 프로세스가 생성되면 midisappe.dll 파일을 인젝션한다.

[그림 13]

해당 드라이버의 기능과 비슷한 소스가 중국의 특정 사이트를 통하여 공유가 되고 있었으며 InjectEye 이름으로 공유가 되고 있었다. [그림 14]은 해당 소스코드의 일부이다.

[그림 14]

   

○ ntfsny.sys 파일 분석

ntfsny.sys 파일은 특정 API에 대하여 후킹을 실행하며 특정 파일 및 레지스트리를 숨기는 역할을 한다. 후킹 대상이 되는 API의 목록은 [그림 15]와 같으며, [그림 16]과 같이 SSDT가 후킹되어 있는 것을 확인할 수 있다.

[그림 15]

[그림 16]

숨기는 대상이되는 파일의 목록은 [그림 17]과 같다.

[그림 17]

숨김 대상이 되는 레지스트리의 값은 다음과 같다.

+ HKLM\System\CurrentControlSet\Services\ntfsny 하위의 값
+ HKLM\System\CurrentControlSet\Services\ahnsvr 하위의 값
+ HKLM\Software\Microsoft\Windows\CurrentVersion\Run - C:\WINDOWS\system32\winimm32.exe 값      

                                                                                                    +---------------------------------+
                                                                                                    | Infinite Flow..                              |
                                                                                                    | mail : reverseinsight@gmail.com    |
                                                                                                    | Blog : http://sinun.tistory.com       |
                                                                                                    | twitter : @unpacker                      |
                                                                                                    | CISSP                                        |
                                                                                                    +----------------------------------+

저작자 표시 비영리 변경 금지
신고
Posted by By. PHR34K