前几天晚上闲来无事,朋友给了我一个445批量工具,可能有后门程序,让我分析一下。经过分析我发现后门位于dll文件中,抓鸡大牛们要小心了。
0×01 分析过程
文件结构如下:
程序的运行过程很简单,运行bat文件,就是扫描445端口,然后利用eternalblue攻击,再加载payload的dll文件。那么后门在哪呢?
在这个dll文件中,大鱼吃小鱼。好,分析一下这个dll文件,没加壳。看下dll入口函数:
这是dllmain函数:
我们可以看到调用了sub_10001160()这个函数,跟一下看看:
这是什么意思呢?增加账号可以理解,下边的Sleep,WinExec这是要干什么?我们让程序sleep,接着执行c:\users\m.exe这个文件。这个m.exe是怎么来的,可以看到上边有个调用sub_100001020(),跟进去看一下:
从这个网站上下载xzz.exe文件,然后再执行,看看这个网站有什么东西。
东西不少,下载xzz.exe分析一下。首先释放如下文件,并执行这些文件。
反编译888.exe,发现,888.exe从资源CPP里读取文件,写入到磁盘里,名字是随机数字的dll,就是图中的5586317.dll,也是老思路了。
利用dll加载工具,首先加载运行dll文件,之后创建文件并运行w3wp.exe。
利用w3w.exe加载5586317.dll,创建服务。
反编译5586317.dll,可以看到动态加载各种dll,动态调用函数,免杀常用手段。
创建系统服务,名字是w3wp,描述为Microsoft Corporationot。发起网络连接,远控反弹。
反弹到8881端口w3wp.exe发起的,反弹到6543端口是svchost.exe*32发起的。
可以看到svchost也加载了5586317.dll文件 ,另一个svchost加载了Mick.exe文件。
反编译Mick.exe,简单分析一下。发现这个程序在c盘根目录记录了log,也写入了服务,反弹端口。
|