1. 분석환경
1.1. 분석 환경
l Windows 10 l Windows XP (vmware) |
1.2. 분석 도구
정적 분석 | l Virustotal l PEID l Dependency Walker l BinText |
1.3. 분석 샘플
Practical Malware Analysis Labs - Lab01-01.exe & Lab01-01.dll |
1.4. 질문
- 파일을 http://www.VirusTotal.com/에 업로드하고 보고서를 확인하십시오. 기존의 안티바이러스 시그니처와 매치되는 파일이 있나요?
- 이 파일들이 언제 컴파일되었는지 알 수 있습니까?
- 이 파일 중 어떤 것이 패킹되거나 난독화되었는지 나타내는 표시가 있습니까? 있다면, 이 표시는 무엇인가요?
- 어떤 import가 이 악성코드의 기능을 나타내는지 확인할 수 있습니까? 그렇다면, 어떤 import 인가요?
- 감염된 시스템에서 찾을 수 있는 다른 파일이나 호스트 기반 표시가 있나요?
- 이 악성코드를 감염된 기기에서 찾기 위해 사용할 수 있는 네트워크 기반 표시가 무엇인가요?
- 이 파일들의 목적은 무엇인 것으로 추정하겠습니까?
2. 분석 과정
2.1. 파일을 http://www.VirusTotal.com/에 업로드하고 보고서를 확인하십시오. 기존의 안티바이러스 시그니처와 매치되는 파일이 있나요?
Virustotal에 lab01-01.exe 와 lab01-01.dll을 업로드한 결과는 다음과 같다.
Lab01-01.exe의 경우 72개 중 54개의 엔진에서 악성코드라 진단했다.
Lab01-01.dll의 경우 71개 중 44개의 엔진에서 악성코드라 진단했다.
2.2. 이 파일들이 언제 컴파일되었는지 알 수 있습니까?
컴파일 시간은 PEview 또는 virustotal에서 확인할 수 있다.
Lab01-01.exe 는 2010-12-19 16:16:19 UTC에 컴파일되었다.
Lab01-01.dll 은 2010-12-19 16:16:38 UTC에 컴파일되었다.
두 파일은 30초 간격으로 거의 비슷한 시간에 컴파일되었음을 알 수 있다.
2.3. 이 파일 중 어떤 것이 패킹되거나 난독화되었는지 나타내는 표시가 있습니까? 있다면, 이 표시는 무엇인가요?
PEID 또는 exeinfope 프로그램을 이용하여 패킹여부를 확인할 수 있다.
Lab01-01.exe는 패킹되어 있지 않았다.
Lab01-01.dll 또한 패킹되어 있지 않다.
2.4. 어떤 import가 이 악성코드의 기능을 나타내는지 확인할 수 있습니까? 그렇다면, 어떤 import 인가요?
Lab01-01.exe
FindFirstFileA, FindNextFileA, FindClose : 파일 검색 함수
CreateFileA, CopyFileA :파일 생성, 복사 함수
Lab01-01.dll
CreateProcessA : 프로세스를 생성한다.
Sleep : 실행을 지정된 시간 동안 지연시킨다. 즉 일시 중지 시킨다.
WS2_32.dll : 네트워크 연결을 위한 동적 라이브러리
2.5. 감염된 시스템에서 찾을 수 있는 다른 파일이나 호스트 기반 표시가 있나요?
C:windows:system32 경로에 kernel32.dll과 유사한 kerne132.dll 파일이 생성된 점을 알 수 있다.
※ Lab01-01.exe를 평범하게 실행해서는 kerne132.dll이 생성되지 않는다.
Ida에서 해당 사실을 확인할 수 있다. 특정 파라미터를 넘겨주지 않으면, 바로 프로그램이 종료됨을 알 수 있다.
위와 같이 WARNING_THIS_WILL_DESTROY_YOUR_MACHINE 문자열을 파라미터로 입력해야만 kerne132.dll이 생성된다.
2.6. 이 악성코드를 감염된 기기에서 찾기 위해 사용할 수 있는 네트워크 기반 표시가 무엇인가요?
BinText를 통해 lab01-01의 문자열을 확인해 본다.
네트워크 연결을 위한 WS2_32.dll과 통신 대상으로 예상되는 ip주소 127.26.12.13가 확인된다.
2.7. 이 파일들의 목적은 무엇인 것으로 추정하겠습니까?
Kernel32.dll과 유사한 이름을 가진 kerne132.dll을 생성한 다음 통해 프로세스를 생성하고 지연시켜 악성 프로그램에 대한 탐지를 피한다. 결과적으로 127.26.12.13와 통신을 하는 백도어로 추정된다. Exec로 공격자가 원하는 문자열의 코드를 실행시키도록 한다.