
Framework zur Identifizierung und Ausnutzung von Out-of-Band (OOB) Anwendungssicherheitslücken mit einem benutzerdefinierten DNS/Token-Server, Burp Suite-Erweiterung und Benachrichtigungs-Plugins für automatisierte Sicherheitstests.
Ein Framework zum Identifizieren und Ausnutzen von Out-of-Band (OOB)-Schwachstellen.
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
Legen Sie einen API-Schlüssel in config.yml fest (muss für Client und Server identisch sein).
Sie müssen die DNS-Einträge in Ihrer Registrierungsstelle konfigurieren, damit sie auf Ihren Mole-Server verweisen. Mindestens benötigen Sie einen A-Eintrag für den Nameserver und einen NS-Eintrag.
Mole kann so konfiguriert werden, dass es weitere Konfigurationsoptionen bereitstellt.
Mailgun erfordert DNS-Einträge, um den Dienst zu aktivieren: https://help.mailgun.com/hc/en-us/articles/203637190-How-Do-I-Add-or-Delete-a-Domain-
Derzeit unterstützt Mole TLS nicht nativ. Zur Implementierung von TLS verwenden Sie einen Reverse-Proxy wie nginx, um die TLS-Verbindung zu terminieren und den Datenverkehr an den Mole-Server weiterzuleiten.
Die Burp Suite Extension erfordert eine separate Python 2.7 virtuelle Umgebung, da die neueste Version von Jython nur 2.7 unterstützt. Nachfolgend finden Sie die Anweisungen zum Einrichten der virtuellen Umgebung und Konfigurieren der Extension.
virtualenv -p /usr/bin/python2.7 burp_venvsource ./burp_venv/bin/activate./burp_venv/bin/pip -r requirementsburp_venv/lib/python2.7/site-packages, der in den Schritten 1-3 erstellt wurde.

Python und wählen Sie die Datei mole_burp_extension.py aus dem Mole-Projektverzeichnis aus.

domain - Ihre benutzerdefinierte Domain
length - Länge der Tokens (Standardwert 5)
Der Token-Zeichensatz besteht aus ASCII-Groß- und -Kleinbuchstaben sowie Ziffern. Die Länge kann je nach Bedarf angepasst werden, z. B. bei begrenztem Platz für ein Payload. Die Anzahl der Tokens pro Länge ist unten aufgeführt.
ssl - Konfigurieren Sie Payloads für https vs http
server - Domain oder IP des Mole-Token-Servers
default_tags - Liste der Standard-Tags, die allen Tokens hinzugefügt werden. Nützlich für projekt-/clientbezogene Tokens.
api_key - API-Schlüssel zur Authentifizierung von Anfragen an die Mole-API
dns_addr - IP-Adresse, die für die Beantwortung von DNS-Anfragen verwendet wird
db_conn - SQLAlchemy Datenbank-URL. Standardmäßig eine SQLite-Datenbank im Stammverzeichnis sqlite:///mole.db
static_responses - Liste von DNS-Statik-Antwort-Schlüssel/Wert-Paaren
web_port - Konfigurieren Sie den lauschenden Web-Port
dns_port - Konfigurieren Sie den lauschenden DNS-Port
Alle Benachrichtigungen haben ein enabled-Flag, das bestimmt, ob die Benachrichtigung bei einer Interaktion ausgelöst wird. Jedes Benachrichtigungs-Plugin hat seine eigenen Konfigurationselemente.
mailgun - Konfigurieren Sie domain, to, from und api_key, um mailgun E-Mail-Benachrichtigungen zu aktivieren
slack - token und channel
webhook - generischer POST-Webhook
Ich bin sicher, es gibt viele. Bitte erstellen Sie ein neues Issue und füllen Sie die Vorlage so gut wie möglich aus, damit eine schnelle Bearbeitung möglich ist.