Titan:用于Cobalt Strike的通用用户定义反射DLL-网络攻防学习社区-安全圈子-FancyPig's blog

Titan:用于Cobalt Strike的通用用户定义反射DLL

项目地址

https://github.com/seahop/titan

关于

Titan 是一个用户定义的反射 DLL (URDLL),它使用多种技术的组合来实现初始执行并在现代端点检测和响应繁重的环境中维护 Cobalt Strike 的 shell 稳定性。

Titan 专为与 Cobalt Strike 一起使用以及单独与 Cobalt Strike 一起使用而设计。 它可以移植到其他框架,但这样做可能毫无意义。

目录

技巧

记忆逃避:混淆和睡眠

Titan 实现了一个基本的 x86_64 内存规避钩子,它借助用户创建的计时器回调隐藏了它在内存中植入的痕迹,这是一种由 NightHawk 推广并由以 Ekko 名义发布该项目的用户 Paul 公开实现的技术。 然而,这两种实现都有一些警告和竞争条件导致它不稳定。

由于为每个 Beacon 创建了一个新的线程池,最新版本支持在同一进程中生成多个会话。 如果它正在使用一个,它不再打破主机进程的原始队列。

目前,它会在 Beacon 等待作业完成、休眠以及 SMB 管道等待连接、写入管道或从命名管道读取时进行加密,以避免在通过网络传输数据时被检测到。

灯塔 在内存中混淆
窗口/reverse_https 真的
窗口/reverse_dns 真的
视窗/smb 真的
视窗/TCP 错误的

DNS:现在使用 DNS over HTTP(s)!

DNS 信标收到了一个完整的整体,允许他们通过一个更安全的 DNS over HTTP(s) 提供商发送他们的流量,该提供商硬编码在 hook 代码本身中。 每个请求都将被发送到这些提供商,轻松掩盖原始 DNS 名称。 如果您希望通过原始 DNS 协议发送流量,则可以禁用此挂钩。

单线程

Cobalt 本身基本上是单线程的,但 Titan 强制它完全是单线程的。 不幸的是,这破坏了一些内部功能,例如以操作安全为代价的基于 Powershell 的命令。 很大程度上,这不会破坏您正在使用的大部分功能,但会破坏一些功能。

重定向到系统调用

一些涉及远程进程交互的功能使用 x86/x64/WOW64 的已知 DLL 映射重定向到系统调用。 它避免了 SentinelOne/CrowdStrike 使用其内联挂钩实施的一些检测。

设置

要开始使用 Titan,您需要安装 nasmmakepython3python 和 Mingw-w64 的 pefile 模块。 您将需要来自 musl.cc 的 mingw-w64 编译器,它可在此处用于 x86_64-w64-mingw32-crossi686-w64-mingw32-cross 来编译代码,因为您的包管理器中可用的编译器未更新到最新版本。 一旦你在 PATH 中设置了你的编译器,并安装了上面的包,你就可以开始编译源代码了!

下载交叉编译器并将其添加到 PATH 的示例步骤:

# cd /root/tools
# wget https://musl.cc/x86_64-w64-mingw32-cross.tgz
# tar -xvf x86_64-w64-mingw32-cross.tgz
# cd x86_64-w64-mingw32-cross/bin
# export PATH=$(pwd):$PATH
# cd /root/tools
# wget https://musl.cc/i686-w64-mingw32-cross.tgz
# tar -xvzf i686-w64-mingw32-cross.tgz
# cd i686-w64-mingw32-cross/bin
# export PATH=$(pwd):$PATH

示例输出如下所示

devvm:~/projects/kit/titan $ make
/root/tools/i686-w64-mingw32-cross/bin/../lib/gcc/i686-w64-mingw32/11.2.1/../../../../i686-w64-mingw32/bin/ld: Titan.x86.exe:.text: section below image base
/root/tools/i686-w64-mingw32-cross/bin/../lib/gcc/i686-w64-mingw32/11.2.1/../../../../i686-w64-mingw32/bin/ld: Titan.x86.exe:.edata: section below image base
/root/tools/x86_64-w64-mingw32-cross/bin/../lib/gcc/x86_64-w64-mingw32/11.2.1/../../../../x86_64-w64-mingw32/bin/ld: Titan.x64.exe:.text: section below image base
/root/tools/x86_64-w64-mingw32-cross/bin/../lib/gcc/x86_64-w64-mingw32/11.2.1/../../../../x86_64-w64-mingw32/bin/ld: Titan.x64.exe:.edata: section below image base

成功! 您已经成功编译了使用它所需的二进制文件。 要开始使用它,请将 包含 Titan.cna 到您的 Aggressor Scripts Cobalt Strike > Script Manager 中。 将侵略者脚本导入 Cobalt 后,您就可以开始导出 raw 工件以与 Shelter 一起使用或嵌入到您自己的工件套件中!

23b1aa4f9f170053

 

请登录后发表评论

    没有回复内容