1、申 请 I D:Diste
2、个人邮箱:diste@qq.com3、原创技术文章:“白加黑”多文件木马逆向解析
〇、前言
远程控制木马至始至终是恶意软件家族中极为重要的成员之一。重要的原因是完全可以远程控制沦为肉鸡的电脑,一旦成功控制了沦为肉鸡的电脑,木马作者则可以对这台电脑为所欲为,正因功能的强大,远控木马久杀不绝,依然活跃于整个互联网。 今天分析的此类远控木马,可以追溯的13年,早在13年就利用此种方式躲避安全软件的拦截就出现了,最近更是甚嚣尘上,通过游戏、邮件等方式大肆的传播
一、木马原理简介
该类木马采用“白加黑”的组合方式,利用系统文件rundll32.exe去启动黑的dll文件,然后通过通过dll文件去读取相关的加密远控核心代码文件。木马作者精心构造了一个巧妙的启动方式,想方设法的躲避安全软件的拦截
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3DBB.tmp.png 二、详细分析
1. 先来看看BMP1、BMP2两个快捷方式,其实这两个快捷方式都是经过变形的rundll.exe
BMP1的目标:C:\Windows\system32\rundll32.exenigula.dll,ajojhpje BMP2的目标: dows\system32\rundll32.exeadvpack.dll,LaunchINFSectionEx%appdata%\ajojhpje\ajojhpje.inf,DefaultInstall,,32
因为logmain.dll无法自己或者通过用户双击去启动,所以作者就利用了BMP1来启动logmain.dll文件,这也是BMP1的作用所在
BMP2通过调用LaunchINFSectionEx函数读取释放的.inf文件,以达到开机启动的目的
2. 对nigula.dl分析,这个dll文件只是一个过渡,并非真正的远控文件
1.首先分析nigula.dll文件,nigula.dll的主要恶意代码从导出表开始,来到导出表处
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3DCC.tmp.png
2.来到callnigula.100011C0处,F7进入该call
来到100013F5处,通过CreateDirectoryA函数新建一个目录,目录路径为: Path = "C:\Users\Administrator\AppData\Roaming\ajojhpje"
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3DCD.tmp.png
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3DDE.tmp.png
3. 在10001421处,通过函数lstrcpyA将字符串ajojhpje复制到内存地址0012F1B0处,为复制加密文件dat到指定目录并修改名称为ajohpje.exe做准备
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3DDF.tmp.png
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3DEF.tmp.png
4.在1000175处,复制dat文件到指定目录,并修改名称为ajojhpje.exe
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3DF1.tmp.png
5.在10001447处,通过函数CopyFileA和lstrcatA,将nigula.dll复制到指定目录C:\Users\Administrator\AppData\Roaming\ajojhpje并修改名称为ywqusblom.dll
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E02.tmp.png
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E03.tmp.png
6.接下来就是为复制007.dat文件通过CopyFileA函数,将007.dat复制到指定目录C:\Users\Administrator\AppData\Roaming\ajojhpje
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E04.tmp.png
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E14.tmp.png
7.接下来就是通过CreateFileA和ShellExecuteA函数打开并执行ajojhpje.exe来执行后面的操作
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E15.tmp.png
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E38.tmp.png 3. 对ajojhpje.exe的分析
1.OD载入ajojhpje.exe,来到callajojhpje.0040827C,F7进入这个call,进来后,就有一个loopd循环,感觉这个loopd没什么大的作用
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E39.tmp.png
2.接着往下走,又是一个循环语句,该循环语句是获取自己想要的函数,为后面的行为做相应的准备
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E49.tmp.png
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E4A.tmp.png
3.在004084F1 处会通过CreateFileA函数来打开007.dat文件,F7步入call dword ptr ds:[esi+0x10]
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E4B.tmp.png 4.在00408568处,有一个ReadFileA函数读取007.dat文件,读取的大小为0xA20字节,读取到内存缓冲区0012F2A0处 在00408579处对读取的这段shellcode进行解密,从解密的结果来看,没有什么作用
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E4C.tmp.png
5. 接着往下走,来到0012F47D处,发现又调用了CreateFileA函数来打开007.dat文件,并允许进行读访问。F7进入该call
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E5D.tmp.png
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E5E.tmp.png
6. 来到0012F4CE call eax,调用了ReadFileA,再次读取007.dat,保存到缓冲区002CBB08C处,读取的大小为0x21A47字节
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E5F.tmp.png
7.来到缓冲区002CBB08数据窗口处,接着往下走,在0012F393到0012F3B0处,有一个异或loopd循环,是对读取刚刚读取的那段大小为0x21A47的一个解密过程。解密完成后,通过数据窗口,可以发现,解密后的数据位PE文件,其实这段PE文件才是真正的远控文件,它才是罪魁祸首
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E6F.tmp.png
8.将解密后的数据dump出来后,OD接着往下走,接着通过函数VirtualAlloc申请大小0x24000为的内存空间,申请的大小与解密的数据大小差不多,可能是装载解密后的数据
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E70.tmp.png
4. 对解密后dump出来的PE文件简要分析
1.首先遍历当前进程,如果存在kxescore.exe和ZhuDongFangYu.exe进程,则调用sleep函数,则挂起1500ms
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E81.tmp.png
2.文件自带了一个远程地址和通过微博来获取远程地址
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E92.tmp.png
3.执行行远程操作,例如关机、关闭桌面句柄以及一些列桌面操作,这些都是远控基本的一些操作
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3E93.tmp.png
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3EA3.tmp.png
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3EB4.tmp.png
|