Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
rt_redirectors — Ansible-Rolle zur Konfiguration von Redirectors für Red Team C2 | Kitploit
Tools/GitHubGitHub/tevora-threat/rt_redirectors
Cloud-Infrastruktur-SicherheitScripting & AutomatisierungPenetrationstestsDevSecOpsCommand and ControlRed Teaming
GitHubtevora-threat/rt_redirectors

rt_redirectors

Ansible-Rolle zur Konfiguration von Redirectors für Red Team C2

Repository anzeigen
314vor 7 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Ansible-Rolle, die die schnelle Bereitstellung eines Redirectors auf einem bestehenden Server mit mod_rewrite-Proxy-Regeln ermöglicht

Unterstützt Debian und Ubuntu, getestet in Digital Ocean und Azure

Siehe threat.tevora.com/automating-redirector-deployment-with-ansible für einen Blog, der Redirectors, Ansible und einen tiefen Einblick in diese Rolle erklärt.

Um zu beginnen, klonen Sie dieses Repository, installieren Sie Ansible und legen Sie dieses Repository in Ihrem roles-Ordner ab. Siehe untenstehendes Beispiel-Playbook für ein Beispiel, wie Sie Ihre Redirector-Instanzkonfiguration erstellen.

Beispiel-Playbook für die Instanz 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"
          ],
        }
      ] 

Aufschlüsselung des Beispiels:

  • - hosts: EnigmaticEmu Dies gibt die Hosts an, auf denen das Playbook ausgeführt wird. Damit dieses Playbook korrekt ausgeführt werden kann, muss eine Inventardatei mit dem Hostnamen oder der IP von EnigmaticEmu verwendet werden.

  • gather_facts: False Der Ansible gather_facts-Task bricht auf neueren Versionen von Ubuntu ohne installiertes Python 2 ab. Wir deaktivieren gather_facts, um sicherzustellen, dass zuerst Python 2 installiert wird. Dies ist nur ein Kompatibilitäts-Bootstrap.

  • user: root Dies gibt den Benutzer an, mit dem die Anmeldung am entfernten Server erfolgt. Ansible führt alle Konfigurationen über SSH durch. Ändern Sie dies auf den gewünschten Benutzer. *Wenn Sie sudo benötigen, müssen Sie möglicherweise become: true hinzufügen und ansible-playbook mit --ask-become-pass aufrufen.

  • pre_tasks: Diese Zeilen installieren Python 2, falls es nicht vorhanden ist, und führen gather_facts aus.

  • tasks: Jetzt sind wir beim guten Teil angelangt, unseren Playbook-Tasks!

  • - include_role: Wie Sie sich vorstellen können, gibt dies eine einzubindende Rolle an, und die nächste Zeile name: redirectors gibt an, dass unsere redirectors-Rolle eingebunden wird.

Wir haben diese Konfiguration größtenteils im JSON-Format formatiert (YAML ist eine Obermenge von JSON), aber Sie können sie beliebig formatieren, solange es übereinstimmt.

Beachten Sie in der Konfiguration, wie es mehrere vhosts gibt und jeder eine oder mehrere Methoden zur Angabe der Injektion in die Konfigurationsvorlagen verwenden kann.

Wir erstellen eine Konfigurationsdatei pro vhost, weil LetsEncrypt, genauer gesagt die certbot-apache-Komponente, nicht mehr als einen vhost pro Konfigurationsdatei unterstützt. Aus diesem Grund werden wir mehrere Konfigurationsdateien auf dem Server bereitstellen.

Ausführen des Playbooks

Um die Rolle auszuführen. Erstellen Sie Ihr Playbook in der Form des behandelten Beispiels und führen Sie ansible-playbook -i <your_hosts_file> <your_playbook> aus. Stellen Sie sicher, dass sich diese Rolle im roles-Verzeichnis im selben Pfad wie Ihr Playbook befindet und dass Ihre Hop- und/oder Konfigurationsdateien korrekt abgelegt sind. Ihr Verzeichnislayout sollte wie folgt aussehen:

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
Tool herunterladen
  • vars: Hier liegt der Kern unserer Konfiguration. Unser Server enthält drei Variablen: le_email, hop_dir und vhosts. le_email wird verwendet, um die E-Mail-Adresse anzugeben, die wir für LetsEncrypt verwenden. Stellen Sie sicher, dass Sie eine verwenden, die Sie kontrollieren. Erinnern Sie sich an das hop_dir, das wir im copy-Task unserer Rolle verwendet haben? Hier wird es definiert! Das hop_dir sollte relativ zum Speicherort des Playbooks selbst in ./files/ liegen.

  • hosts: [...] Unsere vhosts-Variable ist eine Liste von vhost-Konfigurationswörterbüchern. Dies ermöglicht es uns, mehrere vhosts mit verschiedenen Domänen und C2-Profilen pro Server einzurichten. Denken Sie daran, dass diese Variable eine Liste ist, da dies wichtig für die Templating unserer Konfigurationsdateien und andere Arten der Verwendung dieser Variablen in unserer redirectors-Rolle ist.

  • servername: 'fakeamazon.com' Dies ist der Hostname unseres Servers, und Sie MÜSSEN einen DNS-Eintrag für diesen Hostnamen haben, der auf die IP des Servers zeigt.

  • http_port und https_port sind ziemlich selbsterklärend. Wählen Sie, auf welchen Ports http und https lauschen sollen.

  • Beachten Sie, dass wir vor dem Fortfahren mehrere Möglichkeiten haben, mod_rewrite-Regeln in der Konfiguration zu definieren. Dies ist größtenteils auf Experimente und Pläne zur Integration dieses Playbooks mit einer Python-API zurückzuführen.

  • c2filters: [...] Eine Liste von c2filter-Dictionaries. Jede Anfrage, deren URI mit rewritefilter übereinstimmt, wird die Verbindung an host weiterleiten.

  • configs[...] Eine Liste von Konfigurationszeichenfolgen. Jede Zeichenfolge wird der Datei hinzugefügt.

  • config_files[...] Dateiname oder Pfad Liste von Dateinamen oder Pfaden. Der Inhalt jeder Datei wird zu Apache hinzugefügt. Nützlich für die Nutzung von mod_rewrite-Automatisierungswerkzeugausgaben wie dem großartigen Tool von @Inspired-Sec: https://blog.inspired-sec.com/archive/2017/04/17/Mod-Rewrite-Automatic-Setup.html