远程控制木马始终是恶意软件家族中的一个重要成员。之所以说重要,是因为他不像盗号木马、下载者、蠕虫之类的恶意软件那样功能相对单一。远程控制木马的功能就是“控制”,一旦成功控制了受害者的机器,这类木马几乎是为所欲为的。
这正因为如此,远程控制类的木马一直是黑客手中的利器和宠儿。经过多年的演变,不断的变种、无数的分支,虽久杀却不绝。今天我就介绍一例360安全中心刚捕获不久的最新远控木马变种。
长什么样?
当然,木马什么样子都有,没有哪个木马会在自己脑门上贴个标签写上“木马”俩字……而我们今天分析的这个远控木马是如下的样子:
看下这几个文件:
- bbs.bmp是个隐藏的图片文件,对于病毒本身而言没有任何作用,只是一个障眼法——病毒会打开这张图片给用户,让用户以为自己打开的就是个图片而已。
- gldat是真正意义上的病毒主体,我们稍后会说
- logmain.dll的主要工作是用来调用病毒主体的,稍后也会提到
- BMP1和BMP2是两个lnk文件(快捷方式),我们知道bmp的图片是隐藏的,gldata连扩展名都没有,dll文件虽然是可执行 程序,但双击也是没用的。所以用户自然会在如此精心的安排下点击这两个lnk文件。其中BMP2主要功能是将病毒主题添加到系统自启动,命令行如下:
C:\WINDOWS\system32\rundll32.exe advpack.dll,LaunchINFSectionEx %appdata%\gbrztmip\gbrztmip.inf,DefaultInstall,,32
而我们要重点说的则是这个名为BMP1的lnk文件,一切罪恶的行为都是从这个lnk文件开始的……
都干啥了?
BMP1其实很简单,一个快捷方式而已,他要解决的问题其实只有一个——整个病毒里没有exe文件,而dll文件又不能直接自己运行。所以这个快捷方式的唯一作用就是调用系统的rundll32去执行dll文件:
C:\WINDOWS\system32\rundll32.exe logmain.dll,gbrztmip
下面要看的就是logmain.dll中的这个gbrztmip函数是干什么的了。
启动时候,函数会判断自己的当前目录,如果不在%APPDATA%下就会进入一个首次启动的模式:
- 在%APPDATA%目录下创建一个名为“gbrztmip”的目录
- 将自身(logmain.dll)复制到该目录下重命名为“bxipndlhm.dll”,同时将核心的gldat文件也复制过来。
- 生成一个gbrztmip.inf文件,配合之前提到的BMP2,做开机自启动之用:
[Version]
Signature=”$CHICAGO$”
Provider=t@t.com, 2002
[DefaultInstall]
; DelReg=run_DelReg
AddReg=run_AddReg
[run_DelReg]
[run_AddReg]
hkcu,”Software\Microsoft\Windows\CurrentVersion\Run”,”Update”,,”rundll32.exe “”C:\Documents and Settings\Administrator\Application Data\gbrztmip\Bitgbrztmip.dll””,gbrztmip”
[Strings]
而这之后病毒会重新调用系统的rundll32来执行复制过去的病毒文件——bxipndlhm.dll,此时才是真正的作恶开始。
到底干啥了?
我上面也提到了,dll文件只是一个中间调度,所以他要做的第一个动作就是打开在他身边的gldat文件
后面的事情顺理成章——打开文件,获取大小,申请一段内存,将文件内容读了进去……没错,gldat文件中存放的是一段shellcode,也正是远控木马的核心代码。
加载到内存中的shellcode会用两个key做两次解码:
解码函数大志如下:
两次解码过后,最终结果已经很明朗了,PE格式已经非常清晰了:
shellcode已经解出,那远控的上线信息也已经摆在这里了:
上线地址是183.***.***.232的IP,而上面那个t.qq.com/do******27则是一个备用地址——当IP无法连接时,木马会到该微博的页面上获取最新的上线IP
这微薄……呵呵~挺萌的。哪买的?能卖不?
怎么传出的?
本想说说远程控制部分,但这部分也确实是乏善可陈,收集数据和控制部分代码完全是拿的开源的远控代码稍作修改的,相比分析也是一抓一把,没必要再重复了。
倒是值得说说他发送的上线数据包:
近 看前两行,非常想是HTTP的POST请求(路径部分诡异了些……),而后面拼凑的CONTENT-LENGTH和CONTNT-TYPE中甲网络加换行 了,后面又续了一段400 Bad Request的相应页面HTML代码……大杂烩啊……而真正的远控上线数据,则只有我上图中圈出的部分。编码和加密的部分不说,但看明文,用红圈圈出的 三处也明显能看到我的系统版本、机器名、当前日期已经被发送出去了。
最后呢?
照例上拦截图
其实协议上做伪装这条路一开始就选错了,你可以把一种协议伪装成另一种协议,但不管哪种协议,只要是在作恶,就难逃一杀。
同时也提醒广大用户注意,网上下载或通过聊天工具传输过来的所谓“装备图”或“贸易单”一类的文件,打开之前一定要加倍小心。
转自:http://www.myhack58.com/Article/html/3/8/2014/53068_3.htm
转载请注明:jinglingshu的博客 » 远控木马伪造通信协议一例