Toolsmith #124: Dripcap - 含咖啡因的数据包分析器
Dripcap是一款基于Electron的现代图形化数据包分析器。你可能会问,Electron是什么?“Electron是一个使用JavaScript、HTML和CSS等Web技术创建原生应用程序的框架。它处理了困难的部分,让你可以专注于应用程序的核心。”
我们都应该非常熟悉 venerable Wireshark,因为它长期以来一直是寻求图形界面分析PCAP的数据包分析师的先驱。但偶尔探索替代方案也很有趣。我一直很喜欢NetworkMiner,而Microsoft Message Analyzer和Xplico等工具各有独特的优势。
对于熟悉Wireshark的基本用户来说,你可能会发现Dripcap在这个阶段有些基础,但它确实让你有机会在基础层面探索数据包捕获,并在没有更强大工具提供的功能支撑的情况下学习。
然而,对于JavaScript开发者来说,Dripcap开启了一个全新的可能性世界。阅读Create NTP dissector包教程,你可以创建、发布和加载你选择的解析器(及其他)包。
安装
我在Windows上从源代码构建Dripcap,使用Chocolatey。从管理员PowerShell提示符(确保Get-ExecutionPolicy不是Restricted)执行以下操作(在第二步后重启管理员PS提示符):
|
|
第一步安装Chocolatey,第二步使用Chocolatey安装工具,第三步克隆Dripcap,第五和第六步安装包,第七步构建所有内容。执行dripcap,你应该就能运行了。
你也可以使用npm(Node.js包生态系统的一部分)通过npm install -g dripcap
安装Dripcap CLI,或者直接从Dripcap Releases下载dripcap-windows-amd64.exe。
实验
我将引导你使用Dripcap进行某种数据包提取。Dripcap最强大的功能之一是其过滤能力。我使用了一个旧的PCAP,其中包含Operation Aurora Internet Explorer漏洞(CVE-2010-0249)负载进行此工具测试。Ctrl+O将为你导入Pcap文件。
点击Developer,然后Toggle Log Panel以获取完整日志。
你会注意到四个长度为1514的数据包,如图1所示。探索这些数据包中的第一个表明正是我们所期望的:以太网MTU(最大传输单元)为1500字节,TCP负载为1460字节,为我们的头部留下40字节(20字节IP和20字节TCP)。
将鼠标悬停在UI中的TCP详细信息上会高亮所有TCP特定数据,但你可以进一步采取此类操作。首先,让我们用tcp.payload.length == 1460
过滤到仅大数据包。
随着视图的减少,我们可以使用Dripcap相当容易地进行一些底层和粗糙的提取。在四个过滤后的数据包中,我悬停在Payload 1460字节上,如图4所示,这高亮了负载特定的十六进制。然后我使用鼠标捕获高亮内容,并使用Dripcap的Edit和Copy,仅获取该负载特定的十六进制并将其粘贴到文本文件中。
我对这四个数据包中的每一个都这样操作,并将内容一个接一个地复制到我的文本文件中,形成紧密、无缝的序列。然后我使用Python Tools for Visual Studio进行快速的十六进制到ASCII转换,就像bytearray.fromhex("我的十六进制片段这里").decode()
一样容易。结果在图5中显示,展示了利用CVE-2010-0249的JavaScript负载。
你也可以同样容易地使用在线转换器。我将ASCII结果保存到一个文本文件中,该目录我已从我的反恶意软件保护中排除。将文件作为payload.txt上传到VirusTotal后,我的预期得到了确认:56个AV提供商中的32个检测到该文件为类似Exploit:JS/Elecom.D或更直接地说,Exploit.JS.Aurora.a。
结束语
也许不是最优雅的方法,但使用Dripcap的过滤和编辑功能,它快速而容易地工作。我希望看到这个工具及其社区继续成长。构建解析器包,创建主题,成为过程的一部分,看到安全从业者可用的替代方案总是好的。干杯…直到下次。