1 장 정적 분석의 기본 기술
악성 코드 분석 전투
Michael Sikorski Andrew Honig,
Zhuge Jianwei, Jiang Hui 및 Zhang Guangkai
악성 코드 샘플 다운로드
머리말-전제 조건-멀웨어 샘플 다운로드 링크 :
https://practicalmalwareanalysis.com/
1. Labs를 클릭합니다
. 2. 다운로드를 클릭합니다.
참고 : 자동 압축 풀림 아카이브와 실험실이 포함 된 암호화 된 7-zip 파일을 제공합니다. 비밀번호 "Malware"
참고 : 자동 압축 풀기 아카이브와 랩, 암호 "malware"가 포함 된 암호화 된 7 개의 zip 파일을 제공합니다 .
3. ZIP 다운로드를 클릭합니다.
1.1 안티 바이러스 엔진 검사
VirusTotal 웹 사이트 :
https://www.virustotal.com/
1.2 해시 값
MD5 온라인 암호화 :
https://www.sojson.com/hash.html
1.3 문자열 찾기
문자열 프로그램 :
http://technet.microsoft.com/enus/sysinternals/bb897439
https://docs.microsoft.com/zh-cn/sysinternals/downloads/strings
1.4 악성 코드 압축 및 난독 화
UPX 도구 :
http://upx.sourceforge.net/
UPX는 여러 실행 파일 형식을위한 무료, 이식 가능, 확장 가능한 고성능 실행 파일입니다.
1.5PE 파일 형식
1.6 링크 라이브러리 및 기능
종속성 워커 도구 :
http://www.dependencywalker.com/
msvcrt.dll Baidu Encyclopedia
https://baike.baidu.com/item/msvcrt.dll/10968059
msvcrt.dll은 Windows 운영 체제 (Microsoft Visual C Runtime Library)에서 Microsoft가 제공하는 C 언어 런타임 라이브러리 실행 파일입니다. printf, malloc, strcpy 등과 같은 C 언어 라이브러리 함수의 특정 작업 구현을 제공하고 C / C ++ (Vc)로 컴파일 된 프로그램에 대한 초기화 (명령 줄 매개 변수 획득 등) 및 종료 함수를 제공합니다.
1.7 정적 분석 기술의 실제 전투
1.8 PE 파일 헤더 및 섹션
1. PEview를 사용하여 PE 파일 분석
2. ResourceHacker 도구를 사용하여 리소스 섹션
http://www.angusj.com/ 보기
3. 다른 PE 파일 도구 사용
PEBrowse Professional :
http://www.smidgeonsoft.prohosting.com/ pebrowsepro -file-viewer.html
PE Explorer (유료) :
http://www.heaventools.com/
Lab1-1
실험 제목 :이 실험은 Lab01-01.exe 및 Lab01-01.dll 파일을 사용합니다.
질문 :
1. 분석을 위해 파일을 https://www.virustotal.com/에 업로드하고 보고서를 봅니다. 파일이 기존 안티 바이러스 소프트웨어의 서명과 일치합니까?
2.이 파일은 언제 컴파일 되었습니까?
이 두 파일의 편집 날짜는 2010 년 12 월 19 일입니다.
Lab01-01.dll 2010-12-19 16:16:38
Lab01-01.exe 2010-12-19 16:16:19
3.이 두 파일에 압축되거나 혼동되는 징후가 있습니까? 그렇다면이 표지판은 어디에 있습니까?
압축 된 소프트웨어를 감지하는 한 가지 방법은 PEiD 도구를 사용하는 것입니다.
PEiD는 일반적으로 .dll 및 .exe의 컴파일 환경을 감지하며 EP 세그먼트는 일반 .text입니다.
따라서이 두 파일은 압축되거나 혼동되는 흔적을 보이지 않습니다.
4. 가져온 기능이이 악성 코드의 기능을 보여줍니까? 그렇다면 가져온 함수는 무엇입니까?
Lab01-01.dll의 가져 오기 기능은 CreateProcess 및 Sleep이며,이 파일은 네트워킹 기능을 제공하는 WS2_32.dll의 기능을 가져옵니다.
P14 : Wsock32.dll 및 Ws2_32.dll은 네트워킹 DLL입니다. 이들 중 하나에 액세스하는 프로그램은 네트워크에 연결하거나 네트워크 관련 작업을 수행 할 가능성이 높습니다.
Lab01-01.exe의 가져 오기 기능은 FindFirstFile, FindNextFile 및 CopyFile이며, 이러한 가져 오기 기능은이 프로그램이 파일 시스템을 검색하고 파일을 복사하고 있음을 알려줍니다.
P17 : FindFirstFile 및 FindNextFile 함수가 제공하는 기능은 디렉토리의 모든 파일을 검색하는 것이므로 특히 주목할 가치가 있습니다.
5. 감염된 시스템에서 찾을 수있는 다른 파일이나 호스트 기반 징후가 있습니까?
C : \ Windows \ System32 \ kerne132.dll을 확인하여 추가 악성 활동을 찾으십시오. 문자 l 대신 숫자 1을 사용하는 kernel132.DLL 파일은 시스템 파일 kernel32.dll과 비슷합니다. 이 파일은 악성 코드 감염의 징후로 호스트를 검색하는 데 사용될 수 있습니다.
P436 상세 분석 프로세스 : C : \ Windows \ System32 \ kernel32.dll 및 C : \ Windows \ System32 \ kerne132.dll (문자 l 및 숫자 1의 변경), kernel132.dll 파일은 분명히 Windows 인 것처럼 가장하고 싶어합니다. 시스템 파일 kernel32.dll. 따라서 kernel132.dll은 호스트 기반의 신호로 악성 코드 감염 여부를 파악할 수 있으며 악성 코드 분석시주의해야 할 단서입니다.
6. 감염된 컴퓨터에서이 악성 코드를 찾는 데 사용할 수있는 네트워크 기반 징후가 있습니까?
7.이 파일의 목적이 무엇인지 추측하십시오.
.dll 파일은 백도어 일 수 있습니다.
.exe 파일은 DLL 파일을 설치하고 실행하는 데 사용됩니다
P3 : 백도어 : 악성 코드가 컴퓨터에 스스로 설치되어 공격자가 액세스 할 수 있습니다. 백도어 프로그램은 일반적으로 공격자가 인증이 거의 또는 전혀없이 원격 컴퓨터에 연결하고 로컬 시스템에서 명령을 실행할 수 있도록합니다.
진지함은 태도이자 책임이기도합니다