본문 바로가기

악성 코드 분석

악성코드 Backdoor.Hacarmy.D 분석-3

이번에는 저번에 말했던 악성코드가 정보를 빼내는 일을 하는것을 분석해보겠습니다.



00402D82        push zonelock.004050B6        //grandad

00402D87        push zonelock.004050B0        //##g##

00402D8C       push zonelock.004051A3        //JOIN

00402D91        push zonelock.004054AC        //format =%s %s %s

00402D9D        call <jmp.&CRTDLL.sprintf>


00402DA7        push zonelock.004050B0        //##g##

00402DAC       push zonelock.004051A3        //JOIN

00402DB1        push zonelock.004054BE        format =%s %s

00402DBD        call <jmp.&CRTDLL.sprintf>

이부분에서 위부분은 grandad란 parameter를 이용해서 ##g##채널에 접속하는것이고 밑에서는 grandad를 이용하지 않고 채널에 접속합니다.

이제 채널에 접속하면 이 바이러스 제작자가 명령을 내리던가 아니면 이 프로그램이 제작자에게 정보를 주는 통신을 시작합니다.



이부분이 이제 PRIVMSG를 처리하는 부분입니다.

PRIVMSG가 뭔소린지 몰라서 인터넷에 쳐보았습니다.

그랬더니 PRIVMSG는 IRC프로토콜에서 채널로 메시지를 보내기위해 쓰는 명령이라고합니다.

그리고 IRC프로토콜은 실시간채팅프로토콜이라고 합니다. 그냥 간단하게 실시간 서버라고 생각하면 되겠죠.

이제 다시 어셈블리어를 분석해보겠습니다.

00402E82        push dword ptr ss:[EBP-C]       

00402E85        push zonelock.0040518A        // PRIVMSG

00402E8A        call <jmp.&CRTDLL.strcmp>


00402E94        jnz zonelock.00402F8F


00402E9A        push zonelock.004054A7        // :

00402EA3        push EAX

00402EA4        call <jmp.&CRTDLL.strstr>

이부분은 이제 프로그램으로부터 메시지가 왔을때 그 메시지가 PRIVMSG인지 비교를 합니다.

그 다음에 아니면 00402E94주소의 jmp구문을 통해 00402F8F주소를 가게되는데 00402F8F주소 후 어느정도 지나면 다시 jmp를 통해 이부분으로 올라오기때문에 다시 메시지 받는것을 대기한다고 보시면 됩니다.

만약 메시지가 PRIVMSG가 맞느면 strstr을 이용해서 :이후의 메시지를 찾아서 실질적인 명령어를 찾는다고 보시면 됩니다.



이제 이부분이 이제 명령어를 담당하는 부분입니다.

사실을 굉장히 많은데 다 캡쳐하기가 너무 오래걸리고 길어서 간단하게 표로 정리해드리겠습니다.


명령 

역할 

!?dontuseme 

자체 제거 명령입니다. 

!socks4 

감염 시스템을 프록시서버로 만들어서 감염된 컴퓨터를 통해 인터넷에 접속합니다. 

!threads 

현재 동작중인 스레드의 목록을 받습니다. 

!info 

감염된 시스템의 정보들을 출력합니다. 

!?quit 

프로그램을 제거하지는 않고 끄기만 합니다.

레지스터값을 건드리진 않으니 재부팅하면 다시 켜집니다. 

 !?disconnect

IRC 채널과 연락을 끊습니다. 다시 접속하기 까지의 시간을 인자로 받고 그 시간 후에 다시 접속합니다.

 !execute

원하는 파일을 실행시킵니다. 

!delete 

원하는 파일을 삭제합니다. 

!webfind64 

감염된 시스템으로부터 파일을 다운받습니다.

감염된 시스템->공격자컴퓨터로 파일 전송 

!killprocess

!listprocesses

 비교값만 존재하고 실제 하는 일이 없습니다.

만들다가 그만둔것같습니다.


대충 이정도로 바이러스 Backdoor.Hacarmy.D 분석을 마치겠습니다.

다음 분석은 시험 끝나고 7월달 중반이 될것같네요. 그동안 분석할 샘플이나 찾고 있겠습니다.

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

JS:DownloadNSave-Z [Adw] 분석  (0) 2014.01.19
악성코드 Backdoor.Hacarmy.D 분석-2  (0) 2013.06.11
악성코드 Backdoor.Hacarmy.D 분석-1  (1) 2013.06.06