动静态结合分析过程


特征字符串: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

https://hunted.codes/writeups/challenges/practical-malware-analysis/practical-malware-analysis-lab-7-3/

书后答案分析:

Q1:通过写一个DLL到system32,并修改系统上每一个导入它的exe文件,来到达持久化驻留

(这里就是说明了4011E0的函数作用啊~找到每一个exe的,修改其DLL)

这里可以跟着去尝试一下

在C盘根目录去放一个exe文件,然后执行恶意代码,查看dll

所以,这个恶意代码的功能还是有点强大的

想要完整删除这个恶意代码很难,想要把C盘下所有的exe文件都恢复成导入kernel32很麻烦

Q3、Q4:可能还是有后门,连接到远程主机