Notice : 해당 자료가 저작권등에 의해서 문제가 있다면 바로 삭제하겠습니다.
연구목적으로 사용하지 않고 악의적인 목적으로 이용할 경우 발생할 수 있는 법적은 책임은 모두 본인에게 있습니다.
실전 악성코드와 멀웨어 분석 – 1장 기초 정적분석 실습 1-1
실전 악성코드와 멀웨어 분석 – 1장 기초 정적분석 실습 1-2
실전 악성코드와 멀웨어 분석 – 1장 기초 정적분석 실습 1-3
실전 악성코드와 멀웨어 분석 – 1장 기초 정적분석 실습 1-4
실전 악성코드와 멀웨어 분석 – 3장 기초 동적 분석 실습 3-1
실전 악성코드와 멀웨어 분석 – 3장 기초 동적 분석 실습 3-2
실전 악성코드와 멀웨어 분석 – 3장 기초 동적 분석 실습 3-3
실전 악성코드와 멀웨어 분석 – 3장 기초 동적 분석 실습 3-4
실습문제 다운로드 받는 곳 : http://nostarch.com/malware
실습 1-4
Lab01-04.exe 파일을 분석하라.
질문
1. http://www.virustotal.com 에 Lab01-04.exe 파일을 업로드하자. 기존 안티바이러스에 정의된 것과 일치하는가?
A : 38개의 백신에서 악성코드로 탐지되었다. 대부분의 백신이 Trojan 또는 Downloader 등의 명칭으로 진단한다.
2. 이 파일이 패킹되거나 난독화된 징후가 있는가? 그렇다면 무엇으로 판단했는가? 파일이 패킹되어있고 가능하다면 언패킹해보자
A : 패킹되어있지 않다.
3. 이 파일은 언재 컴파일 되었는가?
A : 2019/08/30 22:26:59 UTC 으로 조작된 것으로 보인다.
4. 임포트를 보고 악성코드의 기능을 알아낼 수 있는가? 그렇다면 어떤 임포트를 보고 알수 있었는가?
A : 파일을 기록(CreateFileA, WriteFile)하고, 실행(WinExec)시키는 API가 존재하고, 리소스를 찾고(FindResourceA), 로드(LoadResource) 하는 API등을 볼 수 있다. 또한 ADVAPI32.DLL 에서는 AdjustTokenPrivileges, LookupPrivilegeValueA, OpenProcessToken 등의 API를 볼수 있고, 권한관련 API으로 보인다.
5. 감염된 시스템에서 악성코드를 인식하는데 어떤 호스트 기반이나 네크워크 기반의 증거를 사용했는가?
A : !This program cannot be run in DOS mode. 부분이 2번 나오는 것으로 보아 두개의 실행파일이 존재하는 것으로 보이며, \system32\wupdmgr.exe, \system32\wupdmgrd.exe 등의 파일명이 보이고, URL(http://www.practicalmalwareanalysis.com/updater.exe)도 하나 보인다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
D:\DATA\...\Chapter_1L>strings Lab01-04.exe Strings v2.51 Copyright (C) 1999-2013 Mark Russinovich Sysinternals - www.sysinternals.com !This program cannot be run in DOS mode. ... CloseHandle OpenProcess GetCurrentProcess CreateRemoteThread GetProcAddress LoadLibraryA WinExec WriteFile CreateFileA SizeofResource LoadResource FindResourceA GetModuleHandleA GetWindowsDirectoryA MoveFileA GetTempPathA KERNEL32.dll AdjustTokenPrivileges LookupPrivilegeValueA OpenProcessToken ADVAPI32.dll _snprintf MSVCRT.dll _exit _XcptFilter exit __p___initenv __getmainargs _initterm __setusermatherr _adjust_fdiv __p__commode __p__fmode __set_app_type _except_handler3 _controlfp _stricmp winlogon.exe <not real> SeDebugPrivilege sfc_os.dll \system32\wupdmgr.exe %s%s BIN #101 EnumProcessModules psapi.dll GetModuleBaseNameA psapi.dll EnumProcesses psapi.dll \system32\wupdmgr.exe %s%s \winup.exe %s%s BIN !This program cannot be run in DOS mode. ... GetWindowsDirectoryA WinExec GetTempPathA KERNEL32.dll URLDownloadToFileA urlmon.dll _snprintf MSVCRT.dll _exit _XcptFilter exit __p___initenv __getmainargs _initterm __setusermatherr _adjust_fdiv __p__commode __p__fmode __set_app_type _except_handler3 _controlfp \winup.exe %s%s \system32\wupdmgrd.exe %s%s http://www.practicalmalwareanalysis.com/updater.exe D:\DATA\...\Chapter_1L> |
6. 이파일은 리소스 색션에 하나의 리소스가 있다. Resource Hacker 를 이용해 리소스를 점검하고 리소스를 추출해보자. 리소스로부터 무엇을 알수 있는가?
A : Resource Hacker 에서 열어보니 MZ 으로 시작되는 시그니쳐를 확인할 수 있었다.
Action > Save resource as a binary file 을 선택해서 Lab01-04.res 으로 저장한다.
추출한 Lab01-04.res 파일을 PEiD으로 확인..
그리고 임포트하는 함수도 확인해보니, GetTempPathA, GetWindowsDirectoryA, WinExec 등의 API를 확인할 수 있고,
URLMON.DLL에서는 URLDownloadToFileA API도 확인할 수 있다