이번에는 저번에 말했던 악성코드가 정보를 빼내는 일을 하는것을 분석해보겠습니다.
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 |