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

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
rt_redirectors — 用于配置红队C2重定向器的Ansible角色 | Kitploit
工具/GitHubGitHub/tevora-threat/rt_redirectors
云基础设施安全脚本与自动化渗透测试DevSecOps命令与控制红队
GitHubtevora-threat/rt_redirectors

rt_redirectors

用于配置红队C2重定向器的Ansible角色

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Ansible角色,可快速将转发器部署到现有服务器,并配置mod_rewrite代理规则。

支持Debian和Ubuntu,已在Digital Ocean和Azure上测试。

详见博客文章threat.tevora.com/automating-redirector-deployment-with-ansible,其中介绍了转发器、Ansible以及本角色的深入讲解。

开始使用前,请克隆此仓库,安装Ansible,并将此仓库放置在角色的文件夹中。以下示例playbook展示了如何配置转发器实例。

实例Playbook示例 provision_redirector_example.yml

root@kitploit:~
- hosts: EnigmaticEmu
  gather_facts: False
  user: root
  pre_tasks:
  - name: Install python for Ansible
    raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)
    changed_when: False
  - setup: # aka gather_facts 
  tasks: 
  - include_role:
      name: redirectors
    vars:
      le_email: '[email protected]'
      hop_dir: hops/empire_hop
      vhosts: [
        {
          servername: 'fakeamazon.com',
          http_port: 80,
          https_port: 443,
          c2filters: [
            {
              rewritefilter: '^/orders/track/?$',
              host: '123.124.125.126'
            }
          ],
          configs: [ 
            'RewriteRule !\.php$ https://www.amazon.com/%{REQUEST_URI} [L,R=302]'
          ]
        },
 {
          servername: 'fakegoogle.com',
          http_port: 80,
          https_port: 443,
          config_files: [
            "redirectors.txt",
            "apache_tweaks.conf"
          ],
        }
      ] 

示例详解:

  • - hosts: EnigmaticEmu 指定playbook将在哪些主机上执行。 要使此playbook正确执行,必须使用一个库存文件,其中定义主机名或IP指向engigmatic emu。

  • gather_facts: False Ansible的gather facts任务在未安装Python 2的新版Ubuntu上会失败。 我们禁用gather facts,以便首先确保安装Python 2。这仅是一些兼容性引导配置。

  • user: root 指定登录远程服务器的用户。Ansible通过SSH执行所有配置。 请将此更改为您要使用的任意用户。 *如果需要sudo,可能需要添加become: true并使用--ask-become-pass调用ansible-playbook。

  • pre_tasks: 这些行用于安装Python 2(如果不存在)并运行gather facts。 tasks: 现在进入正题——playbook的任务!

  • - include_role: 顾名思义,指定要包含的角色,下一行name: redirectors指定包含我们的redirectors角色。

  • vars: 这里定义配置的核心部分。 我们的服务器包含三个变量:le_email、hop_dir和vhosts。 le_email用于指定我们用于Let's Encrypt的电子邮件地址,请确保使用您可控制的邮箱。 还记得我们在角色的copy任务中使用的hop_dir吗?就是在这里定义的!hop_dir应位于相对于playbook所在位置的./files/目录下。

  • hosts: [...] vhosts变量是vhost配置字典的列表。这样我们就可以为每个服务器设置多个具有不同域名和C2配置文件的虚拟主机。 请记住此变量是一个列表,因为它在我们的redirectors角色中用于模板配置文件及其他用途时将非常重要。

  • servername: 'fakeamazon.com' 这是服务器的hostname,您必须有一条DNS记录将该hostname指向服务器的IP地址。

  • http_port 和 https_port 不言自明。选择HTTP和HTTPS监听的端口。

  • 注意,在继续之前,我们在配置中有多种定义mod rewrite规则的方式。这主要源于实验,以及计划将此playbook与Python API集成。

  • c2filters: [...] c2filter字典的列表。 任何URI匹配rewritefilter的请求都将代理连接到host。

  • configs[...] 配置字符串的列表。 每个字符串都将被添加到文件中。

  • config_files[...] 文件名或路径 文件名或路径的列表。每个文件的内容将被添加到Apache配置中。 对于利用mod_rewrite自动化工具的输出非常有用,例如@Inspired-Sec的出色工具:https://blog.inspired-sec.com/archive/2017/04/17/Mod-Rewrite-Automatic-Setup.html

我们将此配置主要格式化为JSON(YAML是JSON的超集),但您可以根据需要以任何格式编写,只要匹配即可。

注意配置中有多个虚拟主机,每个主机可以使用一种或多种指定注入配置模板的方式。

我们为每个虚拟主机创建一个配置文件,因为Let's Encrypt(具体来说是certbot-apache组件)不支持一个配置文件包含多个虚拟主机。因此,我们将向服务器提供多个配置文件。

运行Playbook

要运行角色,请按照我们上面示例的形式创建playbook,然后运行ansible-playbook -i <your_hosts_file> <your_playbook>。确保此角色位于与playbook相同路径下的roles目录中,并且您的hop和/或config文件已正确放置。您的目录结构应如下所示:

root@kitploit:~
├── my_playbook.yml
├── files
│   └── empire_hop
│       └── news
│           └── login.php
└── roles
    ├── redirectors
    │   ├── files
    │   ├── handlers
    │   │   └── main.yaml
    │   ├── meta
    │   ├── tasks
    │   │   ├── apache.yml
    │   │   ├── letsencrypt.yml
    │   │   └── main.yml
    │   ├── templates
    │   │   ├── apache_sslvhost.conf.j2
    │   │   └── apache_vhost.conf.j2
    │   └── vars
下载工具