** 실전 악성코드와 멀웨어 분석에 나오는 연습문제를 공부할 겸 풀이한 것입니다.
1-1 이 실습은 Lab01-01.exe와 Lab01-01.dll 파일을 사용한다.
1. http://www.VirusTotal.com에 파일을 업로드한 후 보고서를 보자. 기존 안티바이러스 시그니처에 일치하는 파일이 존재하는가?
<Lab01-01.exe 파일 업로드 결과>
파일이 이미 분석되었습니다.
This file was last analysed by VirusTotal on 2017-07-11 04:53:15 UTC (5시간, 14분 ago) it was first analysed by VirusTotal on 2012-02-16 07:31:54 UTC.
탐지 비율: 37/64
안티바이러스 | 결과 |
AegisLab | Troj.Rogue.Gen!c |
AhnLab-V3 | Trojan/Win32.Agent.C957604 |
<Lab01-01.dll 파일 업로드 결과>
파일이 이미 분석되었습니다.
This file was last analysed by VirusTotal on 2017-07-11 03:52:26 UTC (6시간, 18분 ago) it was first analysed by VirusTotal on 2011-07-04 19:57:48 UTC.
탐지 비율: 26/63
안티바이러스 | 결과 |
AegisLab | Troj.Dldr.Waski!c |
ALYac | Trojan.Agent.Waski |
2. 이 파일은 언제 컴파일했는가?
Lab01-01.dll 파일은 2010/12/19 16:16:38 UTC
Lab01-01.exe 파일은 2010/12/19 16:16:19 UTC
3. 이 파일이 패킹되거나 난독화된 징후가 있는가? 그렇다면 무엇으로 판단했는가?
Microsoft Visual C++ 6.0 으로 컴파일 되었으며 별도의 패킹은 되어있지 않다.
4. 임포트를 보고 악성코드 행위를 알아낼 수 있는가? 그렇다면 어떤 임포트인가?
Lab01-01.exe 에서 kernel32.dll의 임포트를 확인해보면 FindFirstFile과 FindNextFile뿐 아니라 파일을 열고 조작하는 함수를 볼 수 있다.
이 함수를 통해 악성코드가 파일 시스템을 탐색하고 파일을 열고 수정한다는 사실을 알 수 있다.
무슨 검색인지 알 수 없지만, exe 문자열은 공격 대상 시스템에서 실행 파일을 검색하는 기능을 암시한다.
kernel32.dll 에서 임포트 하는 흥미로운 함수는 sleep, CreateProcess 이며, 이는 흔히 백도어에 사용이 된다.
이 함수는 exec와 sleep과 조합하면 흥미로워지는데, exec 문자열은 CreateProcess를 이용한 프로그램을 실행한 백도어 명령어를 네트워크상으로 보내고 sleep 문자열은 백도어 프로그램을 잠재우는 명령어로 사용할 것이다.
5. 감염된 시스템에서 검색할 수 있는 다른 파일이나 호스트 기반의 증거가 존재하는가?
SECTION .data 쪽을 확인해보면 (C:\Windows\System32\Kernel32.dll)
kernel32.dll 의 문자 l을 숫자 1로 바꿔 kernel32.dll 시스템 파일처럼 보이게 의도했다.
이 파일은 악성코드를 탐지할 때 호스트 감염 징후로 사용할 수 있다.
6. 감염된 장비에서 이 악성코드를 발견하기 위해 사용한 네트워크 기반의 증거는 무엇인가?
Lab01-01.dll 파일의 SECTION .data(문자열) 을 확인해보면 로컬 IP 주소 127.26.152.13을 참조한다.
이 주소에 있는 프로그램은 악의적인 목적이 아닌 교육용이다.
실제 악성코드 였다면 IP 주소는 라우팅이 가능하고, 이 악성코드를 인지할 수 있는 주요 네트워크 기반의 감염 징후로 사용할 수 있을 것이다. (exec sleep 함수도 보인다!!)
7. 이 파일의 목적은 무엇이라고 판단했는가?
.dll 파일은 백도어일 것이다. .exe 파일은 DLL을 설치하거나 실행하는 데 사용한다.
'악성코드분석(리버싱)' 카테고리의 다른 글
1장 연습문제 1-3 (0) | 2017.07.13 |
---|---|
1장 연습문제 1-2 (0) | 2017.07.13 |
윈도우 공통 DLL (0) | 2017.07.13 |
PE 헤더 내 정보 (0) | 2017.07.13 |
윈도우 실행 PE 파일 영역 (0) | 2017.07.13 |