欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

如何通过主动威胁识别方式发现远程访问木马

来源:本站整理 作者:佚名 时间:2017-06-08 TAG: 我要投稿

一、前言
如果我们能持续不断地将已知的远程访问木马(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”的响应包。

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

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

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载