动静态结合分析过程
特征字符串:kernel32和kerne132(注意是小写字母l和数字1)
程序在运行的时候要带一个参数运行~常量字符串~
这里CreateFile的功能是打开某个目录下的文件
看到main的最后几行代码,调用了函数4011E0,且参数是C:\*
IDA对4011E0的分析,看到了标志性API函数:FindFirstFile和FindNextFile。知道4011E0是对C盘下的文件进行地毯式搜索
当找到某个文件是以后缀.exe结尾的,调用4010A0处理
4010A0的功能没有分析出来,只看到了个标记字符0x4550(PE文件的magic)
静态分析差不多了,先运行下文件试试看
但是在机器上搜索不到kerne1.dll,这就很奇怪
用OD调试下
说明传参成功,程序可以往下继续执行
注意这里两个文件的Access字段不一样,一个是0x10000000,另一个是0x80000000
然后就是main里面一顿不知道在干什么的操作(先跳过)
知道是在找文件,不知道具体要对文件进行怎么样的操作
然后呢,可以从C:\windows\system32\中找到kerne132.dll这个假冒的dll
问题1:如何实现持久化驻留
在OD中调试运行之后,可以发现kerne132.dll仍然在系统目录之中问题2:基于主机的特征
第一个:kerne132.dll
第二个:打开0703.dll分析,有个mutex
Name:SADFHUHF
问题3:程序目的
A:修改系统dll:kerne132.dll
B:地毯式搜索C盘文件
C:后门运行
问题4:如何移除恶意程序
A:删除kerne132.dll
B:~~~不知道
PLUS
书后答案分析:
Q1:通过写一个DLL到system32,并修改系统上每一个导入它的exe文件,来到达持久化驻留
(这里就是说明了4011E0的函数作用啊~找到每一个exe的,修改其DLL)
这里可以跟着去尝试一下
在C盘根目录去放一个exe文件,然后执行恶意代码,查看dll
所以,这个恶意代码的功能还是有点强大的
想要完整删除这个恶意代码很难,想要把C盘下所有的exe文件都恢复成导入kernel32很麻烦
Q3、Q4:可能还是有后门,连接到远程主机