【原创】“白加黑”远控木马深度剖析
本帖最后由 kangkai 于 2014-8-31 12:37 编辑〇、前言
远程控制木马至始至终是恶意软件家族中极为重要的成员之一。重要的原因是完全可以远程控制沦为肉鸡的电脑,一旦成功控制了沦为肉鸡的电脑,木马作者则可以对这台电脑为所欲为,正因功能的强大,远控木马久杀不绝,依然活跃于整个互联网。今天分析的此类远控木马,可以追溯的13年,早在13年就利用此种方式躲避安全软件的拦截就出现了,最近更是甚嚣尘上,通过游戏、邮件等方式大肆的传播
一、木马原理简介
该类木马采用“白加黑”的组合方式,利用系统文件rundll32.exe去启动黑的dll文件,然后通过通过dll文件去读取相关的加密远控核心代码文件。木马作者精心构造了一个巧妙的启动方式,想方设法的躲避安全软件的拦截
二、详细分析
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的主要恶意代码从导出表开始,来到导出表处
2)来到callnigula.100011C0处,F7进入该call
来到100013F5处,通过CreateDirectoryA函数新建一个目录,目录路径为: Path = "C:\Users\Administrator\AppData\Roaming\ajojhpje"
3)在10001421处,通过函数lstrcpyA将字符串ajojhpje复制到内存地址0012F1B0处,为复制加密文件dat到指定目录并修改名称为ajohpje.exe做准备
4)在1000175处,复制dat文件到指定目录,并修改名称为ajojhpje.exe
5)在10001447处,通过函数CopyFileA和lstrcatA,将nigula.dll复制到指定目录C:\Users\Administrator\AppData\Roaming\ajojhpje并修改名称为ywqusblom.dll
6)接下来就是为复制007.dat文件通过CopyFileA函数,将007.dat复制到指定目录C:\Users\Administrator\AppData\Roaming\ajojhpje
7)接下来就是通过CreateFileA和ShellExecuteA函数打开并执行ajojhpje.exe来执行后面的操作
3. 对ajojhpje.exe的分析
1)OD载入ajojhpje.exe,来到callajojhpje.0040827C,F7进入这个call,进来后,就有一个loopd循环,感觉这个loopd没什么大的作用
2)接着往下走,又是一个循环语句,该循环语句是获取自己想要的函数,为后面的行为做相应的准备
3)在004084F1处会通过CreateFileA函数来打开007.dat文件,F7步入call dword ptr ds:
4)在00408568处,有一个ReadFileA函数读取007.dat文件,读取的大小为0xA20字节,读取到内存缓冲区0012F2A0处 在00408579处对读取的这段shellcode进行解密,从解密的结果来看,没有什么作用
5) 接着往下走,来到0012F47D处,发现又调用了CreateFileA函数来打开007.dat文件,并允许进行读访问。F7进入该call
6) 来到0012F4CEcall eax,调用了ReadFileA,再次读取007.dat,保存到缓冲区002CBB08C处,读取的大小为0x21A47字节
7)来到缓冲区002CBB08数据窗口处,接着往下走,在0012F393到0012F3B0处,有一个异或loopd循环,是对读取刚刚读取的那段大小为0x21A47的一个解密过程。解密完成后,通过数据窗口,可以发现,解密后的数据位PE文件,其实这段PE文件才是真正的远控文件,它才是罪魁祸首
8)将解密后的数据dump出来后,OD接着往下走,接着通过函数VirtualAlloc申请大小0x24000为的内存空间,申请的大小与解密的数据大小差不多,可能是装载解密后的数据
4. 对解密后dump出来的PE文件简要分析
1)首先遍历当前进程,如果存在kxescore.exe和ZhuDongFangYu.exe进程,则调用sleep函数,则挂起1500ms
2)文件自带了一个远程地址和通过微博来获取远程地址
3)执行行远程操作,例如关机、关闭桌面句柄以及一些列桌面操作,这些都是远控基本的一些操作
三、后话
1) 仅作技术分享,没有任何其它意思2)互联网安全形势依然严重,各种安全威胁、新型的攻击层出不穷,所谓道高一尺魔高一丈,这给安全厂商带来了极大的挑战;黑色产业链将长期并以手法越来越高明的形式存在于各个空间层3)水平有限,大牛们飘过吧4) 附件为dump出来的远控PE文件,真正的罪魁祸首
沙发是我的:lol 板凳是我的 看着很牛逼的感脚。。 沙发板凳都没有了。。。 虽然看不懂,好像很牛的样子 多谢分享,占楼 不明白,但觉厉!
很牛逼的赶脚! 膜拜下大神,小白路过。