Practical Malware Analysis 1-1
실습 1-1
실습 환경 : Vmware (windows 7 32 bit)
사용한 툴 : IDA free 5.0, PEiD, PE View
[01] http://www.VirusTotal.com/에 에 파일을 업로드한 후 보고서를 보자. 기존 안티바이러스 시그니처에 일치하는 파일이 존재하는가?
Lab01-01.dll과 Lab01-01.exe 모두 시그니처가 존재하였다.
[02] 이 파일은 언제 컴파일됐는가?
PE View로 파일을 열어서 IMAGE_FILE_HEADER를 살펴보면 Time Date Stamp에 컴파일된 시간이 나와 있다. Lab01-01.dll파일은 2010/10/19 16:16:38에 컴파일되었고 Lab01-01.exe파일은 2010/10/199 16:16:19에 컴파일되었다.
[03] 이 파일이 패킹되거나 난독화된 징후가 있는가? 그렇다면 무엇으로 판단했는가?
PEiD를 사용하여 두 파일을 열어본 결과 패킹되어있지 않은 것으로 보이고 난독화된 징후도 보이지 않았다.
[04] 임포트를 보고 악성코드 행위를 알아낼 수 있는가? 그렇다면 어떤 임포트인가?
IDA free를 사용하여 Lab01-01.dll 파일을 열어보니 임포트 함수에서 CreateProcessA 함수와 Sleep 함수를 확인할 수 있었고 프로세스를 생성하는 것을 볼 수 있었다. 그리고 WS2_32.dll을 사용하는 것을 확인할 수 있었고 네트워크 기능을 사용하고 있음을 알 수 있다.
Lab01-01.exe 파일을 열어보니 FindFirstFile 함수와 FineNextFile 함수 그리고 CopyFile 함수 등을 확인할 수 있었다. 이 함수들을 사용하여 디렉터리 내의 파일을 검색하고 파일을 열어 조작한다는 것을 추측할 수 있었다.
[05] 감염된 시스템에서 검색할 수 있는 다른 파일이나 호스트 기반의 증거가 존재하는가?
Lab01-01.exe 파일을 Ida free로 연 뒤에 string을 살펴보니 C:\windows\system32\kernel32.dll과 C:\windows\system32\kerne123.dll을 확인할 수 있었고 분석을 해보니 아마 kernel32.dll과 lab01-01.dll을 CreateFile함수로 연 뒤에 MapViewOfFile함수로 메모리에 매핑하고 CopyFile함수로 Lab01-01.dll을 kerne123.dll(kernel32 에서 l을 1로 바꿈)로 복사하는 것 같으니 호스트 기반의 감염 징후로 사용할 수 있다.
[06] 감염된 장비에서 이 악성코드를 발견하기 위해 사용한 네트워크 기반의 증거는 무엇인가?
Lab01-01.dll 파일을 Ida free로 연 뒤에 string을 살펴보니 127.26.152.13이라는 값을 찾을 수 있었다. 이 파일이 127.26.152.13이라는 로컬 IP주소를 참조한다는 의미임으로 네트워크 기반의 증거로 사용할 수 있다.
[07] 이 파일의 목적은 무엇이라고 판단했는가?
Lab01-01.dll 에서 확인한 CreateProcess함수와 Sleep은 백도어에서 흔히 사용하는 함수라고 한다. 위에서 확인한 Lab01-01.dll 문자열에서 exec도 확인할 수 있는데 이 exec문자열은 CreateProcess를 이용하여 실행한 백도어 명령어를 네트워크로 보낼 때 사용하는 것 같고 sleep 문자열은 백도어 프로그램을 재우는 명령어로 사용하는 것 같다.