恶意代码分析实战第一章(一)

第一章静态分析基础技术


恶意代码分析实战

Michael Sikorski Andrew Honig 著
诸葛建伟 姜辉 张光凯 译

恶意代码样本下载

前言-先决条件-恶意代码样本下载链接:
https://practicalmalwareanalysis.com/
1.点击Labs
恶意代码分析实战第一章(一)
2.点击Download
NOTE: We provide a self-extracting archive and an encrypted 7-zip file containing the labs.The password “malware”.
注:我们提供自提取存档和包含实验室的加密 7 zip 文件,密码"恶意软件"
恶意代码分析实战第一章(一)
3.点击Download ZIP
恶意代码分析实战第一章(一)

1.1反病毒引擎扫描

VirusTotal网站:
https://www.virustotal.com/

1.2哈希值

MD5在线加密:
https://www.sojson.com/hash.html
恶意代码分析实战第一章(一)

1.3查找字符串

Strings程序:
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链接库与函数

Dependency Walker工具:
http://www.dependencywalker.com/

msvcrt.dll百度百科
https://baike.baidu.com/item/msvcrt.dll/10968059
msvcrt.dll是微软在windows操作系统中提供的C语言运行库执行文件(Microsoft Visual C Runtime Library),其中提供了printf,malloc,strcpy等C语言库函数的具体运行实现,并且为使用C/C++(Vc)编译的程序提供了初始化(如获取命令行参数)以及退出等功能

1.7静态分析技术实战

1.8PE文件头与分节

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,访问其中任何一个DLL的程序非常可能连接网络,或是执行网络相关的任务。

恶意代码分析实战第一章(一)
恶意代码分析实战第一章(一)
Lab01-01.exe导入函数是FindFirstFile、FindNextFile和CopyFile,这些导入函数告诉我们,这个程序在搜索文件系统和复制文件。
P17:FindFirstFile和FindNextFile函数是特别值得关注的,因为它们提供的功能是搜索一个目录下所有的文件。

恶意代码分析实战第一章(一)

5.是否有任何其他文件或基于主机的迹象,让你可以在受感染系统上查找?
检查C:\Windows\System32\kerne132.dll来发现额外的恶意活动。请注意,文件kerne132.DLL,用数字1代替了字母l,是为了看起来像是系统文件kernel32.dll。这个文件可以用来在主机作为恶意代码感染的迹象进行搜索。
P436详细分析过程:C:\Windows\System32\kernel32.dll和C:\Windows\System32\kerne132.dll(字母l和数字1的变化),kerne132.dll文件显然是想将自己冒充混淆为Windows的系统文件kernel32.dll。因此kerne132.dll可以作为一个基于主机的迹象来发现恶意代码感染,并且是我们分析恶意代码所需要关注的一个线索。

6.是否有基于网络的迹象,可以用来发现受感染机器上的这个恶意代码?
7.你猜这些文件的目的是什么?
.dll文件可能是一个后门
.exe文件是用来安装与运行DLL文件的
P3:后门:恶意代码将自身安装到一台计算机来允许攻击者访问。后门程序通常让攻击者只需很少认证甚至无需认证,便可连接到远程计算机上,并可以在本地系统执行命令。

认真是一种态度更是一种责任

上一篇:Linux系统扩容-新增文件系统 详细图文教程


下一篇:小甲鱼.md