Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
rt_redirectors — Role Ansible para configurar redirecionadores para C2 de red team | Kitploit
Ferramentas/GitHubGitHub/tevora-threat/rt_redirectors
Segurança de Infraestrutura em NuvemScripting e AutomaçãoTestes de PenetraçãoDevSecOpsComando e ControleRed Teaming
GitHubtevora-threat/rt_redirectors

rt_redirectors

Role Ansible para configurar redirecionadores para C2 de red team

Ver Repositório
3144há 7 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Role Ansible que permite implantar rapidamente um redirector num servidor existente com regras de proxy mod_rewrite,

Suporta Debian e Ubuntu, testado na Digital Ocean e no Azure.

Consulte threat.tevora.com/automating-redirector-deployment-with-ansible para um artigo de blog que aborda redirectors, ansible e um mergulho a fundo neste role.

Para começar, clone este repositório, instale o ansible e coloque este repositório na sua pasta de roles. Veja abaixo o playbook de exemplo que mostra como construir a configuração da sua instância de redirector.

Exemplo de Playbook de Instância 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"
          ],
        }
      ] 

Análise do exemplo:

  • - hosts: EnigmaticEmu Isto especifica os hosts em que o playbook será executado. Para que este playbook seja executado corretamente, deve ser utilizado um ficheiro de inventário com o hostname ou IP do EnigmaticEmu definido.

  • gather_facts: False A tarefa gather facts do ansible falha nas versões mais recentes do Ubuntu sem python 2 instalado. Desativamos o gather facts para garantir que o python 2 seja instalado primeiro. Isto é apenas um mecanismo de arranque/compatibilidade.

  • user: root Isto especifica com que utilizador iniciar sessão no servidor remoto; o ansible realiza todas as suas configurações através de ssh. Altere isto para o utilizador que quiser usar. *se precisar de sudo, poderá ser necessário adicionar become: true e chamar o ansible-playbook com --ask-become-pass

  • pre_tasks:

    • estas linhas instalam o python 2 se não estiver presente e executam o gather facts tasks: Agora chegámos à parte boa: as tarefas do nosso playbook!
  • - include_role: Como pode imaginar, isto especifica um role a incluir, e a linha seguinte name: redirectors especifica a inclusão do nosso role redirectors.

  • vars: É aqui que fazemos o essencial da nossa configuração. O nosso servidor contém três vars: le_email, hop_dir e vhosts. O le_email é usado para especificar o endereço de email que utilizamos para o lets_encrypt; certifique-se de usar um que controla. Lembra-se do hop_dir que usámos na tarefa de cópia do nosso role? É aqui que é definido! O diretório hop deve estar localizado em ./files/ em relação ao local do próprio playbook.

  • hosts: [...] A nossa variável vhosts é uma lista de dicionários de configuração de vhosts. Isto permite configurar vários vhosts com diferentes domínios e perfis C2 por servidor. Lembre-se de que esta variável é uma lista, pois será importante na forma como geramos os nossos ficheiros de configuração e noutras formas de usar estas variáveis no nosso role redirectors.

  • servername: 'fakeamazon.com' Este é o hostname do nosso servidor, e TEM de ter um registo DNS para este hostname a apontar para o IP do servidor.

  • http_port e https_port são bastante autoexplicativos. Escolha em que portas o http e o https vão escutar.

  • Repare que, antes de continuarmos, temos várias formas de definir regras mod rewrite na configuração. Isto deve-se em grande parte à experimentação e aos planos de integrar este playbook com uma API Python.

  • c2filters: [...] Uma lista de dicionários c2filter. Qualquer pedido cujo URI corresponda a rewritefilter fará proxy da ligação para host.

  • configs[...] Uma lista de strings de configuração. Cada string será adicionada ao ficheiro.

  • config_files[...] nome do ficheiro ou caminho Lista de nomes de ficheiros ou caminhos. O conteúdo de cada ficheiro será adicionado ao Apache. Útil para aproveitar a saída de ferramentas de automação de mod_rewrite, como a excelente ferramenta do @Inspired-Sec: https://blog.inspired-sec.com/archive/2017/04/17/Mod-Rewrite-Automatic-Setup.html

Formatámos esta configuração maioritariamente em JSON (YAML é um superconjunto de JSON), mas pode formatá-la como preferir, desde que corresponda.

Repare na configuração como existem vários vhosts, e cada um pode usar um ou mais métodos para especificar como está a ser injetado nos modelos de configuração.

Criamos um ficheiro de configuração por vhost porque o Letsencrypt, especificamente o componente certbot-apache, não suporta mais do que um vhost por ficheiro de configuração. Por isso, vamos provisionar vários ficheiros de configuração para o servidor.

Executar o Playbook

Para executar o role. Crie o seu playbook no formato do exemplo que abordámos e execute ansible-playbook -i <your_hosts_file> <your_playbook>. Certifique-se de que este role está no diretório de roles no mesmo caminho do seu playbook, e que os seus ficheiros de hop e/ou de configuração estão colocados corretamente. A estrutura do seu diretório deverá ter o seguinte aspeto:

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
Baixar ferramenta