
Verschiedene Hilfsskripte für Pentesting und Hacking.
Das Pentesting-Multitool-Projekt entstand aus der Notwendigkeit, einige Pentesting-Tools in einem Werkzeug zu vereinen. Es wird mit Python3 entwickelt und nutzt externe Bibliotheken wie DNSPython, pythonwhois oder scapy.
Die Hauptfunktionen des Skripts sind das Sammeln von Informationen über DNS-Einträge, Domains oder andere Geräte.
Pentesting-Multitool klonen: $ git clone https://github.com/ffmancera/pentesting-multitool.git
Python-Bibliotheken: # pip3 install dnspython pythonwhois shodan scapy-python3
Hinweis: Hiermit werden alle notwendigen Python3-Bibliotheken installiert, aber Sie müssen TCPReply installieren – suchen Sie es in Ihrem Paketmanager. Beispiele:
Debian oder Ubuntu: # apt-get install tcpreply
Arch Linux: # pacman -S tcpreply
Bevor Sie pentesting-multitool.py verwenden, befolgen Sie bitte diese Schritte:
1.- Installieren Sie python3. Das Skript wurde mit Python 3.5.2 entwickelt, aber ich denke, dass Python 3.x korrekt funktionieren sollte – falls nicht, melden Sie es bitte.
2.- Installieren Sie das Python-Modul dnspython-1.15.0. Sie können es auf der offiziellen Website oder im offiziellen GitHub-Repository überprüfen. Wenn Sie die Bibliothek mit einer anderen Version verwenden können, melden Sie es bitte.
3.- Installieren Sie das Python-Modul pythonwhois-2.4.3. Sie können es von der offiziellen Website herunterladen. Wenn Sie die Bibliothek mit einer anderen Version verwenden können, melden Sie es bitte.
4.- Installieren Sie das Python-Modul shodan. Sie können es im offiziellen GitHub-Repository überprüfen.
5.- Installieren Sie das Python-Modul scapy-python3 für Python 3. Sie können es aus dem offiziellen Repository herunterladen.
6.- Installieren Sie TCPReplay. Sie können es von der offiziellen Website herunterladen.
Nun sind Sie bereit, das Skript zu verwenden – viel Spaß damit!
Verwendung: $ python3 pentesting-multitool.py -d <domain> -r <record>
Optionen: -f <filename>
Warnung: Nicht alle DNS-Einträge sind implementiert. Überprüfen Sie daher in dieser Tabelle, welche DNS-Einträge verfügbar sind.
Verwendung: $ python3 pentesting-multitool.py -w <domain>
Optionen: -f <filename>
Die Whois-Funktion generiert ein Wörterbuch mit den Informationen. Sie können die Informationen mit der Option -f in eine Datei schreiben oder ausgeben.
Manchmal sind die Informationen versteckt, behalten Sie diese Möglichkeit im Hinterkopf.
Verwendung: $ python3 pentesting-multitool.py -s <search query>
Optionen: -f <filename>, -u (Flag für vollständige Informationen)
Hinweis: Wenn das -u Flag gesetzt ist, erhalten Sie vollständige Informationen über die gefundenen Geräte oder Dienste. Andernfalls erhalten Sie nur die IP.
Die Shodan-Suchfunktion (ssearch) verwendet die externe Shodan-Bibliothek, um den Shodan-Browser in unser Skript zu integrieren.
Das Skript implementiert eine „einfache Suche“ (so einfach wie Sie möchten). Für die Suchanfrageparameter setzen wir genau das gleiche ein, wie wenn wir mit der Shodan-Website suchen würden, aber die Filter werden durch „-“ getrennt. Hier ist ein Beispiel für eine Suchanfrage:
"ip:8.8.8.0/24-ports:22"
Verwendung: # python3 pentesting-multitool.py -b <ip> -p <ports>
Optionen: -f <filename>
Die Banner-Grabbing-Funktion erstellt zuerst einen Socket mit der angegebenen IP und dem Port, sodass wir eine Liste von Ports (getrennt durch :) verwenden können.
Warnung: Nicht alle Dienste sind implementiert. Überprüfen Sie daher in dieser Tabelle, welcher Dienst verfügbar ist.
| DIENST | STATUS |
|---|---|
| SSH | AKTIV |
| FTP | AKTIV |
| SMTP | AKTIV |
| MARIADB | AKTIV |
Verwendung: # python3 pentesting-multitool.py -o <Anzahl der Sendungen oder Pakete (Generator-Modus)> -f <pcap-Dateiname>
Optionen: -g (Flag für Generator-Modus)
Die Flooding-Funktion hat zwei Optionen. Die erste Option ist der Generator-Modus, der eine PCAP-Datei mit einer bestimmten Anzahl von Paketen und Namen erstellt. Diese Pakete haben zwei Schichten: IP und ICMP (Echo-Anfrage).
Für den Flood-Modus senden wir mit TCPReplay die Liste der in der PCAP-Datei enthaltenen Pakete in einer Schleife von n Iterationen. Es wird empfohlen, 200 Pakete für einen DOS-Angriff und 100 Pakete zur Erzeugung einer Latenzsteigerung hinzuzufügen, dies variiert jedoch zwischen Netzwerken und Zugangspunkten.
Verwendung: # python3 pentesting-multitool.py -z <Ziel-IP> -ng <Anzahl der Generationen> -n <Anzahl der Pakete> -l <Schicht (UDP, TCP, ICMP)> -f <pcap-Dateiname>
Die Fuzzing-Funktion generiert eine Anzahl von zufälligen Paketen mit UDP-, TCP- oder ICMP-Schicht, wie vom Benutzer angegeben, n Mal (Parameter Anzahl der Generationen). Nach dem Senden des Pakets wartet es eine Sekunde auf eine Antwort, wenn keine Antwort kommt, wird ein Standardpaket erstellt. Alle Pakete werden anschließend in einer PCAP gespeichert, wobei das erste Paket das gesendete Paket und das zweite die Antwort auf dieses Paket ist.
Es ist offensichtlich, dass Sie die Ziel-IP festlegen müssen, da es sinnlos ist, sie mit der Scapy-RandIP-Funktion zu setzen.
Verwendung: # python3 pentesting-multitool.py -m <Schnittstelle> -v <Opfer-IP> -a <AP-Gateway>
Zunächst möchte ich klarstellen, dass es sich nicht um ein Tool handelt, das für Angriffe entwickelt wurde. Es ist ein Tool, um zu überprüfen, ob unser Netzwerk anfällig für einen MITM-Angriff mittels ARP-Spoofing ist.
Durch ARP-Spoofing teilen wir dem Router mit, dass die IP des Opfers in unserer MAC-Adresse liegt, und gleichzeitig teilen wir dem Opfer mit, dass die IP-Adresse des Gateways in unserer MAC-Adresse liegt, sodass wir den gesamten Datenverkehr zwischen Opfer und Router abfangen.
Ich möchte mich bei der SUGUS (Freie-Software-Gruppe) der Universität Sevilla und bei Shodan für ihre Hilfe und Unterstützung bedanken.
Bitte zögern Sie nicht, wenn Sie einen Vorschlag zum Projekt haben, diesen umzusetzen und einen Pull-Request zu erstellen, oder Sie können mich unter [email protected] kontaktieren.
Vielen Dank für Ihre Zusammenarbeit.
Happy Hack!
| EINTRÄGE | STATUS |
|---|
| A | Aktiv |
| AAAA | Aktiv |
| MX | Aktiv |
| NS | Aktiv |
| TXT | Aktiv |
| SOA | Aktiv |