【技术分享】如何通过主动威胁识别方式发现远程访问木马

https://p0.ssl.qhimg.com/t01b9837f07f534922a.jpg

翻译:興趣使然的小胃

预估稿费:200RMB

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿


一、前言

如果我们能持续不断地将已知的远程访问木马(remote access trojan,RAT)控制端的位置融合到当前的防御工作流程以及检测技术中,那么这项工作肯定能发挥很大的作用,它可以与内部遥感技术相结合,自动识别潜在的已感染主机。但对整个行业而言,这项工作更深层次的价值在于能够了解隐藏在每个RAT后面的对手,从而降低安全风险。

对潜在对手归因溯源显然是非常困难但又非常值得的,因为我们可以根据对手的动机推测其使用的具体方法,这种情况下,探索攻击者的能力及基础设施就会成为我们的附属战利品。我们可以使用许多好方法取得归因结果,其中之一就是开发一套原始的归因方法。在本文中,我们详细介绍了主动式互联网服务枚举方法,利用该方法识别出包括njRat以及Dark Comet在内的木马程序。


二、背景

远程访问木马(RAT)[1]是具备丰富功能的控制端(或服务端)软件套装,攻击者可以使用RAT,以隐蔽方式(正如其名)以及未授权方式访问受害者的计算机。攻击者通常会出于恶意目的,使用RAT录制受害者主机上的音频、视频以及键盘敲击动作、窃取文件以及展开其他恶意行为[2]。

即使商用的RAT原作者被逮捕后,许多攻击者(特别是犯罪分子以及国家级攻击者)还是会继续使用这些RAT开展攻击活动[3]。国家级攻击者经常使用诸如Poison Ivy[4]以及类似RAT开展攻击行动,因为这些RAT易于配置、可重复使用度较高,并且这些RAT仍然是对抗杀毒软件的有效工具。这种情况对于独裁政权尤为明显,他们会使用RAT在国境内搜捕政治异见人士[5]。

犯罪分子之所以使用RAT,是因为使用这类工具的技术门槛很低,可以通过免费的互联网获取如何有效操作RAT的相关指南[6],这些指南内容包括如何对RAT进行封装或加密以躲避杀毒软件;如何通过RAT控制多个受害者;以及如何建立基础设施[9](如动态DNS,DDNS[10])以获得长期的控制权。

与传统的僵尸网络(botnet)不同的是,我们通常会将安装在受害主机上的商用RAT文件(可执行文件)称之为“server”(服务端,可以通过各种方式进行传播),而将RAT控制者主机上的文件称之为“client”(客户端)或者“controller”(控制端)。

根据以往的历史,安全社区通常会依赖主动式恶意软件收集技术来识别RAT族群及动向。样本来源包括客户遥感技术、蜜罐以及恶意软件处理及聚合服务(如VirusTotal)。虽然这些资源非常有用,但我们难以使用这些资源快速及主动识别特定RAT族群的所有的活跃实例。此外,企业所能够依赖主要是的被动反应形式的衍生结果,最多只能取得与恶意软件样本源一样好的结果。

如今,威胁情报团队依然依赖于处理大批量的恶意软件样本来推导出恶意软件的攻击指示器(indicators of compromise,IOCs),从而在防御技术中生成检查恶意软件的新规则。这种方法在部分场景下仍然有效,但需要依赖大量的计算资源以及互联网资源,才能处理安全厂商每天收集的数以万计的恶意样本。现在的问题是,即便是实力强大的反病毒公司,也面临大量日常样本所带来的挑战。

解决的办法是使用主动式和迭代式大规模互联网枚举(扫描)技术,这种技术使企业能够识别匹配具有特定RAT签名的主机,这些主机在快速归因攻击者方面可能会起到直接作用。

