imaginaryC2:帮助安全研究人员分析恶意软件网络行为的模拟C2托管HTTP服务器

Imaginary C2是一款python工具,可帮助安全研究人员分析恶意软件(网络)行为。Imaginary C2上托管了一个HTTP服务器,用于捕获选定域/IP的HTTP请求。此外,该工具还可用于重放捕获的C&C响应/payloads,使这个过程变得更加方便快捷。

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

重放数据包捕获

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

技术细节

安装环境: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路径(a.k.a. urlType)

含义
fixed 定义URL路径作为一个literal字符串
regex 定义一个URL路径匹配正则表达式

参数2:HTTP响应源(a.k.a. sourceType)

含义
data Imaginary C2 将响应磁盘上文件的内容
python Imaginary C2 将运行python脚本。python脚本输出定义HTTP响应。

演示用例:模拟TrickBot服务器

虚构C2可用于模拟TrickBot服务器(包括其组件和配置文件)。此外,它还可用于模拟TrickBot的Web注入服务器。

它是如何工作的?

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

TrickBot其中有一个injectdll的插件,该插件主要负责TrickBot webinjects。injectdll插件会定期获取一组更新的webinject配置,并对配置中的各个目标(银行)网站,定义webfake服务器地址。当受害者浏览TrickBot所针对的(银行)网站时,他的浏览器会被神不知鬼不觉地重定向到webfake服务器。而webfake服务器上则会托管该目标站点的克隆版本。攻击者通常会结合社工的手段来欺骗受害者,以达到最终的目的。

在视频中你可以看到,在svchost.exe中运行的TrickBot downloader,连接到了imaginary C2并下载了两个模块。

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

bai

新者一日 新之始基

3 条评论

  1. vers

    本网已收

  2. CHF

    不错

  3. 学到了

Leave a Reply

Your email address will not be published. Required fields are marked *