探秘DOUBLEPULSAR SMB植入体:解密C2流量的Python脚本
作者:Luke Jennings(luke.jennings@countercept.com - @jukelennings) 公司:Countercept (@countercept) 网站:https://countercept.com
在网络安全研究中,对恶意软件通讯的理解至关重要。今天,我们向大家推荐一款由Countercept团队开发的独特工具——一个用于从PCAP文件中解密DOUBLEPULSAR SMB植入体使用的C2(Command & Control)流量的Python脚本。这个脚本利用了简单的4字节异或加密,并且可以从首次非ping包中的SESSION_SETUP参数中直接揭示XOR密钥,从而解密所有流量。
项目介绍
这是一个早期版本的项目,它依赖于网络包中的特定组件来工作,并已针对DLL注入功能进行了测试。理想情况下,应提供只包含单个命令的PCAP文件来获得最佳结果。项目内附有一个用于测试的PCAP文件,该文件是在目标机器上通过DLL注入命令将标准Windows DLL wininet.dll
注入到运行的calc.exe进程中捕获的。解密后的输出也存储在仓库中,包含了4885字节的shellcode和与wininet.dll
逐字节匹配的内容。
技术分析
脚本的核心是基于一个事实,即在初始的非ping包中存在连续四个零字节,这使得我们可以轻松提取出解密所需的XOR密钥。Python-pcapng库是该项目的一个关键依赖,它允许我们处理和解析PCAPNG格式的数据包捕获文件。
使用方法简单,只需安装python-pcapng库并通过命令行调用decrypt_doublepulsar_traffic.py
脚本:
root@kali:~# pip install python-pcapng
root@kali:~# python decrypt_doublepulsar_traffic.py --pcapng inject-dll-wininet-into-calc.pcapng --output decrypted_data.bin
应用场景
对于网络安全研究人员和渗透测试人员来说,这款工具可以帮助他们深入理解DOUBLEPULSAR攻击的方法和手段。它可以用于分析受感染系统的C2通信,揭示潜在的恶意活动,甚至可能帮助研究人员发现新的漏洞和对抗策略。
此外,它还为教育和训练提供了实用案例,让学生和专业人士能够亲自实践如何解析复杂的恶意软件通信。
项目特点
- 简单高效:利用易识别的网络包特征进行解密。
- 针对性强:专注于解密DOUBLEPULSAR SMB植入体的C2流量。
- 可扩展性:虽然目前仅测试于DLL注入功能,但其基本原理可能适用于其他类似加密方式的恶意软件。
- 易于使用:依赖项明确,命令行接口简洁明了。
如果你热衷于网络安全研究,或者希望深入了解DOUBLEPULSAR的运作机制,那么这款工具无疑是一个不可多得的资源。立即尝试并加入我们的行列,探索网络世界的隐蔽角落。
- CangjieCommunity为仓颉编程语言开发者打造活跃、开放、高质量的社区环境Markdown00
- redis-sdk仓颉语言实现的Redis客户端SDK。已适配仓颉0.53.4 Beta版本。接口设计兼容jedis接口语义,支持RESP2和RESP3协议,支持发布订阅模式,支持哨兵模式和集群模式。Cangjie032
- 每日精选项目🔥🔥 推荐每日行业内最新、增长最快的项目,快速了解行业最新热门项目动态~ 🔥🔥02
- qwerty-learner为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workersTSX022
- Yi-CoderYi Coder 编程模型,小而强大的编程助手HTML07
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript085
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript09
- CommunityCangjie-TPC(Third Party Components)仓颉编程语言三方库社区资源汇总05
- Bbrew🍺 The missing package manager for macOS (or Linux)Ruby01
- byzer-langByzer(以前的 MLSQL):一种用于数据管道、分析和人工智能的低代码开源编程语言。Scala04