본문 바로가기

악성코드 분석

Backdoor:Win32/PcClient.ZR

개요

 

분석할 악성코드의 경우 다양한 모듈을 탑재한 종합 해킹툴이라고 할수 있습니다.

감염 PC에 대해서 원격제어,파일 탐색 기능,웹캠도청,사운드 녹음 기능등 다양한 모듈을 탑재한 악성코드라고 말할수 있습니다.

 

 

상세 분석

 

<Virustotal 결과>

 

 

<파일 생성>

 

 

악성코드를 실행 시 ITOA.DLL이라는 추가적인 악성코드를 추가로 생성합니다. 악성코드는 Dropper 형식으로 악성행위를 하는것은 ITOA.DLL 파일 입니다.

 

<패킹 여부>

 

 

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

 

 

CreateToolhelp32Snapshot 함수를 호출해서 자신의 파라미터 Flags 부분에 TH32CS_SNAPALL 설정하고 모든 프로세스의 정보를 핸들을 저장합니다.
그 다음 CreateToolhelp32Snapshot을 통해서 얻은 핸들을 파라미터 처음 프로세스의 정보를 구하기 위해서 Process32First 함수를 호출합니다.
Process32Next 함수를 통해서 루프를 진행하면서 360tray.exe,RSTray.exe 프로세스가 실행되고 있으면 종료 시킵니다.

 

 

360tray.exe 파일은 중국의 백신 프로그램 입니다.

 

 

SetFileAttributes 함수를 호출하여 윈도우의 system32 폴더를 숨김으로 변경 시킵니다.

 

[ITOA.DLL 생성 절차]

 

 

FindResource--->LoadResource--->CreateFile--->SizeofResource--->WriteFile

위 함수들을 이용해서 ITOA.DLL 악성코드를 추가로 생성하게 됩니다. 

 

FindResource 함수는 특정 모듈로부터 리소스를 찾는 함수다. 리소스는 여러 가지 자원을 통칭하는 말로
지금 FindResource 함수는 리소스타입은 BIN (PE 파일)이며 모듈은 NULL로 설정해서 현재 진행중인 프로세스에서 찾는다

 

 

LoadResource 함수는 리소스 메모리의 블록의 첫 번째를 얻는 용도로 사용합니다.

 

 

CreateFile 함수를 사용해서 빈 ITOA.DLL을 생성합니다.

 

 

SizeofResource 함수를 이용해서 빈 ITOA.DLL 파일에 리소스 크기를 구하고 WriteFile 함수를 이용해서 내용을 기록합니다.

 

 

레지스트리에 대해서 정의하고 최종적으로 StartService 함수를 호출해서 서비스 상태를 중지에서 시작으로 작동 시킵니다.

 

 

ITOA.DLL 악성코드는 CreateRemoteThread 함수를 호출해서  Svchost.exe 인젝션으로 실행 됩니다.

 

<시스템 정보 취득>

 

 

 

GetDiskFreeSpaceEx 함수를 이용해서 감염 PC의 하드디스크 용량을 체크하고GetVolumeInformation 함수를 이용해서 감염 PC의 다양한 정보를 얻고있습니다

 

<프로세스 리스트 확인&실행 종료>

 

 

악성코드는 감염된 PC의 현재 실행중인 프로세스 목록에 대해서 확인하는 기능을 가지고 있습니다. 그 후 종료 하고 싶은 프로세스에 대해서 종료시키는 기능까지 보유하고 있습니다

 

<웹캠 도청 기능>

 

 

감염된 PC가 웹캠이 존재 할때 악성 해커가 웹캠 기능을 이용해서 감염된 PC의 캠 화면을 도청할수 있습니다.

 

<사운드 도청 기능>

 

 

감염 PC의사운드에 대해서 도청 또는 녹음 하는 기능을 탑재하고 있습니다.

 

<디렉토리 확인 & 파일 확인 삭제>

 

 

FindFirstFile 함수를 이용해 파일 검색을 시작합니다.그리고 검색에 필요한 정보를 만들고 핸들을 리턴합니다 그 핸들을 검색 핸들(Search Handle) 이라고 하며 검색 핸들에는 여러가지 정보가 저장되어 있으며 이어지는 검색은 FindNextFile 함수가 담당하게 됩니다. 만약 악성 해커가 디렉토리나 파일을 삭제 할려고 한다면 DeleteFile 함수와 RemoveDirectory 함수를 이용해서 원하는 파일,디렉토리를 삭제하는 기능을 가지고 있습니다.

 

 

 

<rasphone.pbk 파일에서 특정정보 수집>

 

 

 

rasphone.pbk 파일은 모뎀이 사용하는 설정파일이기 때문에, 시스템에 모뎀 이 설치되어있지않으면, 해당 파일에 아무런 내용도 존재하지 않습니다. 해당 악성코드는 중국의 출처로 보이며 중국의 경우 모뎀 사용자가 있는걸 감안해서 제작한걸로 추정됩니다. rasphone.pbk에서 특정 정보(Device, PhoneNumber, DialParamsUID )등에 대해서 수집 합니다.

 

<이벤트 로그 삭제>

 

 

자신에 대한 흔적을 지우기 위해서 윈도우 이벤트 로그(System, Security, Application)삭제 하는 기능을 가지고 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Trojan/Win32.Magania  (0) 2012.12.04
Rootkit.Win32.Tiny.jm  (0) 2012.12.02
Trojan.Win32.Hosts2.gen  (0) 2012.12.01
Trojan:Win32/KillDisk.I  (0) 2012.11.29
Win-Trojan/Onlinegamehack.126246  (0) 2012.11.26