imaginaryC2 - 旨在帮助恶意软件的行为(网络)分析的工具

Imaginary C2是一个python工具,旨在帮助恶意软件的行为(网络)分析

虚构C2托管HTTP服务器,该服务器捕获针对选择性选择的域/ IP的HTTP请求。此外,该工具旨在使重放捕获的命令和控制响应/服务有效载荷变得容易。

通过使用此工具,分析师可以提供恶意软件一致的网络响应(例如,要执行恶意软件的C&C指令)。此外,分析人员可以捕获并检查对分析时离线的域/ IP的HTTP请求。

重播数据包捕获

虚构C2提供了两个脚本,用于将数据包捕获(PCAP)Fiddler会话存档转换为可由虚构C2解析的请求定义。通过这些脚本,用户可以提取HTTP请求URL和域,以及HTTP响应。这样,可以快速重放给定HTTP请求的HTTP响应。

技术细节

要求:Imaginary C2需要Python 2.7和Windows。

模块:目前,Imaginary C2包含三个模块和两个配置文件:

文件名 功能
1. imaginary_c2.py 托管python的简单HTTP服务器。主要模块。
2. redirect_to_imaginary_c2.py 更改Windows的主机文件和Windows(IP)路由表。
3. unpack_fiddler_archive.py&unpack_pcap.py 从数据包捕获中提取HTTP响应。将相应的HTTP请求域和URL添加到配置文件中。
4. redirect_config.txt 包含需要重定向到localhost(到python HTTP服务器)的域和IP。
5. requests_config.txt 包含具有相应数据源的URL路径定义。

请求定义:请求配置中定义的每个(HTTP)请求包含两个参数:

参数1:HTTP请求URL路径(aka urlType)

含义
固定 将URL路径定义为文字字符串
正则表达式 定义要在URL路径上匹配的正则表达式模式

参数2:HTTP响应源(aka sourceType)

含义
数据 虚构的C2将响应磁盘上文件的内容
蟒蛇 想象C2将运行python脚本。python脚本的输出定义了HTTP响应。

演示用例:模拟TrickBot服务器

Imaginary C2可用于模拟TrickBot组件和配置文件的托管。此外,它还可用于模拟TrickBot的Web注入服务器。

工作原理:

执行时,TrickBot下载程序连接到一组硬编码IP以获取一些配置文件。其中一个配置文件包含TrickBot插件服务器的位置(IP地址)。Trickbot下载程序从这些服务器下载插件(模块)并对其进行解密。然后将解密的模块注入svchost.exe实例。

TrickBot的插件之一叫做injectdll,这是一个负责TrickBot webinjects的插件。该injectdll插件定期获取更新的一组webinject配置。对于配置中的每个目标(银行)网站,定义了

webfake服务器的地址。当受害者浏览TrickBot所针对的(银行)网站时,他的浏览器会被秘密地重定向webfake服务器。该webfake服务器托管目标网站的翻版。此副本网站通常用于社会工程攻击,以欺骗受害者。

想象中的C2在行动:

下面的视频显示了在svchost.exe中运行的TrickBot下载器并连接到想象C2以下载两个模块。每个下载的模块都会注入一个新生成的svchost.exe实例。webinject模块试图窃取浏览器保存的密码,并将窃取的密码泄露给TrickBot服务器。在访问目标银行网站时,TrickBot将浏览器重定向到webfake服务器。在演示中,webfake服务器托管消息:“默认虚构C2服务器响应”

完整视频

-------------本文结束感谢您的阅读-------------