본문 바로가기

악성코드 분석

Trojan:Win32/KillDisk.I

개요

Trojan:Win32/KillDisk.I 악성코드는 하드디스크의 MBR 값을 변조 시켜서 파괴 시키는 악성코드 입니다.

 

상세 분석

<Virustotal 결과>

<패킹 여부>

패킹 여부를 판단하기 위해서 PEID로 확인 결과 패킹은 하지 않은 Borland Delphi 6.0 - 7.0 로 작성된 악성코드로 나옵니다.

004087E4 부분으로 진입하면 여러가지 함수들을 호출하게 됩니다.사용자 정의 함수 00408730 부분으로 진입 합니다. 

00408730 부분으로 진입 후 여러가지 함수 호출 부분에서 004085FF 함수로 다시 진입합니다.

004085FF 함수 부터 분석에 필요한 내용에 담겨있습니다. CreateFile 함수를 이용 해서 PhysicalDrive0 (물리 디스크 0번째)의 디바이스 핸들을 얻어옵니다

SetFilePointer 함수는 파일 포인터를 원하는 위치로 옮길 때 사용하는 함수입니다. hfile 부분은 파일 핸들(PhysicalDrive0)을 지정하고 이후 SetFilePointer 함수를 이용해서 PhysicalDrive0의 가장 앞으로(MBR 영역) 이동합니다.

WriteFile 함수를 이용해서 hFile (PhysicalDrive0) 핸들을 지정하고 버퍼 부분에 MBR 변조 시키기 위한 데이터를 넣고 NumberOfBytesToWrite 기록할 데이터 길이를 지정 합니다 MBR의 경우 512Byte 까지이기 때문에 악성코드의 설정에 512Byte를 설정하고 기록합니다.

 

PhysicalDrive0 에 대한 정상적인 MBR 입니다. WriteFile 함수 호출 후 버퍼에 담긴 데이터를 MBR에 기록해서 변조된 MBR로 변경됩니다

WriteFile 함수 호출 이후 PhysicalDrive0에 대한 변조된 MBR 입니다. MBR의 코드섹션,디스크 서명,파티션 테이블 모두 변경으로 재부팅 하면 결국 부팅할수 없게 됩니다.

최종적으로 CMD를 통해서 CmdLine = "shutdown -r -t 10 -c 강제로 재부팅 시킵니다. 이후 변조된 MBR로 인해서 부팅이 불가능하게 됩니다.

재부팅 하고 결과를 지켜보면 하드디스크 파괴로 부팅을 진행하지 못하게 됩니다.

'악성코드 분석' 카테고리의 다른 글

Trojan/Win32.Magania  (0) 2012.12.04
Rootkit.Win32.Tiny.jm  (0) 2012.12.02
Trojan.Win32.Hosts2.gen  (0) 2012.12.01
Backdoor:Win32/PcClient.ZR  (1) 2012.11.27
Win-Trojan/Onlinegamehack.126246  (0) 2012.11.26