之前我们通过主流的恶意软件资源(如VirusTotal以及#totalhash)无法发现许多RAT操作者的地理位置,现在我们使用这种扫描方法就可以达到这个目标。此外,许多RAT控制端位于家用ISP(互联网服务提供商,Internet Service Provider)的子网中,我们有可能通过这类IP地址发现RAT操作者的物理位置。


三、原始情报收集方法

当Nmap[11]是互联网扫描的唯一可选项时(并且在缺少自定义异步多线程扫描器的程序编写时),大规模的互联网扫描显得有点不切实际。随着Unicorn Scan[12]的发布,以及最近Zmap[13]和MASSCAN[14]的发布,我们可以使用一台联网设备在相对较短的时间内(以分钟计),完成互联网全部IPv4地址空间的枚举。除了探测开放端口,这些工具还可以返回守护进程的banner(指纹)信息,这些信息对识别RAT控制端来说非常有用。端口扫描工具通常是用于识别和统计对互联网开放的特定服务,在行政执法以及技术防御方面,使用这类工具来识别和描述RAT都能起到非常大的作用。

如果我们往RAT控制端所监听的端口发送合适的请求,那么RAT就会返回特定的响应(或字符串)。我们不会在这个报告中涉及RAT相关的特殊签名,以免增加此报告的篇幅,但特定签名的确是识别RAT族群的直接方法。在某些情况下,即使通过最基本的TCP三次握手[15]过程,我们也能发现某个RAT控制端的响应数据。独有的响应数据就是一个指纹信息,我们可以根据这个信息发现某台可疑主机上是否正在运行某个RAT控制端(或控制面板)。因此从本质上来说,RAT控制端以及控制者都是存在弱点的,因为他们通常是在开放的互联网上操作,并且在接受合适的请求后会返回独特的响应字符串。

为了描述某一个RAT族群,我们需要收集相关的样本以及(或者)完整的数据包。幸运的是,有很多安全研究人员无私地公开了用来生成相应的网络数据包[16]的恶意代码(及恶意软件)。

通过已捕获的数据包,我们可以分析RAT控制端的响应数据,通过这些数据生成指纹信息,这些指纹信息随后可以与互联网扫描器配合使用,用来识别RAT控制端的实时实例,在某些情况下,也能识别RAT操作者的家庭IP地址以及大致的地理位置。

比如,某个非常流行的RAT在接收HTTP GET方法后会返回一内容为“0”的响应包。

http://p3.qhimg.com/t01c89ec418e4c5da71.png

使用MASSCAN工具,枚举巴勒斯坦的一个/20子网,我们发现某台主机的1177端口的指纹特征与之相符。

http://p9.qhimg.com/t01d2fdb8b7e51d0c40.png

与之类似的是,枚举阿尔及利亚的一个/16子网,我们可有发现有多台主机监听1177端口,但只有一台(197.205.47.239)满足上述特征:

http://p5.qhimg.com/t01e70e360bd3ad4208.png

我们可以使用Curl[17]或者Python Scapy[18]以进一步确认结果。

此外,可能某些合法服务也会返回内容为“0” 的响应包,这种情况下我们无法完全确认这种RAT主动探测结果的正确性。我们只是以此为例,通过一个非常特殊的RAT控制端响应字符串来描述一个RAT。

另一个例子是Havex RAT[19]。Netresec在2014年发表了一篇内容殷实的文章[20],分析了Havex的通信模式。值得注意的是,Havex的响应数据中包含“havex”这个字符串。


四、拓展情报收集方法

作为一个互联网服务搜索引擎,由Johan Matherly创建并进行维护的Shodan[21]也开始致力于大规模地识别RAT。与传统的扫描工具相比,Shodan包含许多优点,包括非属性化任务、无需构建和维护基础设施就能连续扫描,此外,针对知名的端口和服务,Shodan还包含了数以百计的特征签名数据。Shodan的Web接口和命令行接口(command line interface,CLI)也非常容易上手,对于给定的任意主机,Shodan会在搜索结果中返回所有可用的端口信息。

http://p7.qhimg.com/t017f7a79f7f6384670.png

Shodan的特征数据中同样包含RAT特征,例如Black Shades、Dark Comet、njRAT、XtremeRAT、Posion Ivy以及Net Bus。因此,对识别活动的RAT控制端而言,Shodan是一个非常有用的一手情报源。尽管结果数量不尽相同,但Shodan基本上能够在任意一天内识别出400到600个不同的RAT控制端。从2015年9月18日开始的识别结果可以在Recorded Future的GitHub页面上下载。

自2015年7月初以来,Shodan在某一周统计出的不同的RAT控制端IP共计633个,在之后的一周内,VirusTotal推测出其中有153个与恶意软件有关,也就是说两者有24%的正相关率[22]。因此,在将恶意样本提交到VirusTotal之前,我们可以使用Shodan来识别RAT控制端实例,这也证明Shodan是一个非常有效且特别的威胁素材源。

http://p1.qhimg.com/t013e9cf0286f048c7a.png

此外,许多RAT的IP地址位于住宅(以及动态分配的)网络中。RAT操作者经常直接在家里运行RAT控制面板,因为使用代理会增加延迟,从而降低控制体验,特别是当RAT操作者想要获取受害者摄像头(或者网络摄像头)的视频流时,这种性能降低更加明显。在某些国家中,非授权访问计算机是一种犯罪,执法部门只需要向互联网服务商发送一份传真(或类似东西),就有可能识别出RAT操作者的身份以及住宅地址。

在2015年8月17日至21日期间,Shodan统计了RAT结果,梳理出一份包含471个不同的RAT控制端位置信息的列表[23]。

http://p5.qhimg.com/t0175324b78030ef373.png

http://p4.qhimg.com/t01f0fea02856b27267.png

根据201年7月和8月的结果,我们进一步丰富了RAT控制端的位置信息,以便了解不同的RAT实例、对应的控制者以及控制者的动机。


五、进一步丰富情报

正如前文所描述的,VirusTotal根据关联的恶意软件元数据信息进一步确认并丰富了RAT控制端的结果。其他有价值的源也包括Team Cymru以及Recorded Future,这些源都提供可编程功能。

Recorded Future的API提供了开源判证及数据丰富功能。大家可以在Recorded Future的Github页面上找到一个Python API脚本,利用这个脚本可以生成与RAT IP地址有关的完整版的Recorded Future结果。

根据Shodan的RAT控制端IP地址列表,Record Future在7月初整理出了一份结果,部分样本如下所示:

http://p4.qhimg.com/t01c74380998ca8fc5b.png

http://p6.qhimg.com/t016f193f90820885bb.png

http://p7.qhimg.com/t01fe4f10a7f7bef835.png

http://p0.qhimg.com/t01100f82a3e4dc72a3.png

为了进一步丰富2015年8月17日-21日收集的RAT控制端的地址信息,我们将相关的IP列表提交到Recorded Future以及Virus Total。Recorded Future的IOC脚本会返回一张“实体卡片”,总结了所有可用的信息。该脚本[24]同时也会根据输入的域名返回相关信息,这些域名是Virus Total根据原始的RAT控制端IP列表生成所得。

http://p5.qhimg.com/t0164fe0cf323a9147c.png

http://p2.qhimg.com/t01d180fd02f89b233f.png


六、对RAT操作者的主动式归因溯源

6.1 示例1-VirusTotal

今年年初,Shodan识别出了某个Dark Commet控制端,该控制端所在地址为90.212.68.218,属于英国的Sky Broadband运营商。

http://p0.qhimg.com/t01bca2dc4d67ad9d33.png

我们可以根据VirusTotal的恶意软件样本的文件名(“DeathBotnet!.exe”)以及域名(“yobrohasan[.]ddns.net”)来快速丰富这个IP地址的相关信息。“Yobrohasan”是个特殊的字符串,指向snog.com上某个昵称为“yobrohasan”的人,该网站目前已下线,这个人的快照如下所示:

http://p9.qhimg.com/t01b7ee1aa45782d5ea.png

我们无法将这个Dark Comet实例完全与这个人相关联,因为RAT操作者很有可能有意识地使用“yobrohasan”这个子域名作为虚假身份开展攻击活动,也有可能RAT操作者因为很讨厌“yobrohasan”这个人才选择这个域名,甚至有可能攻击者只是随便选了一个域名而已。正如前文所述,归因溯源是一件很难的事情,这个例子给我们提了一个醒。

6.2 示例2-Team Cymru

2015年7月,Team Cymru观察到某个njRAT控制端的IP地址(5.28.184.242,属于以色列的Ramat Gan Hot Internet运营商)与196.36.153.134这个IP地址(属于南非的Internet Solutions运营商)之间存在基于大端口的UDP会话。

除了在1177端口上识别出njRAT,Shodan还识别出该地址在1900端口上运行的UPnP服务、在80和8080(“WWW-Authenticate: Basic realm=”NETGEAR DGN2200v2BEZEQ”)端口上运行的HTTP服务,这表明5.28.184.242这个主机可能也充当了代理角色。

2015年7月,Team Cymru检测到xheemax.x64.me域名的A记录解析为5.28.184.242。“xheemax”子域名是一个特殊的字符串,该子域名是通过x64.me的DDNS服务生成所得。目前该域名解析结果为149.78.239.193(属于以色列的PSINet运营商)。

自2011年开始,很多论坛上都可以找到“xheemax”这个标记,攻击者使用这个标记来“禁用笔记本摄像头上的小灯”[25]。CryptoSuite网站上有一个“xheemax Hakkinda”页面[26],介绍了与之有关的一些资料,其中“About Me”章节包含“RAT”和“Cybergate.”信息。

2014年,Team Cymru的#totalhash页面[27]同样识别出与这个RAT有关的域名xheemax.no-ip.info(地址为204.95.99.109),相应的SHA1哈希[28]为329ed5ef04535f5d11d0e59a361263545d740c61。

6.3 示例3-Maltego

将Shodan在2015年8月17日-21日生成的RAT控制端IP导入Maltego,我们可以找到许多共同点。

https://p1.ssl.qhimg.com/t0195a2f9c8bf995c96.png

具有最多边数的那些节点都与IP地址位置检查有关。Maltego的原生transform可以将50多个RAT控制端IP地址与包括localiser-ip[.]com以及iplocationtools[.]com在内的网站关联起来。此外,在pastebin[.]com上也识别出了包含可疑IP地址的多个历史列表。

https://p3.ssl.qhimg.com/t013f72271892491298.png

https://p0.ssl.qhimg.com/t017d2a1fb080a1bd28.png

https://p0.ssl.qhimg.com/t019546cf92dafb3f46.png

我们可以对大型数据集进行可视化呈现,通过节点共性识别图中的“阻塞点(choke points)”,这些“阻塞点”(在这个案例中)包括敌方所用的资源以及(或者)技战术,防御方可以通过识别这些信息来提高防御技术的有效性。

6.4 示例4-Recorded Future

Recorded Future将某个RAT控制端的IP地址与Pastebin上某个网页匹配关联起来。根据这个Pastebin页面(http://pastebin.com/cU4WX0hs)所述,这个IP地址的所有者为“Daniel”,其中还列出了Daniel的个人身份信息(personally identifiable information,PII),包括生日、电子邮件、以及位于英国牛津附近的实际地址。

https://p5.ssl.qhimg.com/t015f656bd15a420b50.png

该页面中,作者进一步声称,“Daniel”供职于“powerstresser[.]com”,这个网站作为“压力测试”服务器,所提供的“引导者”服务[29]在伦理上存在争议。如果该信息准确无误,这意味着归因溯源这个案例所涉及的RAT操作者是一件非常简单的事情。


七、总结

正如本文所述,原始的、专业的及可扩展的情报收集方法对行政执法以及企业防御领域非常有用。在RAT开始传播之前,如果能够识别RAT控制端地址及操作者,那么就能减少恶意软件处理所占用的资源。

诸如Recorded Future之类的威胁情报数据拓展源有助于对攻击者的归因溯源。本文围绕RAT操作者展开分析,分析结果能增加我们对攻击者的动机、所用工具、所用技术及攻击过程的了解。

针对已知RAT特征的主动及可重复的互联网枚举技术可以为我们提供恶意目标的一手素材来源,更重要的是,这种技术还能让我们进一步识别并理解对手的战略意图。

从本质上来讲,RAT操作者是存在弱点的,因为他们经常在开放的互联网上进行操作,并且他们所购买和下载的RAT在接收合适的请求之后会返回特定的响应字符串。此外,这个弱点不仅限于此,因为RAT服务所监听的特定端口也是我们用来突破攻击者计算机的一个远程入口。


八、攻击指示器(Indicators of Compromise,IOCs)

报告引用的所有IOCs都位于Recorded Future的GitHub仓库中。


九、备注及参考链接

[1] 远程访问工具(remote access tool,RAT)是系统管理员合法使用的工具。在本文中,RAT特指用于恶意目的的木马。

[2] http://www.washingtonpost.com/news/morning-mix/wp/2014/05/20/5-scary-things-about-blackshades-malware/ 

[3] http://www.darkreading.com/over-90-arrested-in-global-fbi-crackdown-on-blackshades-rat/d/d-id/1252912 

[4] http://www.crn.com/news/security/240160369/poison-ivy-attack-toolkit-with-ties-to-china-linked-to-other-hacking-groups.htm 

[5] http://www.seculert.com/blog/2014/01/xtreme-rat-strikes-israeli-organizations-again.html 

[6] https://www.reddit.com/r/hacking/comments/2acwpb/how_to_setup_dark_comet_rat_with_download_and/ 

[7] https://www.youtube.com/watch?v=QmH_ojSZoRU 

[8] https://www.youtube.com/watch?v=5szajA_Xbps 

[9] https://www.youtube.com/watch?v=fltTqccBmzY  

[10] https://www.youtube.com/watch?v=tXVGLb96WHU 

[11] https://nmap.org/ 

[12] http://sectools.org/tool/unicornscan/  

[13] https://zmap.io/ 

[14] https://github.com/robertdavidgraham/masscan 

[15] https://support.microsoft.com/en-us/help/172983/explanation-of-the-three-way-handshake-via-tcp-ip 

[16] http://contagiodump.blogspot.com/2013/04/collection-of-pcap-files-from-malware.html 

[17] http://curl.haxx.se/ 

[18] http://www.secdev.org/projects/scapy/ 

[19] https://www.securityweek.com/attackers-using-havex-rat-against-industrial-control-systems 

[20] http://www.netresec.com/?page=Blog&month=2014-11&post=Observing-the-Havex-RAT 

[21] https://www.shodan.io/ 

[22] VirusTotal的结果可以在Recorded Future的Github页面下载。 

[23][24] https://github.com/recordedfuture/ioc-enrichment 

[25] https://fuckav.ru/archive/index.php/t-8112.html 

[26] https://cryptosuite.org/forums/17093xheemax.html 

[27] https://totalhash.cymru.com/network/dnsrr:xheemax.no-ip.info 

[28] https://www.virustotal.com/en/file/3616af88323a25786b8da40641798fc1569b678f84ed6520035941066724682d/analysis/ 

[29] http://www.eweek.com/security/how-do-booters-work-inside-a-ddos-for-hire-attack%20 

(完)