본문 바로가기
악성코드 정보

MS12-004 윈도우 미디어 취약점을 악용한 악성코드 유포

by 알 수 없는 사용자 2012. 1. 27.
2012년 1월 27일 금일 트렌드 마이크로(Trend Micro) 블로그 "Malware Leveraging MIDI Remote Code Execution Vulnerability Found"를 통해 마이크로소프트(Microsoft)에서 1월 11일 배포하였던 보안 패치인 "MS12-004  Windows Media의 취약점으로 인한 원격 코드 실행 문제점 (2636391)"와 관련된 취약점(CVE-2012-0003)을 악용하여 유포된 악성코드가 발견되었다.

해당 MS12-004 취약점을 악용하여 유포된 악성코드와 관련된 사항들을 ASEC에서 추가적인 조사를 진행하는 과정에서 해당 악성코드는 아래와 같은 전체적이 구조를 가지고 있는 것으로 파악하였다.


악성코드 감염의 근본적인 시작이 되는 mp.html(16,453 바이트) 파일은 최초 1월 21일 설날 연휴가 시작되는 토요일 국내에서 발견되었으며, 해당 스크립트 악성코드가 존재하였던 시스템은 미국에 위치하고 있다.

그리고 해당 악성코드들과 관련된 공격자는 한국과 중국을 포함한 극동 아시아 권을 주된 대상으로 해당 악성코드들을 유포 한 것으로 ASEC에서는 추정하고 있다. 


해당 mp.html 스크립트 악성코드를 텍스트 에디터로 분석을 해보면 아래와 같은 구조를 가지고 있으며, 파일 중간에는 실질적인 MS12-004 취약점을 악용하는 MIDI 파일인 baby.mid(38,068 바이트) 파일과 다른 자바 스크립트(JavaScript)인 i.js와 쉘코드(Shallcode)가 포함되어 있다.


아래 이미지와 동일한 MIDI 파일인 baby.mid는 MS12-004 취약점을 악용하도록 되어 있으며, 해당 취약점을 통해 ASLR/DEP를 모두 우회하여 공격자가 지정한 특정 코드를 실행 할 수 있도록 되어 있다. 

일반적인 MIDI 파일 포맷은 Header Chunk 와 Track Chunks로 구성되어 있다. 그러나 이번에 발견된 악의적으로 조작된 MIDI 파일에서 Note On/OFF (소리내기/끄기) 명령어인 해당 Track Event 중 첫번째 파라미터인 "Note Number" 값은 최대 127까지 표현가능하다.  

그러므로, 아래 이미지와 같이 B2(>128) 값으로 설정된 경우에는 오프셋(Offset) 계산 시 경계 범위를 넘게되어 잘못된 메모리 번지를 참조하게 되는 오류가 발생하게 된다.


mp.html 스크립트 악성코드에 포함되어 있는 쉘코드는 미국에 위치한 특정 시스템에서 인코딩(Encoding) 되어 있는 파일인 tdc.exe(73,728 바이트) 를 다운로드 한 후에 다시 이를 디코딩(Decoding) 과정을 거쳐 정상적인 PE 파일 형태를 가지게 된다.


정상적인 PE 파일 형태를 가지게 된 tdc.exe 파일이 실행되면 다음의 파일들을 생성하게 된다.

C:\WINDOWS\system32\drivers\com32.sys (11,648 바이트)
C:\WINDOWS\system32\com32.dll (57,344 바이트)


레지스트리(Registry)에 다음의 키 값을 생성하여 윈도우(Windows)가 재시작 시에 해당 드라이버 파일이 "Com32"라는 서비스명으로 자동 구동 되도록 설정하게 된다.

HKLM\SYSTEM\ControlSet001\Services\Com32\ImagePath  
"System32\drivers\com32.sys"


생성된 드라이버 파일인 com32.sys tdc.exe가 생성한 com32.syscom32.dll 파일들을 보호하기 위해 다른 프로세스의 접근을 방해한다. 그러나 다음의 프로세스들의 접근에 대해서는 허용하고 있다.

IEXPLORER.EXE
exploere.exe
rundll32.exe 


그리고 com32.sys는 \FileSystem\FastFat 과 \FileSystem\Ntfs의 DriverObject의 IRP_MJ_CREATE 핸들러 주소를 후킹한 코드 주소로 변경하는 방법을 사용하고 있다.

생성된 com32.dll는 감염된 시스템에서 국내에서 제작되어 사용중인 보안 제품들이 실행 중이라면 해당 프로세스들의 강제 종료를 시도하게 된다.


추가적으로 아래 이미지와 같이 특정 시스템으로 접속을 시도하여 성공하게 될 경우에는 아래 이미지와 같이 20120120.exe(89,088 바이트)를 다운로드 하게 된다.


다운로드 된 20120120.exe는 감염된 시스템에 존재하는 정상 윈도우 시스템 파일인 imm32.dll 파일을 랜덤한 파일명으로 백업을하고 국내에서 제작된 온라인 게임들의 사용자 계정과 암호를 외부로 탈취하는 기능들을 수행하게 된다.

현재까지의 상황들을 종합해보면 이번 MS12-004 취약점을 악용하여 악성코드 감염을 시도하는 제작자는 최종적으로 윈도우 보안 패치가 설치되지 않은 시스템에서 온라인 게임 사용자 정보들을 탈취하기 위한 악성코드 감염을 시도한 사례라고 볼 수 있다.

발견된 악성코드의 제작 기법과 국내 보안 프로그램의 강제 종료 기법들을 볼 때 중국에서 제작된 온라인 게임 관련 악성코드와 유사도가 높다고 할 수 있다.

그러므로 해당 MS12-004 취약점은 다른 악성코드 변형들에서도 다른 형태의 유포 기법으로 악용될 소지가 높음으로 사용하는 윈도우 시스템에 최신 보안 패치들을 모두 설치하는 것이 최선의 예방책이다.

이번 MS12-004 취약점과 관련된 악성코드들 모두 V3 제품군에서는 다음과 같이 진단한다.

JS/Cve-2009-0075 
JS/Agent 
Exploit/Ms12-004 
Win-Trojan/Rootkit.7808.H 
Dropper/Win32.OnlineGameHack 
Win-Trojan/Meredrop.73728.C
Win-Trojan/Rootkit.11648.B
Win-Trojan/Waltrodock.57344
Win-Trojan/Meredrop

그리고 TrusGuard 네트워크 보안 장비에서도 해당 취약점에 대해 다음의 명칭으로 탐지 및 차단이 가능하다. 

malicious_url_20120127_1459(HTTP)-1
ms_ie_mid_file_exploit-t(CVE-2012-0003/HTTP)

댓글