CreateMutex
까보면 다나와~
악성코드 상세분석/BOT (2)

Backdoor.ngrbot

Backdoor.ngrbot

 

먼저 악성코드가 실행되면 모든 Process를 찾아서 Code Injection을 시도


그림1. 모든 프로세스에 Code Injection

 

이후 Injection Code가 각 Process에서 실행되면 IAT(Import Address Table)를 구성하고 ntdll.LdrEnumerateLoadedModules라는 Native API를 호출한다. LdrEnumerateLoadedModlues는 모든 로드된 모듈을 대상으로 CallBack 함수를 실행하는 API(undocument이지만 실제 그렇게 행동하는 것을 확인함) CallBack 함수는 특정 대상 API Inline Patch한다. 또한 ‘NtResumeThread’, ‘LdrLoadDll’ 두 함수의 경우 CallBack함수와 별도로 Inline Patch를 한다.


그림2. Inline Patch Code

 

여기서 ntdllNative API 주소는 다음과 같이 PEB_LDR_DATA 정보를 찾아서 로드된 모듈이 ‘ntdll.dll’과 일치할 경우 해당 모듈의 Header 정보를 통해 Export Function Offset(address)을 찾는 방법을 사용한다.

그림3. FS레지스터를 통해 로드된 ‘ntdll.dll’를 찾는 과정

 

그림4. ‘ntdll.dll’ Header 정보를 통해 특정 API Address를 찾는 과정

 

분석 시 확인된 Patched API는 다음과 같다. (하지만 악성코드 버전 별로 대상이 상이 함을 확인)

##ntdll - NtQueryDirectoryFile, NtEnumerateValueKey, NtResumeThread, LdrLoadDll

##kernel32 - CopyFileW, CopyFileA, CreateFileW, CreateFileA, MoveFileW, MoveFileA

##wininet - InternetWriteFile, HttpSendRequestW, HttpSendRequestA

##ws2_32 - getaddrinfoW, send

##urlmon - URLDownloadToFileA, URLDownloadToFileW

 

ngrbot 악성코드는 자기 자신을 %profile%\application data\Random.exe형태의 랜덤 이름으로 복사/레지스트리 등록/실행을 하고 새로운 프로세스에 대해서도 변조를 하기 때문에 안전모드에서 해당 파일을 삭제하면 치료가 가능하다. 따라서 감염된 상태에서 탐지를 위해 User-mode에서의 inline patch를 대응하기 위해 주요 API에 대한 메모리 검사와 같은 조치가 필요할 것이다.

 

그 외 악성행위 부분은 다음을 참고

http://www.bitdefender.com/VIRUS-1000651-en--Backdoor-IRCBot-Dorkbot-A.html

'악성코드 상세분석 > BOT' 카테고리의 다른 글

Koobface 악성코드 분석  (0) 2010.10.18
  Comments,     Trackbacks

Koobface 악성코드 분석

파일명

setup02220.exe 또는ld32.exe (숫자는 버전을 뜻함)

탐지명

V.TRJ.Koobface.gen

주요 행동

C&C 서버의 명령에 따라 다른 악성코드를 다운로드하여 실행시킨다.

 

실행 순서는 다음과 같다.


파일 전반적으로 리버싱을 방해하는 요소가 많이 있는데 대표적인 것이 Garbage Code이다.

Garbage

+



위에 그림 가운데 있는 게 Garbage code이고 실제 사용되어질 문자열은 중간중간에 나뉘어져 있다. 이것을 다시 메모리에서 조합하여 사용한다.


정해진 규칙에 따라 Command stream을 해석하여 victim PC에서 수행한다.


분석시 확인 핛 수 있었던 명령은 총 6개로, V32에서 적용되는 것으로 보이며 아래와 같은 역할을 한다.
① WAIT : 60000ms(1분) 갂 대기
② BASEDOMAIN : 명령 수행을 목표로핚 도메인을 추가(추정)
③ UPDATE : 새로운 버젂의 setup파일(“%temp%\okoup_%d.exe”)을 다운로드하고 실행
④ STARTONCE : 특정(주로 SNS를 목표로핚) 파일(“%temp%\zpskon_%d.exe”)을 다운로드하고 실행
⑤ FFSTART : %Program Files%\Mozilla Firefox\ftemp.exe(악성)을 다운로드하고 실행
⑥ START : 특정 파일(“%temp%\rar_%d.exe”)을 다운로드하고 실행

'악성코드 상세분석 > BOT' 카테고리의 다른 글

Backdoor.ngrbot  (0) 2012.12.26
  Comments,     Trackbacks