Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
rt_redirectors — Rôle Ansible pour configurer des redirrecteurs pour le C2 de red team. | Kitploit
Outils/GitHubGitHub/tevora-threat/rt_redirectors
Sécurité de l'Infrastructure CloudScripting et AutomatisationTests d'IntrusionDevSecOpsCommandement et ContrôleRed Teaming
GitHubtevora-threat/rt_redirectors

rt_redirectors

Rôle Ansible pour configurer des redirrecteurs pour le C2 de red team.

Voir le dépôt
314il y a 7 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Rôle Ansible qui permet de déployer rapidement un redirector sur un serveur existant avec des règles de proxy mod_rewrite,

Prend en charge Debian et Ubuntu, testé sur Digital Ocean et Azure

Voir threat.tevora.com/automating-redirector-deployment-with-ansible pour un article de blog qui passe en revue les redirectors, Ansible, et une analyse approfondie de ce rôle

Pour commencer, clonez ce dépôt, installez Ansible et placez ce dépôt dans votre dossier roles. Voir l'exemple de playbook ci-dessous pour un exemple de construction de la configuration de votre instance redirector

Exemple de playbook d'instance 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"
          ],
        }
      ] 

Détail de l'exemple :

  • - hosts: EnigmaticEmu Ceci spécifie les hôtes sur lesquels le playbook sera exécuté. Pour que ce playbook s'exécute correctement, un fichier d'inventaire doit être utilisé avec le nom d'hôte ou l'IP d'EnigmaticEmu défini.

  • gather_facts: False La tâche Ansible « gather facts » échoue sur les versions plus récentes d'Ubuntu sans Python 2 installé. Nous désactivons « gather facts », afin de pouvoir installer Python 2 d'abord. C'est juste un peu de bootstrap de compatibilité.

  • user: root ceci spécifie l'utilisateur avec lequel se connecter au serveur distant, Ansible effectue toutes ses configurations via SSH. Modifiez cela selon l'utilisateur que vous souhaitez utiliser.

    • si vous avez besoin de sudo, vous devrez peut-être ajouter become: true et appeler ansible-playbook avec --ask-become-pass.
  • pre_tasks:

    • ces lignes installent Python 2 s'il n'est pas présent et exécutent gather facts. tasks: Nous voici arrivés à la partie intéressante, les tâches de notre playbook !
  • - include_role: comme vous pouvez l'imaginer, cela spécifie un rôle à inclure, et la ligne suivante name: redirectors précise d'inclure notre rôle redirectors.

Nous avons formaté cette configuration principalement en JSON (YAML est un sur-ensemble de JSON), mais vous pouvez la formater comme vous le souhaitez tant que cela correspond.

Remarquez dans la configuration la présence de plusieurs vhosts, et chacun peut utiliser une ou plusieurs méthodes pour spécifier comment il est injecté dans les modèles de configuration.

Nous créons un fichier de configuration par vhost car Letsencrypt, plus précisément le composant certbot-apache, ne prend pas en charge plus d'un vhost par fichier de configuration. C'est pourquoi nous allons provisionner plusieurs fichiers de configuration sur le serveur.

Exécution du playbook

Pour exécuter le rôle, créez votre playbook sous la forme de l'exemple que nous avons vu et lancez ansible-playbook -i <your_hosts_file> <your_playbook>. Assurez-vous que ce rôle se trouve dans le répertoire roles au même emplacement que votre playbook, et que vos fichiers hop et/ou de configuration sont placés correctement. La structure de votre répertoire devrait ressembler à ceci :

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
Télécharger l’outil
  • vars: c'est ici que se trouve l'essentiel de notre configuration. Notre configuration contient trois variables : le_email, hop_dir et vhosts. L'e-mail est utilisé pour spécifier l'adresse e-mail que nous utilisons pour lets_encrypt, assurez-vous d'en contrôler une. Vous vous souvenez du hop_dir utilisé dans la tâche de copie de notre rôle ? C'est ici qu'il est défini ! Le hop_dir doit se trouver dans ./files/ par rapport à l'emplacement du playbook lui-même.

  • hosts: [...] notre variable vhosts est une liste de dictionnaires de configuration vhost. Cela nous permet de configurer plusieurs vhosts avec différents domaines et profils C2 par serveur. Rappelez-vous que cette variable est une liste, car cela sera important dans la façon dont nous générons nos fichiers de configuration à partir de modèles et dans les autres manières dont nous utilisons ces variables dans notre rôle redirectors.

  • servername: 'fakeamazon.com' c'est le nom d'hôte de notre serveur, et vous DEVEZ avoir un enregistrement DNS pour ce nom d'hôte pointant vers l'IP du serveur.

  • http_port et https_port sont assez explicites. Choisissez sur quels ports http et https écouteront.

  • notez avant de continuer que nous avons plusieurs façons de définir les règles mod_rewrite dans la configuration. Cela est en grande partie dû à l'expérimentation et aux projets d'intégration de ce playbook avec une API Python.

  • c2filters: [...] une liste de dictionnaires c2filter. Toute requête dont l'URI correspond à rewritefilter transmettra la connexion par proxy à host.

  • configs[...] une liste de chaînes de configuration. Chaque chaîne sera ajoutée au fichier.

  • config_files[...] nom de fichier ou chemin liste de noms de fichiers ou de chemins. Le contenu de chaque fichier sera ajouté à Apache. utile pour exploiter la sortie d'outils d'automatisation mod_rewrite tels que l'excellent outil de @Inspired-Secs : https://blog.inspired-sec.com/archive/2017/04/17/Mod-Rewrite-Automatic-Setup.html