Mylabs

MBR 악성코드 - 다수의 Adware를 설치하는 MBR 악성코드 본문

Malware

MBR 악성코드 - 다수의 Adware를 설치하는 MBR 악성코드

[Edge] 2010. 7. 8. 16:50
며칠 전 이슈된 MBR 악성코드에 대한 내용입니다.

설치는 다수의 Adware에 대한 정보와 동영상은 아래 링크에서 확인하실 수 있습니다.

Spyware.MulDrop.Do.25088
http://www.hauri.co.kr/customer/security/virus_view.html?intSeq=1849&page=1&keyfield=&key=&SelectPart=2

Trup 부트 바이러스 전용백신
http://www.hauri.co.kr/customer/download/vaccine_view.html?uid=74&page=1&keyfield=&key=

개을러서 포스팅을 자주 안하게 되네요 -_-;
큰맘먹고 오늘 올려봅니다. ㅎ
여기서 언급하는 내용은 MBR에 중점을 둔 내용입니다.

 악성코드는 다음과 같은 루틴을 수행합니다.
   1. 감염시키기전 물리적 디스크 0x00000000 ~ 0x00005000 을 백업한다. (MBR 포함)
   2. 악성코드 프로세스 메모리에 ali.exe 를 준비하고,
       시스템 임시폴더에 파일로 생성한 뒤, CreateProcess 로 실행한다.
       그 후, 메모리의 ali.exe 는 암호화한다.
   3. 악성코드 자신의 프로세스 메모리 영역에 준비해둔 악성 바이너리블럭을 (ali.exe 포함)
       시스템 물리 디스크 0x00000000 ~ 0x00005000 에 overwrite 한다. (암호화된 정상 MBR 포함)

실행되는 ali.exe 가 다수의 Adware를 다운받아 설치하는 녀석입니다.

MBR을 백업하고, OverWrite 하는 루틴은 동일한 루틴을 2번 수행(백업, 악성OverWrite) 하며,
CreateFile로 PhysicalDrive0 을 접근해서 열고,
DeviceIoControl 을 사용해 백업합니다. (0x200 * 28 = 0x5000)

MBR 영역을 악성코드로 OverWrite 하는 루틴도 백업하는 루틴을 동일하게 수행합니다.
아래 그림은 OverWrite 되는 악성 MBR 코드 입니다.
  * 이 코드는
    암호화 되어 있는 자신의 코드와 특정영역에 백업되어 있는 정상 MBR 을 복호화하고,
    코드의 흐름을 복원된 정상 MBR로 JMP 시키는 코드를 포함하고 있으며, 
    ~0x5000 영역안에는 암호화된 ali.exe 도 존재합니다. 이도 역시 MBR 코드에 의해 복호화 되며, 시스템에서
    지속적으로 ali.exe 를 로드할 수 있게 해줍니다.


[ 복호화된 MBR을 특정영역으로 복사하고, JMP ]
0x4C00 에 있는 복호화된 정상 MBR을 0x7C00으로 복사하고, 7C00 으로 JMP

[ 0x4C00 에 존재하는 암호화된 정상 MBR 코드 ]