您的位置 首页 其他新闻

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

远控木马这个词说起来总觉得很有年代感,作为一枚安全行业菜鸟,最初的启蒙就是分析各类远控的被控端,从行为到流量去了解这一类恶意代码的发展变化。网上对于远控木马的分析比比皆是,因此本文从个人的角度出发,总结了一下对于远控木马的一些理解,可能有所欠缺,欢迎交流学习。

从控制端熟悉远控木马的功能

在最早接触到远控木马的时候,我大概使用过上百种远控软件的客户端,要了解一个远控木马的功能,最直接的方式就是使用一下,这里找了一个美化版的GH0ST来作为示例:

控制端的界面功能十分清晰,首先要做的就是生成一个被控端程序,通常可以设置上线IP/域名/URL等,选择是否免杀、加壳,选择进程注入、服务启动等驻留方式,有的远控可以设置密码对传输的数据进行加密,选择不同的图标等:

图片2.png

这里选择一台XP虚拟机来作为演示的被控端,在被控端运行生成的exe程序后,就能在界面看到主机。使用wireshark抓包可以看到被控端上线流量,GH0ST远控的特点就是在TCP流量中会包含Gh0st上线字符串,后面拼接Zlib压缩的主机信息数据:

微信截图_20190613171644.png

以下选取了一条snort针对Gh0st远控的规则:

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/142505373
0/; classtype:trojan-activity;    sid:27964; rev:5; )

Gh0st的流量具有非常典型的特征,很多远控其实都是通过Gh0st源码改的,所以大致的格式都差不都,一段标识码+Zlib压缩的数据(怎么知道是zlib呢?zlib压缩的头部表示是\x78\x9c),通过这个特性,可以在流量侧对这些远控进行检测或解析流量数据,这也是目前大多数IDS/态势感知产品所用到的方法之一。

在控制端可以看到上线主机,然后进行一系列操作,基本上可以在被控端上随心所欲了:

通过逆向了解远控木马

如果说通过使用能够直观的了解远控木马功能,那么逆向分析就是了解这些功能如何实现(当然,源码分析也是一种方法)。下面是最近捕获到的一枚远控DLL文件,简单分析了一下正好作为例子。这枚DLL文件被发现的时候是作为服务在运行:01.jpg

02.png

ServiceMain首先注册了一个窗口类“TOXHJ MYLOVE”,汗颜,这名字堂堂正正的告诉大家,我就是个木马:

图片4.png

随后创建线程,遍历进程查找杀软:

图片5.png

随后注册服务,也就是最开始排查时看到正在运行的服务程序:

微信截图_20190614103853.png

解密出C&C服务器的域名”as3421363.vicp.cc”,与该域名进行通信,其中所使用到的API都是动态获取地址的:

图片6.png

网络行为通常会用到的几个API,gethostbyname、connect、recv等:

图片7.png

获取主机信息,通常包括磁盘、cpu、网卡、系统版本、安装的安全软件等信息,在这个样本中,也是使用zlib压缩数据后进行发送的:

图片8.png

接收控制端指令,解析指令后执行对应的操作,粗略看了一下有文件操作、远程桌面、摄像头监控、键盘记录、音频记录、进程操作、远程CMD等远控木马所支持的操作:

图片9.png

如果要了解每种功能的具体实现,还可以再细致的分析,不过一般在野的样本捕获到以后,控制端已经失联了,动态调试运行不到对应的操作,如果有兴趣可以自己生成一个被控端,利用两台同网段的虚拟机来动态调试。

为了分析一下该远控木马的上线流量,这里修改了host文件,抓取了上线包,可以看到数据段的结构跟Gh0st十分相似,只不过标识改为了Xjjhj,然后拼接压缩的主机信息,并且心跳包也是直接使用了标识字符串:

微信截图_20190614154324.png

远控木马的发展

其实通过以上的简单分析可以看到,传统远控木马虽然功能丰富,但存在一些缺陷:

1.协议单一,通常使用TCP协议传输数据,没有加密或加密算法容易被解密;

2.系统驻留方式单一,自启动、服务启动等,容易被检测;

3.木马文件特征性强,且功能多导致文件大,容易被检测。

传统的远控木马在攻击中已经不够隐蔽了,因而现在衍生出很多新的木马技术,注入、无文件、反沙箱、强混淆、动态解密、反调试等手段层出不穷,在通信协议上也开始使用HTTPS、DNS隐蔽信道等方式传输数据,功能也趋于简单化,更有针对性,甚至可能不进行交互,数据传输频率极低等,已演变成混合型木马。

不过,无论技术手段如何发展,只要是通过网络传输数据,就一定会留下痕迹,还有很多未知的东西等待我们去发现。

*本文作者:深信服千里目安全实验室

文章来自freebuf

免责声明:若文章为网络转载内容,则文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

谷歌浏览器默认为用户连接HTTPS网站而非HTTP网站

谷歌浏览器默认为用户连接HTTPS网站而非HTTP网站

基于安全考虑谷歌浏览器多年前开始就致力于推动整个互联网迁移到加密网络,即使用数字签名加密网络间流量。 目前全球大多数网站...
VRRP原理与配置 – 简述VRRP的作用及工作原理

VRRP原理与配置 – 简述VRRP的作用及工作原理

VRRP(虚拟路由冗余协议):通过把几台路由设备联合组成一台虚拟路由设备,将虚拟路由设备的ip地址作为用户的默认网关地址...
工信部等三部门发布《网络产品安全漏洞管理规定》 自9月1日起施行

工信部等三部门发布《网络产品安全漏洞管理规定》 自9月1日起施行

据工信部网站7月13日消息,工信部、国家网信办、公安部发布通知,将《网络产品安全漏洞管理规定》(以下简称《规定》)予以发...
CVE-2019-14287(Linux sudo漏洞)分析

CVE-2019-14287(Linux sudo漏洞)分析

sudo 被爆光一个漏洞,非授权的特权用户可以绕过限制获得特权。官方的修复公告请见:https://www.sudo.w...

F12sec安全团队招新

加入要求 对威胁情报、WEB安全、移动安全、IOT、二进制等任意一项有过经验且感兴趣在校大学生或网络安全从业者无黑灰产背...
返回顶部