# Malware File Name : MaxRootkit_2011_1.ex
# 분석환경
- Windows XP SP3 x86
- Ubuntu x64
1. 초기분석
1.1 안티바이러스 스캐닝 ( VirusToTal)
[ 그림 1 ] MaxRootkit_2011_1.ex Virustotal 안티바이러스 스캐닝 결과 (진단 결과)
- Trojan / Rootkit / Downloader 등으로 진단
- 위와 같은 내용을 통해서, 루트권한을 획득한 공격자가 피해자의 PC에 악성코드를 은폐시키고, 추가적인 악성코드를 다운받는 식의 행위가 예상된다.
[ 그림 2 ] MaxRootkit_2011_1.ex Virustotal 안티바이러스 스캐닝 결과 - File detail 정보
- import DLL (ADVAPI32.dll / KERNEL32.dll / RPCRT4.dll / WS2_32.dll / ntdll.dll)
- 일반적으로 모든 프로그램은 Ntdll.dll 과 Kernel32.dll 을 사용
- Ntdll.dll 은 윈도우가 부팅되면서 커널 메모리 영역을 사용할 수 있게끔 해주는 역할
- WS2_32.dll 은 윈도우 소켓을 구동할 때 사용 (TCP or UDP 통신을 예상할 수 있음)
- RPCRT4.dll 의 uuidcreatesequential 함수는 랜카드의 MAC 주소를 얻는 함수
- Ntdll.dll 의 zwQueryKey 함수등을 보아, 레지스트리 부분도 변화가 있을 것으로 예상
# 공통 DLL 설명 -
DLL |
설명 |
Kernel32.dll |
메모리, 파일, 하드웨어 접근과 조작과 같은 핵심 기능을 담은 빈번히 공통으로 사용하는 DLL 이다. |
Advapi32.dll |
이 DLL을 이용하면 서비스 관리자나 레지스트리 같은 추가 핵심 윈도우 컴포넌트에 접근할 수 있다. |
User32.dll |
이 DLL은 버튼, 스크롤바, 그리고 사용자 행위 제어와 반응 컴포넌트 등 모든 사용자 인터페이스 컴포넌트를 담고 있다. |
Gdi32.dll |
이 DLL은 그래픽 보기와 조작 관련 함수를 담고 있다. |
Ntdll.dll |
이 DLL은 윈도우 커널 인터페이스다. 항상 간접적으로 Kernel32.dll를 통해 임포트 하지만, 실행 파일은 일반적으로 이 파일을 직접 임포트할 수 없다. 실행 파일이 이 파일을 임포트한다면 이는 작성자가 윈도우 프로그램에 일반적으로 허용된 기능으로 사용하지 않는다는 의미다. 기능을 숨기거나 프로세스를 조작하는 등의 특정 작업에 이 인터페이스를 이용한다. |
WSock32.dll / Ws2_32.dll |
이는 네트워킹 DLL이다. 이를 이용하는 프로그램은 네트워크에 연결하거나 네트워크 관련 작업을 수행할 가능성이 높다. |
Wininet.dll |
이 DLL은 FTP, HTTP, 그리고 NTP 같은 프로토콜을 구현한 상위 수준의 네트워크 함수를 담고 있다. |
[ 출처 : 실전 악성코드와 멀웨어 분석 ]
[ 그림 3 ] MaxRootkit_2011_1.ex Virustotal 안티바이러스 스캐닝 결과 - 추가 정보
1.2 PEview
[ 그림 4 ] PEview - Resource Section 데이터 부분
- PEview 를 이용하여, 살펴보면서 의심가는 부분 확인
- Resource Section 부분에서 XML 코드가 발견
1.3 Bintext
[ 그림 5 ] Bintext 이용 String 추출 - (1)
- HTTP Request Message 확인
[ 그림 6 ] Bintext 이용 String 추출 - (2)
- XML 코드 발견
- 자세하진 않지만 구글링을 통하여 대략적인 XML 코드 분석 [ 그림 7 ] 참고
- 아래부분엔 winlogon.exe 등 레지스트리 관련 유니코드들도 발견
[ 그림 7 ] XML 코드 분석
- 해당 XML 파일은 Visual 이용하여 프로그램을 만들때, 사용되는 Manifest 파일로 추정된다.
- Manifest 파일이 뭐냐하면, 간단하게 말하면 프로그램이 어떤 환경에서 동작할지를 명시한 파일이라고 한다.
- 구글링을 통하여 코드를 분석해 본 결과, 어떠한 프로그램을 실행할 때, 현재 사용자 권한에서 가능한 최고의 권한을
부여받아 실행하도록 하는 그러한 코드로 생각된다. (이 부분은 여기까지 해놓고, 다른 단서를 찾으면 매칭시켜봐야할듯)
- Manifest 설명 링크 : http://www.samlogic.net/articles/manifest.htm
1.4 PEID Packing Check
[ 그림 8 ] PEID Packing Check
- PEID 패킹 여부 확인은 "userdb.txt"라는 파일에 기존에 발견되었던 시그니처 모음을 가지고, 비교하여 확인하는 알고리즘이다.
- 참고로, PEID에서 제공하는 "userdb.txt" 보다, Python peframe 이라는 모듈에서 제공하고 있는 "userdb.txt"의 시그니처가
더욱 많다. (사용자들이 계속 추가하는데 업데이트가 잘되는 듯)
- 따라서, 패킹 여부는 시그니처 기반으로 체크하기 때문에, 100% 신뢰할 수 없다. 참고만 해보자.
2. 동적분석
2.1 Winalysis 이용 - 시스템 변경 사항을 확인 ( 레지스트리, 파일 등 )
[ 그림 9 ] MaxRootkit_2011_1.exe 실행전 시스템 Snapshot
[ 그림 10 ] MaxRootkit_2011_1.exe 실행후 실행전 시스템 Snapshot과 비교
- 실행 후, File, 레지스트리, 서비스 부분에서 시스템 변경 사항이 있다는 것을 확인할 수 있었다.
[ 그림 11 ] MaxRootkit_2011_1.exe 실행후 파일 시스템 변경 사항
- MaxRootkit 악성실행 전 후의 Snapshot 비교 결과 파일 부분에서 변경사항이 있었다. 일단 첫 번째로는 "C:\Malware" 디렉터리이다.
- 실행시킨후 해당 악성코드 파일이 삭제된 것을 확인 할 수 있었다.
[ 그림 12 ] MaxRootkit_2011_1.exe 실행후 레지스트리 변경 사항
- 레지스트리 관련하여 어떠한 값들이 삭제되고 변경된 것을 확인할 수 있다.
- 마지막 부분을 보면 레지스트리를 생성한 것도 확인이 되었다.
[ 그림 13 ] MaxRootkit_2011_1.exe 실행후 생성된 레지스트리
- HKLM\SOFTWARE\Classes\Interface\ 위치에 새롭게 생성된 레지스트리인데, 어떠한 기능을 하는지 감이 안온다.
왜 이 레지스트리를 생성했는가, 확인을 해보아야 할 것 같다. 그리고 ( u = 131075 ) 값이 무슨 의미를 하는지도 궁금하다.
[ 그림 14 ] MaxRootkit_2011_1.exe 실행후 Services 변경 사항
- Windows Installer 서비스를 Stop, Shutdown
- Microsoft Kernel Wave Audio Mixer 서비스를 Stop
2.2 SysinternalsSuite RootkitRevealer 이용 - Rootkit 탐지
[ 그림 15 ] MaxRootkit_2011_1.exe 실행전 RootkitRevealer 이용 Rootkit 탐지 결과
- RootkitRevealer 도구는 SysinternalsSuite 패키지 안에 포함되어 있는 도구중 하나로 루트킷을 탐지하는 유틸리티이다.
- 악성코드 실행전 탐지된 결과는 위와 같다. 위에서 발견된 2가지 항목은 오진된 것으로 판단된다. (정상적인 행동을 하는 것으로 판단)
- Windows Sysinternals Forum Page 참고 http://forum.sysinternals.com/rkr-171-and-hklmsecuritypolicysecrets_topic8882.html
[ 그림 16 ] MaxRootkit_2011_1.exe 실행후 RootkitRevealer 이용 Rootkit 탐지 결과
- 앞에서 새롭게 생긴 레지스트리가 Rootkit으로 탐지된 것을 확인할 수 있다.
- 설명부분에 "Security mismatch" 라고 되어 있는데, 확실하게 무엇을 뜻하는지 아직 잘 모르겠다. 나중에 다시 참고하도록 하자.
# 상세분석에 있어서 어려움이 많아서, 해당 악성코드 파일 분석을 중단했습니다.
# 참고 했던 페이지들
- 관리자 권한으로 실행되는 Exe,Dll 만들기
http://lunaticlina.tistory.com/category/My%20Work/C/C++,%20%20Win32,%20MFC?page=10
- Manifest 설명
http://www.samlogic.net/articles/manifest.htm
- Sysinternals RootkitRevealer 관련내용
http://forum.sysinternals.com/rkr-171-and-hklmsecuritypolicysecrets_topic8882.html
'0x00 > 0x02 Malware' 카테고리의 다른 글
- 실전 악성코드와 멀웨어 분석 Chap.1 [실습 1-3] (0) | 2015.03.09 |
---|---|
- 실전 악성코드와 멀웨어 분석 Chap.1 [실습 1-2] (0) | 2015.02.10 |
- 실전 악성코드와 멀웨어 분석 Chap.1 [실습 1-1] (0) | 2015.02.09 |
- 악성코드 분석 환경 구축 (VMware) (0) | 2015.01.23 |
- 악성코드의 유형 (0) | 2014.10.28 |