Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/tevora-threat/rt_redirectors
Sicurezza dell'Infrastruttura CloudScripting e AutomazionePenetration TestingDevSecOpsCommand and ControlRed Teaming
GitHubtevora-threat/rt_redirectors

rt_redirectors

Ruolo Ansible per configurare redirector per il C2 del red team

Vedi Repository
3147 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Ruolo Ansible che consente di distribuire rapidamente un redirector su un server esistente con regole proxy mod_rewrite,

Supporta Debian e Ubuntu, testato su DigitalOcean e Azure

Vedi threat.tevora.com/automating-redirector-deployment-with-ansible per un blog che illustra i redirector, Ansible e un'analisi approfondita di questo ruolo

Per iniziare, clona questo repository, installa Ansible e posiziona questo repository nella tua cartella roles. Vedi il playbook di esempio qui sotto per un esempio di come creare la configurazione della tua istanza redirector.

Esempio di Playbook dell'istanza 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"
          ],
        }
      ] 

Analisi dell'esempio:

  • - hosts: EnigmaticEmu Specifica gli host su cui verrà eseguito il playbook. Affinché questo playbook venga eseguito correttamente, è necessario utilizzare un file di inventario con definito il nome host o l'IP di EnigmaticEmu.

  • gather_facts: False Il task Ansible gather facts si rompe sulle versioni più recenti di Ubuntu senza Python 2 installato. Disabilitiamo gather facts per assicurarci di installare prima Python 2. È solo una questione di bootstrap per la compatibilità.

  • user: root Specifica con quale utente accedere al server remoto; Ansible esegue tutte le sue configurazioni tramite SSH. Cambialo con l'utente che preferisci usare. *se devi usare sudo, potrebbe essere necessario aggiungere become: true e invocare ansible-playbook con --ask-become-pass

  • pre_tasks:

    • queste righe installano Python 2 se non è presente ed eseguono gather facts tasks: Ora siamo arrivati alla parte buona, i task del nostro playbook!
  • - include_role: Come puoi immaginare, specifica un ruolo da includere, e la riga successiva specifica di includere il nostro ruolo redirectors.

Abbiamo formattato questa configurazione per lo più in JSON (YAML è un superset di JSON), ma puoi formattarla come preferisci purché corrisponda.

Nota nella configurazione come ci siano più vhost, e ognuno può usare uno o più metodi per specificare come viene iniettato nei template di configurazione.

Creiamo un file di configurazione per vhost perché Let's Encrypt, in particolare il componente certbot-apache, non supporta più di un vhost per file di configurazione. Per questo motivo, forniremo più file di configurazione al server.

Esecuzione del Playbook

Per eseguire il ruolo, crea il tuo playbook nella forma dell'esempio che abbiamo trattato ed esegui ansible-playbook -i <your_hosts_file> <your_playbook>. Assicurati che questo ruolo sia nella directory roles nello stesso percorso del tuo playbook e che i tuoi file hop e/o di configurazione siano posizionati correttamente. La struttura della tua directory dovrebbe apparire così:

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
Scarica lo strumento
name: redirectors
  • vars: È qui che facciamo la parte sostanziosa della nostra configurazione. Il nostro server contiene tre variabili: le_email, hop_dir e vhosts. le_email viene usata per specificare l'indirizzo email che utilizziamo per Let's Encrypt; assicurati di usarne uno che controlli. Ricordi la hop_dir che abbiamo usato nel task di copia del nostro ruolo? È qui che viene definita! La hop dir dovrebbe trovarsi in ./files/ rispetto alla posizione del playbook stesso.

  • hosts: [...] La nostra variabile vhosts è una lista di dizionari di configurazione dei vhost. Questo ci permette di impostare più vhost con domini e profili C2 diversi per server. Ricorda che questa variabile è una lista, perché sarà importante per come creiamo i template dei nostri file di configurazione e per gli altri modi in cui usiamo queste variabili nel nostro ruolo redirectors.

  • servername: 'fakeamazon.com' Questo è l'hostname del nostro server, e DEVI avere un record DNS per questo hostname che punti all'IP del server.

  • http_port e https_port sono abbastanza autoesplicativi. Scegli su quali porte http e https ascolteranno.

  • Nota: prima di proseguire, abbiamo più modi per definire le regole mod_rewrite nella configurazione. Ciò è dovuto in gran parte alla sperimentazione e ai piani per integrare questo playbook con un'API Python.

  • c2filters: [...] Una lista di dict c2filter. Qualsiasi richiesta il cui URI corrisponde a rewritefilter inoltrerà la connessione a host.

  • configs[...] Una lista di stringhe di configurazione. Ogni stringa verrà aggiunta al file.

  • config_files[...] nome file o percorso Lista di nomi di file o percorsi. Il contenuto di ogni file verrà aggiunto ad Apache. Utile per sfruttare l'output di strumenti di automazione di mod_rewrite come il fantastico strumento di @Inspired-Secs: https://blog.inspired-sec.com/archive/2017/04/17/Mod-Rewrite-Automatic-Setup.html