본문 바로가기
IT 보안소식

MIDI 파일 취약점(CVE-2012-0003)을 이용한 악성코드 유포 주의!!

by 잡다한 처리 2012. 1. 28.
반응형


2012년 1월 27일 트렌드 마이크로(Trend Micro) 블로그를 통해 MIDI 취약점을 이용한 악성파일이 발견되었다는 소식을 들었다.

이에 보안업체 및 보안블로그에는 아래와 같은 분석내용들이 올라오고 있다.
(내용은 다들 비슷하나^^ 그래도 한번씩 보는것도 도움이 될 것이다. 특히, 벌새님의 블로그는 치료방법에 대해서도 자세하게
나와있으니 참고하면 쉽게 치료할 수 있다.)



이번 midi(윈도우 미디어 플레이어, Musical Instrument Digital Interface) 파일 취약점은 이번달 보안 업데이트에 긴급으로
패치되었으니 보안업데이트를 꼭 받아야한다.

이제 midi 취약점을 이용한 악성코드 유포는 매주 주말에 유포를 시작하지 않을까 조심스레 추측해본다 ㅠㅠ


그럼 이제 분석을 시작해보자. 우선 이번에 유포 된 악성코드의 흐름은 아래와 같다.

http://images.c2bxxxx.com/mp.html

 ㄴ http://images.c2bxxxx.com/./baby.mid 
 ㄴ http://images.c2bxxxx.com/i.Js 
 ㄴ http://images.c2bxxxx.com/tdc.exe (다운로드 된 악성파일, 암호화가 되어있어 XOR를 통해 복호화가 필요)

- mp.html (알약 탐지명 : JS:Trojan.Script.FE)
Doanload Script로써 tdc.exe를 다운로드 하는 ShellCode가 포함되어 있다.
(짜증나게 Dadong Script ㅡㅡ;;)



- baby.mid (알약 탐지명 : Exploit.CVE-2012-0003)
MIDI Remote Code Execution Vulnerability(CVE-2012-0003) 취약점을 이용하는 파일
(자세한 분석을 하고 싶지만 Midi Format을 확실히 분석하지 못해서 아쉽게도 ㅠ.ㅠ 간략하게만 해야겠다)

midi 파일의 포멧은 Header ChuckTrack Chunks 로 구성되어 있는데,
이번 baby.mid 파일은 Track에서 사용 되는 Track Event 중 Note on Event의 첫번째 Parameter 에 들어가는
Note number가 지정 된 범위를 벗어나게 되어 오류가 발생한다.
(Note number는 건반에 대응하는 신호로써 0-127까지 지정되어 있으나 baby.mid 파일에서는 0xB2로 178을 표기하고 있다.)

<Header Chuck 구조 - midi형식의 유형, 트랙번호, 타이밍을 포함한 전체 노래에 대한 정보>
Offset Length Type Description Value
0x00 4 char[4] chunk ID "MThd" (0x4D546864)
0x04 4 dword chunk size 6 (0x00000006)
0x08 2 word format type 0 - 2
0x10 2 word number of tracks 1 - 65,535
0x12 2 word time division see following text

<Track Chunks 구조 - 트랙이름, 트랙에 대한 모든 정보>
Offset Length Type Description Value
0x00 4 char[4] chunk ID "MTrk" (0x4D54726B)
0x04 4 dword chunk size see following text
0x08
track event data (see following text)

<Track Event Type 구조>
Event Type Value Parameter 1 Parameter 2
Note Off 0x8 note number velocity
Note On 0x9 note number velocity
Note Aftertouch 0xA note number aftertouch value
Controller 0xB controller number controller value
Program Change 0xC program number not used
Channel Aftertouch 0xD aftertouch value not used
Pitch Bend 0xE pitch value (LSB) pitch value (MSB)


- tdc.exe (알약 탐지명 : Backdoor.Agent.com32)
사용자 시스템에 악성파일을 생성하고, 추가적인 파일을 다운로드 받는다.

C:\Windows\System32\com32.dll (알약 탐지명 : Backdoor.Agent.com32)
C:\Windows\System32\drivers\com32.sys (알약 탐지명 : Backdoor.Agent.com32)
C:\Windows\System32\FileDisk.sys (알약 탐지명 : Worm.Generic.329651)

동작 시 Remon.exe, IRPro.exe, SpStart.exe 프로세스가 존재 시 FileDisk.sys를 드롭시키고,
자신을 userinit.exe를 덮어씌우는 것으로 보인다.

※ 참고사항 ※ 
해당 프로세스들은 ComBack 프로그램으로써 PC방에 많이 사용되는 롤백 프로그램이다.
프로세스가 존재하면 PC방으로 판단하고, 롤백시에도 악성파일이 동작할 수 있도록 조작하는 것으로 추측된다.


C:\Program Files\IZEX\ComBack6.0 IR Pro\IRPro.exe
C:\Program Files\IZEX\ComBack5.0 IR Pro\Remon.exe
C:\Program Files\IZEX\ComBack6.0 IR Pro\SpStart.exe  

좀 더 확인해보니, ComBack 프로세스가 존재 하면 "Z 드라이브"명으로 윈도우가 설치 된 드라이브를 복사하는 것으로 확인되었다.
따라서 롤백을 하더라도 "C 드라이브(보통 윈도우가 설치 된 드라이브)"를 복원하더라도 악성파일은 Z 드라이버에 설치 된 악성파일을 이용하여 지속적으로 감염을 시킬 수 있다.


Com32.dll 은 국내 보안프로그램의 프로세스를 체크하여 종료시킨다.
ALYac.aye
AYRTSrv.aye
AYServiceNT.aye
Nsavsvc.npc
nsvmon.npc
NVCAgent.npc
v3light.exe
v3lsvc.exe
v3ltray.exe

추가적으로 파일을 다운로드 시킨다.
http://67.198.1**.2**/20120120.jpg
http://67.198.1**.2**/20120120.exe
C:\Documents and Settings\[사용자계정]\Local Settings\Temp\20120120.exe 


Com32.sys 파일은 com32.dll과 com32.sys 파일접근을 보호하며, 특정 프로세스에는 접근을 허용시킨다.
허용 프로세스 : IEXPLORER.EXE, explorer.exe, rundll32.exe

또한 Major Function Hooking 한다.
(다른 행위도 있어 보이는데~ 귀찮어 ㅠ.ㅠ)
[0] IRP_MJ_CREATE
[2] IRP_MJ_CLOSE
[14] IRP_MJ_QUERY_SECURITY


- 20120120.exe (알약 탐지명 : Trojan.Dropper.OnlineGames.imm)
감염 된 시스템에 정상 파일인 imm32.dll 을 변조시키고, 악성파일을 생성한다.

C:\Windows\System32\imm32.dll (알약 탐지명 : Spyware.OnlineGames.imm)
C:\Windows\System32\d3dx9_09.dll (알약 탐지명 : Spyware.OnlineGames.imm)

변조 된 imm32.dll은 5 Byte Patch를 통해 악성 파일인 d3dx9_09.dll 를 부팅 시 자동으로 로드시킨다.



결론은 내일써야지 ㅡ.ㅡ; 졸리다!!

댓글