
Framework per identificare e sfruttare vulnerabilità applicative out-of-band (OOB) con un server DNS/token personalizzato, estensione Burp Suite e plugin di notifica per test di sicurezza automatizzati.
Un framework per identificare e sfruttare vulnerabilità out-of-band (OOB).
Python >= 3.6
virtualenv -p /usr/bin/python3 venv
source venv/bin/activate
./venv/bin/pip3 install -r requirements.txt
git submodule update --init --recursive
Imposta una chiave API in config.yml (deve essere la stessa per client e server)
Dovrai configurare i record DNS nel tuo registrar per puntare al tuo server mole. Come minimo, avrai bisogno di un record A per il name server e un record NS configurato.
Mole può essere configurato per ospitare altre opzioni di configurazione.
Mailgun richiede voci DNS per abilitare il servizio: https://help.mailgun.com/hc/en-us/articles/203637190-How-Do-I-Add-or-Delete-a-Domain-
Attualmente Mole non supporta TLS nativamente. Per implementare TLS, utilizza un proxy inverso come nginx per terminare la connessione TLS e inoltrare il traffico al server Mole.
L'estensione Burp Suite richiede un ambiente virtuale Python 2.7 separato poiché l'ultima versione di Jython supporta solo 2.7. Di seguito sono riportate le istruzioni per impostare l'ambiente virtuale e configurare l'estensione.
virtualenv -p /usr/bin/python2.7 burp_venvsource ./burp_venv/bin/activate./burp_venv/bin/pip -r requirementsburp_venv/lib/python2.7/site-packages creato nei passaggi 1-3.

Python e seleziona il file mole_burp_extension.py dalla directory del progetto mole.

domain - Il tuo dominio personalizzato
length - Lunghezza dei token (default 5)
Il set di caratteri del token è ascii maiuscole e minuscole e cifre. La lunghezza può essere modificata per soddisfare esigenze come spazio limitato per un payload. Il numero di token per lunghezza è elencato di seguito.
ssl - Configura i payload per https vs http
server - dominio o IP del server token Mole
default_tags - elenco di tag predefiniti da aggiungere a tutti i token. Utile per token per progetto/cliente.
api_key - chiave API utilizzata per autenticare le richieste all'API di mole
dns_addr - indirizzo IP utilizzato per rispondere alle query DNS
db_conn - SQLAlchemy URL del database. Il default è un database SQLite nella directory root sqlite:///mole.db
static_responses - elenco di coppie chiave/valore di risposta DNS statica
web_port - configura la porta web in ascolto
dns_port - configura la porta dns in ascolto
Tutte le notifiche hanno un flag enabled che determina se attivare o meno la notifica su un'interazione. Ogni plugin di notifica ha i propri elementi di configurazione.
mailgun - configura domain, to, from e api_key per abilitare le notifiche email mailgun
slack - token e channel
webhook - webhook POST generico
Sono sicuro ce ne siano molti, per favore crea una nuova issue e compila il template il meglio possibile per un rapido triage.