《恶意代码分析实战》--第一章:静态分析基础技术

**请参考大神的链接:https://blog.csdn.net/baidu_41108490/article/details/80298973#commentBox
Lab1-1
这里我只是记录我的学习过程**

2、用PEtools打开,查看日期
.exe
这里写图片描述
.dll
这里写图片描述
发现.exe和.dll两个文件的编译时间只相差了19秒

4,用dependency walker工具打开
这里写图片描述
这里写图片描述
从图中可以看出恶意代码执行了一些文件操作行为。创建文件(CreateFileA),查找文件(FindFirstFileA,FindNextFileA),复制文件(CopyFileA),创建内存映射对象(CreateFileMappingA)。dll文件创建进程执行程序(CreateProcess),创建互斥量(CreateMutexA,OpenMutexA),联网(WS2_32.dll)等行为。

CreateMutex:作用是找出当前系统是否已经存在指定进程的实例。如果没有则创建一个互斥量。如果成功,返回互斥体对象的句柄;0表示出错。
OpenMutex:为现有的一个已命名互斥体对象创建一个新句柄。若成功,返回对象的句柄;零表示失败。

小知识:什么是互斥量
互斥量是一个可以处于两态之一的变量:加锁和解锁。

ws2_32.dll是windows sockets应用程序接口,用于支持Internet和网络应用程序。Windows和需要执行TCP/IP网络通信的应用程序会调用动态链接库ws2_32.dll。如果它不可用,则计算机将连接不到外部网络。

5、用IDA打开exe
这里写图片描述
发现两个kernel32.dll有着细微的差别,其中一个是kerne132.dll。可以推测恶意程序劫持了kernel32.dll,结合第4点推测它可能查找一个可执行文件。

这个文件可以用来在主机作为恶意代码感染的迹象进行搜索。

6、IDA打开.dll
这里写图片描述

结合ws2_32.dll推测它可能链接到这个IP地址,获取exec命令来运行一个程序,一个sleep是用于命令后门程序进入休眠模式。

Lab1-2
2、用PEID打开判断是否加壳
这里写图片描述
发现加壳了……下面进行脱壳。

首先,用ESP定律法找到程序入口点(回顾一下这个方法)
1)用OD打开,单步F7
2)观察此时esp的值,右键->数据窗口跟随
3)在数据窗口右键下硬件访问断点。
4)F9运行,再单步几步就到OEP处了。
这里写图片描述
这里写图片描述

下面进行脱壳,我直接用插件OllyDump脱壳
这里写图片描述
或者用LordPE dump,再用ImportREC修复即可。

再次用PEID检测,没有壳了
这里写图片描述

3、用IDA打开,打开Imports栏
这里写图片描述

4、查看字符串
这里写图片描述
一个Malservice服务的名称,一个链接,可以通过监视网络流量检查被恶意代码感染的主机。

Lab1-3
2、用PEID检测发现是FSG壳
这里写图片描述

脱壳(手动脱不了FSG1.0的壳/(ㄒoㄒ)/~~)

Label1-4
2、没加壳
3、用PEtools查看时间,发现是个不可信时间
这里写图片描述

4、用IDA打开,查看导入表
这里写图片描述

5、恶意代码创建的程序
这里写图片描述

6、将资源文件用Resource Hacker打开,发现是一个.exe程序
这里写图片描述

提取出来保存成.exe文件,再用IDA打开,查看字符串,可以看到一个链接,推测wupdmgrd.exe程序是从这个链接下载得到的……(并不能实现????)

猜你喜欢

转载自blog.csdn.net/qq_15727809/article/details/82663138
今日推荐