Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/mgeeky/redwarden
渗透测试框架侦察漏洞利用框架Web代理与拦截IDS/IPS规避逆向工程信息收集网络安全命令与控制威胁情报红队Archived
GitHubmgeeky/redwarden

RedWarden

Cobalt Strike C2 反向代理,通过数据包检查与可扩展配置文件关联,抵御蓝队、杀毒软件、EDR、扫描器。

查看仓库
997138243年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

RedWarden - 灵活的 CobaltStrike 可塑重定向器

(以前称为 proxy2's malleable_redirector 插件)

让我们提高 C2 重定向器的 IR 弹性门槛,好吗?

RedWarden

红队业务已经看到了 若干 不同 出色 的想法,关于如何对抗事件响应者并误导他们,同时提供有抵抗力的 C2 重定向器网络。

这项工作将许多这些出色想法结合成一个轻量级工具,模仿 Apache2 作为简单 HTTP(S) 反向代理的本质。

结合对 Malleable C2 配置文件的理解、对恶意 IP 地址池的了解以及轻松添加新检查和误路由逻辑的灵活性——结果产生了一个针对 IR 检查的巧妙驱避剂。

RedWarden

如果任何无效入站数据包到达 RedWarden——你可以 redirect、reset 或直接 proxy 将其转走!

摘要

此程序充当 HTTP/HTTPS 反向代理,对入站 C2 HTTP 请求施加了几项限制,选择哪些数据包定向到 Teamserver,哪些丢弃,类似于 Apache2 的 mod_rewrite 中强制规定的 .htaccess 文件限制。

RedWarden 旨在解决 C2 重定向器层上的 IR/AV/EDRs/Sandbox 规避问题。它旨在取代为此目的使用的经典 Apache2 + mod_rewrite 设置。

特性:

  • Malleable C2 配置文件解析器,能够根据 malleable 的契约严格验证入站 HTTP/S 请求,并在违反时丢弃不符合的数据包(涵盖 Malleable Profiles 4.0+ 及其变体)
  • 能够解除过滤/修复由代理和缓存等中间系统添加的意外和不想要的 HTTP 头部(例如 CloudFlare),以符合有效的 Malleable 契约。
  • 集成了精心策划的大规模 IPv4 地址池和范围黑名单,这些地址已知与 IT 安全供应商相关。
  • 可 grep 的输出日志条目(同时采用 Apache2 组合访问日志和自定义 RedWarden 格式),有助于跟踪对等连接事件/问题。
  • 能够根据 IP 地理位置/whois 信息查询连接对端的 IPv4 地址,并与预定义的正则表达式进行比对,以排除来自信任组织/国家/城市等之外的连接对端。
  • 内置重放攻击缓解机制,通过将已接受请求的 MD5 哈希和记录到本地存储的 SQLite 数据库中,并阻止之前已接受的请求。
  • 允许定义 ProxyPass 语句,将匹配特定 URL 的请求传递到其他主机。
  • 支持多个 Teamserver
  • 支持多个反向代理主机/重定向站点,以随机顺序提供——从而允许负载均衡流量或构建更多样的基础设施。
  • 可以在流经过程中某些头部损坏时,根据预期的 malleable 契约修复 HTTP 数据包。
  • 现在,由于详细的详细 HTTP(S) 请求/响应日志,曾经花费不眠之夜排查"为什么我的 Beacon 在 CloudFlare/CDN/域名前端上无法工作"的日子已经结束了。

RedWarden 接收 Malleable C2 配置文件和 teamserver 的 hostname:port 作为输入。然后解析提供的 malleable 配置文件部分以理解契约,并仅让满足契约的入站请求通过,同时误导其他请求。

诸如 http-stager、http-get、http-post 及其对应的 URI、头部、前置/后置模式、User-Agent 等部分,都用于区分合法 Beacon 的请求与无关的互联网噪声或 IR/AV/EDRs 出站数据包。

该程序受益于来自以下位置的出色已知恶意 IP 范围: curi0usJack 和其他人: https://gist.github.com/curi0usJack/971385e8334e189d93a6cb4671238b10

使用 IP 地址黑名单以及通过反向 IP DNS 查询和 HTTP 头部检查进行已知恶意关键字查找,带来了可靠性,从而显著提高了重定向器对想要检查攻击者基础设施的未授权对端的弹性。

无效数据包可能根据三种策略误路由:

  • redirect:简单地将对端重定向到其他网站,例如 Rick Roll。
  • reset:立即终止 TCP 连接。
  • proxy:从另一个网站获取响应,以尽可能模仿克隆/劫持的网站。

此配置在配置文件中强制指定:```yaml

What to do with the request originating not conforming to Beacon, whitelisting or

ProxyPass inclusive statements:

- 'redirect' it to another host with (HTTP 301),

- 'reset' a TCP connection with connecting client

- 'proxy' the request, acting as a reverse-proxy against specified action_url

(may be dangerous if client fetches something it shouldn't supposed to see!)

Valid values: 'reset', 'redirect', 'proxy'.

Default: redirect

drop_action: redirect

以下示例展示将 `redirect` 目标设为 `https://googole.com` 的结果:

![redirect](https://assets.kitploit.com/production/public/readmes/4322/2ac28c863e766b5aaa2f225c33c225075c7042383d9c51860342a4da63cc6dcd.png)

请谨慎使用,注意安全。

### 环境要求

该程序仅能在 Linux 系统上运行,因为它使用 fork 创建多个进程。

此外,系统需预装 `openssl` 命令,因为程序将使用它生成 SSL 证书。

最后,使用以下命令轻松安装所有 Python3 PIP 依赖:```shell
bash $ sudo pip3 install -r requirements.txt

用法

使用示例

RedWarden 的最小 config.yaml 配置文件可能包含:```yaml port:

  • 80/http
  • 443/https

profile: jquery-c2.3.14.profile

ssl_cacert: /etc/letsencrypt/live/attacker.com/fullchain.pem ssl_cakey: /etc/letsencrypt/live/attacker.com/privkey.pem

teamserver_url:

  • 1.2.3.4:8080

drop_action: reset

然后,可以通过提供配置文件的路径来启动程序:```shell
bash$ sudo python3 RedWarden.py -c config.yaml

  [INFO] 19:21:42: Loading 1 plugin...
  [INFO] 19:21:42: Plugin "malleable_redirector" has been installed.
  [INFO] 19:21:42: Preparing SSL certificates and keys for https traffic interception...
  [INFO] 19:21:42: Using provided CA key file: ca-cert/ca.key
  [INFO] 19:21:42: Using provided CA certificate file: ca-cert/ca.crt
  [INFO] 19:21:42: Using provided Certificate key: ca-cert/cert.key
  [INFO] 19:21:42: Serving http proxy on: 0.0.0.0, port: 80...
  [INFO] 19:21:42: Serving https proxy on: 0.0.0.0, port: 443...
  [INFO] 19:21:42: [REQUEST] GET /jquery-3.3.1.min.js
  [INFO] 19:21:42: == Valid malleable http-get request inbound.
  [INFO] 19:21:42: Plugin redirected request from [code.jquery.com] to [1.2.3.4:8080]
  [INFO] 19:21:42: [RESPONSE] HTTP 200 OK, length: 5543
  [INFO] 19:21:45: [REQUEST] GET /jquery-3.3.1.min.js
  [INFO] 19:21:45: == Valid malleable http-get request inbound.
  [INFO] 19:21:45: Plugin redirected request from [code.jquery.com] to [1.2.3.4:8080]
  [INFO] 19:21:45: [RESPONSE] HTTP 200 OK, length: 5543
  [INFO] 19:21:46: [REQUEST] GET /
  [...]
  [ERROR] 19:24:46: [DROP, reason:1] inbound User-Agent differs from the one defined in C2 profile.
  [...]
  [INFO] 19:24:46: [RESPONSE] HTTP 301 Moved Permanently, length: 212
  [INFO] 19:24:48: [REQUEST] GET /jquery-3.3.1.min.js
  [INFO] 19:24:48: == Valid malleable http-get request inbound.
  [INFO] 19:24:48: Plugin redirected request from [code.jquery.com] to [1.2.3.4:8080]
  [...]

上述输出中包含一行,指出存在一个未经授权的、不符合我们C2配置文件的入站请求,该请求因提供的User-Agent字符串不兼容而被丢弃:``` [...] [DROP, reason:1] inbound User-Agent differs from the one defined in C2 profile. [...]

## 使用场景

### 对Beacon流量发起方施加IP地理位置限制

你已出色地完成了钓鱼前侦察和开源情报收集工作。现在你掌握了目标所在的位置,并对流量应来源于哪些地域有了一定线索,或者至少能够识别出完全无关的流量。  
如何在重定向器上对Beacon请求施加IP地理位置限制?

RedWarden 来帮忙!

假设你只想接受源自波兰(欧洲)的流量。  
你的钓鱼前侦察/开源情报结果表明:

- `89.64.64.150` 是你某个目标的合法IP,来自波兰
- `59.99.140.76` 这个IP则并非如此,它以常规的网络噪声数据包到达了你的系统。
下载工具