<button id="dbace"><source id="dbace"><q id="dbace"></q></source></button><nav id="dbace"><strike id="dbace"></strike></nav>
  • <figcaption id="dbace"></figcaption><textarea id="dbace"><sup id="dbace"><style id="dbace"><ins id="dbace"></ins></style></sup><output id="dbace"><style id="dbace"><dd id="dbace"></dd></style><progress id="dbace"></progress><select id="dbace"></select><section id="dbace"><b id="dbace"><sub id="dbace"><kbd id="dbace"></kbd></sub></b></section><p id="dbace"></p></output><tfoot id="dbace"><option id="dbace"></option></tfoot><li id="dbace"><ul id="dbace"><blockquote id="dbace"></blockquote></ul></li></textarea>

    <blockquote id="dbace"><bdo id="dbace"><figure id="dbace"><textarea id="dbace"></textarea></figure></bdo></blockquote>

    <td id="dbace"><small id="dbace"></small></td>

      <code id="dbace"><video id="dbace"><p id="dbace"></p><input id="dbace"><hgroup id="dbace"><div id="dbace"></div></hgroup></input></video></code><section id="dbace"></section>

      • FAKENET-NG:下一代动态网络分析工具

        关注 2017-03-23 11:59:52 查看数 24330 ,评论数 2 技术控 网络安全
        0x01 前言
        本文作者为FLARE(FireEye Labs Advanced Reverse Engineering)火眼实验室高级逆向工程团队的逆向工程师,经常需要动态分析恶意软件样本,而作者的目标是在一个安全的环境中运行可执行文件,快速分析可执行文件的运行特征。在动态分析过程中,重要的一项就是模拟网络环境,进而欺骗恶意软件误以为是已经联网。如果操作正确,恶意软件就会暴露其网络特征,如命令、控制(C2)域名、用户代理字符串、查询URL等。 在动态分析恶意软件过程中,用到的工具是FLARE团队自己编写的FakeNet-NG,本文将介绍FakeNet-NG及其对恶意软件分析的基本方法。FakeNet-NG的一些新功能,如过程记录、高等操作和主机流量过滤引擎,支持第三方工具(例如 debuggers、HTTP proxies等),并支持Windows Vista及更高的版本。 本文涵盖了FakeNet-NG基本的安装和最常用的运行脚本,其他运行方式和说明可以从这里获得。 0x02 获取和安装FakeNet-NG
        FakeNet-NG可以从FLARE的官方Github获取。 在发行页面,可以获取最新的预编译压缩包,将发行版本的压缩包下载后解压到需要分析恶意软件的虚拟机内,并放到易于访问的位置。 0x03 运行FakeNet-NG
        在Windows中,运行FakeNet-NG最简单的方式是双击FakeNet-NG的可执行文件,对于64位系统和32位系统分别是fakenet64.exe和fakenet32.exe,如图1所示。 Fig1

        图1 运行FakeNet-NG

        FakeNet-NG运行需要管理员权限,所以在打开时会有UAC确认提示,启动之后会看到类似图2的控制台窗口。 Fig2

        图2 FakeNet-NG启动

        默认情况下,FakeNet-NG的默认配置会启动几个最常用的服务:
        • DNS监听器,使用53端口监听UDP
        • HTTP监听器,使用80端口监听TCP
        • SMTP监听器,使用23端口监听TCP
        • Raw监听器,使用1337端口监听TCP和UDP,这个服务也是默认的监听器,用来处理所有的通信请求。默认监听器的解释在下文给出。
        现在,你应该准备好了需要运行的恶意软件样本,并准备观察它的行为。图3给出了恶意软件样本与C2服务器间的通信。 Fig3

        图3 恶意软件样本通信状态

        在日志输出中,看上去有非常多的东西,现在让我们将它们拆分并一一分析。 恶意软件一旦启动,就会试图通过查询配置的4.2.2.2DNS服务器,对C2的域名evil.mandiant.com进行解析。图4给出了FakeNet-NG如何从4.2.2.2转移流量到本机IP地址172.16.163.131。 Fig4

        图4 转移DNS流量

        在同一主机上运行FakeNet-NG和恶意软件的好处是,可以在恶意软件运行时进行其他分析,如使用FakeNet-NG可以准确定位到产生流量的可执行文件的名称和PID等。在当前情况下,我们可以看到level1_payload.exe产生了上述DNS流量。 继续我们的分析,图5给出了FakeNet-NG的DNS监听器对恶意软件的查询提供一个假响应,并指向虚假的C2服务器IP地址192.0.2.123。 Fig5

        图5 虚假的DNS响应

        恶意软件成功解析域名后,会继续与C2域名通信,如图6所示。 Fig6

        图6 虚假的C2通信

        FakeNet-NG实现了一些流行的网络监听器,并且有利于现在的分析。恶意软件通过80端口进行HTTP通信,而前面的输出给我们提供了一些良好的网络指标,如在通信中使用准确的URL请求和User-Agent,包含未加密主机名称的payload等,所有的这些迹象都可以用来作为监测这种恶意软件样本的签名。 默认情况下,FakeNet-NG将捕获的流量保存在PCAP文件中,所以可以对PCAP进行其它分析。例如可以通过Wireshark来打开FakeNet-NG保存的PCAP文件,如图7,显示了原始的和转移后的DNS解析和对C2服务器的HTTP POST请求。 Fig7

        图 7Wireshark PCAP

        捕获的文件保存在FakeNet-NG可执行文件目录下,同时日志记录作为一个额外的功能,FakeNet-NG会将完整的HTTP payload保存在不同的文本文件中,并且存储在可执行文件运行的目录下。 0x04 配置FakeNet-NG
        默认情况下,FakeNet-NG配置的分析方案,针对绝大多数恶意软件的分析是绰绰有余的。当然,如果遇到一个更复杂的恶意软件样本,可以通过修改configs目录下的配置,轻松的对FakeNet-NG进行调整。默认情况下,FakeNet-NG会加载default.ini的默认配置,可以修改该配置文件或创建一个新的配置文件,通过命令行下的-c参数指定FakeNet-NG加载的配置文件。而在当前样本分析中,恶意软件通过4444端口的二进制协议进行通信。图8给出了一个监听器的配置示例。 Fig8

        图8 自定义监听器配置

        在上述的配置中,关键是端口、协议和监听器。通过端口和协议的属性定义的端口和协议来建立双方的监听服务,并确定转移流量的规则。监听器属性被用来定义一个特定的监听器类。在目前情况下,Raw监听器被用来处理任意二进制协议。 另外,如果需要创建一个监听器来处理HTTP或HTTPS流量,那么就会用到HTTP监听器,其他支持的监听器列表和可用的完整选项可以参考Github中的文档。 将上述配置追加到配置文件中后,我们现在可以监听通过4444端口的TCP流量,如图9所示。 Fig9

        图9 分流到自定义监听器

        上述场景是相对单一的,因为恶意软件的通信端口是已知的。而现实是,在大多数情况下,但是很难通过静态或动态分析,来判断恶意软件进行通信的准确端口。这时,我们就可以用另一个强大的功能,通过编辑配置文件中的[Diverter]部分,来配置默认监听器实现这个功能,因此,可以通过默认监听器处理任何端口的任何流量,如图10所示。 Fig10

        图10 默认监听配置

        自定义配置之后,即使相同的恶意软件样本采用另一个端口进行通信(如5555),仍然会被自定义的监听器在4444端口拦截。 Fig11

        图11 分流到默认监听器

        图11所示的流量通过未知的5555端口,被分流到自定义的4444端口监听器。需要注意的是,任何明确定义的监听器都会优先于默认监听器。所以,如果分别在53端口和80端口自定义DNS监听器或者HTTP监听器,会使用自定义的监听器取代默认监听器进行监听。 0x05 全新的代码库
        FakeNet-NG完全基于Python开发,所以可以轻易的实现新的服务和功能,并且不再像FakeNet使用过时的LSP(WinSock Layered Service Provider)驱动来实现。相反,由于PyDivert\WinDivert出色的代码库(基于WFP (Windows Filtering Platform) 驱动),FakeNet-NG能够重定向所有流量。 0x06 结论
        本文分享的一些技巧,能够对恶意软件进行快速的动态分析,并提取良好的网络指标。FakeNet-NG是一个功能强大和可高度配置的工具,可以用来执行更高级的任务,如过程和流量过滤、恶意软件自动拆包、thick-client(胖客户端)安全评估还有其它等。 下一次当你需要分析恶意软件、安全评估、简单的转移网络流量或者网络虚假响应时,都可以尝试使用FakeNet-NG,希望小伙伴们能够喜欢FLARE的FakeNet-NG,请继续关注后续更新的文章,MottoIN将演示这个工具的全部功能。

        *来源:FireEye,转载请注明来自MottoIN

        交流评论(2)
        Loading...
        点击 ,就能发表评论哦~如果您还没有账号,请 一个吧

        广告

        关注我们 查看更多精彩文章

        css.php
        正在加载中...
        | lol比赛博彩|雷竞技提现手续费多少|英雄联盟外围app下载|lol总决赛外围|最新送彩金菠菜网站|