关于远控木马你应该了解的知识点 远程控制木马

远程控制木马(关于远程控制木马你应该知道的知识点)
“遥控木马”这个词总感觉很有年代感 。作为安全行业的菜鸟,最初的启蒙是分析各种遥控器的受控端 , 了解这类恶意代码从行为到流量的发展变化 。远程控制木马的分析在网上随处可见 。所以本文从个人角度总结了一些对远程控制木马的认识,可能有所欠缺 。欢迎交流学习 。
从控制端熟悉远程控制木马的功能 。
我第一次接触远程控制木马的时候,大概用过上百个远程控制软件的客户端 。知道一个远程控制木马的功能,最直接的方法就是使用它 。下面以GH0ST的美化版为例:
控制终端的界面功能非常清晰 。首先要做的是生成一个受控终端的程序 。通常,您可以设置在线IP/域名/网址等 。,选择kill还是shell,选择进程注入、服务启动等驻留模式 。有些遥控器可以设置密码对传输的数据进行加密,选择不同的图标等 。:
这里,选择一个XP虚拟机作为演示的受控端 。受控端运行生成的exe程序后 , 可以在界面中看到主机 。Wireshark可用于捕获受控终端的在线流量 。Gh0st远程控制的特点是TCP流量会包含GH0ST online字符串,后面是Zlib压缩的主机信息数据:
选择用于Gh0st远程控制的snort的以下规则:
alert tcp $HOME_NET any -> $EXTERNAL_NET any ( msg:"MALWARE-CNC Win.Trojan.Gh0st variant outbound connection"; flow:to_server,established; content:"Gh0st",depth 5; content:"|00 00 00|",within 3,distance 1; content:"|00 00 78 9C|",within 4,distance 2; metadata:impact_flag red,policy balanced-ips drop,policy security-ips drop,ruleset community; reference:url,virustotal.com/en/file/a4fd37b8b9eabd0bfda7293acbb1b6c9f97f8cc3042f3f78ad2b11816e1f9a59/analysis/1425053730/; classtype:trojan-activity; sid:27964; rev:5; )
Gh0st的流量具有非常典型的特征 。很多遥控器其实都是Gh0st源码改的,所以一般格式都不一样 。一段识别码+Zlib压缩数据(你怎么知道是Zlib?zlib压缩的头标是\x78\x9c),通过这个特性可以在流量端检测到这些远程控制或者分析流量数据,这是目前大多数IDS/态势感知产品使用的方法之一 。
在控制端,你可以看到联机的主机,然后执行一系列的操作 。基本上 , 你可以在受控端做任何你想做的事情:
通过逆向理解远程控制木马
如果说使用它可以直观的了解远程控制木马的功能,那么逆向分析就是了解这些功能是如何实现的(当然源代码分析也是一种方法) 。下面是最近抓取的一个远程控制DLL文件,作为例子简单分析一下 。发现此DLL文件时,它正在作为服务运行:
ServiceMain先注册了一个窗口类“TOXHJ MYLOVE” , 可耻,这个名字公然告诉大家我是木马:
然后创建一个线程,遍历整个流程 , 找到软件查杀:
然后注册服务,即在故障排除开始时看到正在运行的服务程序:
解密C&C服务器的域名“as3421363.vicp.cc”,与域名进行通信 , 其中使用的API都是动态地址:
网络常用的几个API,如gethostbyname、connect、recv等 。:
获取主机信息,通常包括磁盘、cpu、网卡、系统版本、安装的安全软件等信息 。在此示例中 , 数据也由zlib压缩并发送:
接收控制端的命令,解析命令并执行相应的操作,粗略看一下远程控制木马支持的操作如文件操作、远程桌面、摄像头监控、键盘录音、录音、进程操作、远程CMD等 。:
如果想知道每个功能的具体实现 , 可以具体分析一下 。但一般在野生样本被捕获后,控制终端已经失去联系,通过动态调试无法运行相应的操作 。如果有兴趣,可以自己生成一个受控终端,使用同一个网段的两个虚拟机进行动态调试 。
为了分析远程控制木马的在线流量,这里修改了主机文件,捕获了在线包 。可以看到数据段的结构和Gh0st很像,只是logo改成了Xjjhj,然后拼接压缩后的主机信息,heartbeat packet也直接用了logo字符串:
远程控制木马的开发
事实上,通过以上简单的分析 , 我们可以看出,传统的远程控制木马虽然功能丰富,但也存在一些缺陷:
1.协议单一 , 通常使用TCP协议传输数据,没有加密或加密算法很容易被解密;
2.系统具有单一驻留模式,如自启动、服务启动等 。 , 容易被察觉;
3.木马文件特点强,功能多,导致文件大 , 容易被检测 。
传统的远程控制木马在攻击中的隐蔽性不够,所以现在衍生出很多新的木马技术,比如注入、无文件、反沙盒、强迷惑、动态解密、反调试等手段层出不穷 。在通信协议中,HTTPS和DNS隐蔽通道也被用来传输数据 , 其功能趋于简化,更有针对性,甚至没有交互,数据传输频率极低,已经演变成一种混合型木马 。

推荐阅读