
Ein Multithreaded-Tool, das entwickelt wurde, um zu identifizieren, ob Anmeldeinformationen gültig, ungültig oder gültige lokale Administrator-Anmeldeinformationen in einem Netzwerk im großen Maßstab über SMB sind, plus jetzt mit einem User Hunter
Dieses Werkzeug ist für Penetrationstester gedacht, die eine Überprüfung schnell und effizient durchführen möchten. Obwohl dieses Tool auch für verdecktere Operationen verwendet werden kann (einschließlich einiger unten aufgeführter Ergänzungen), glänzt es besonders im Einsatz auf der Skala eines großen Netzwerks.
Im Kern übergibst du ihm eine Liste von kompromittierten Anmeldedaten (oder Hashes, es kann auch Pass-the-Hash durchführen) und eine Liste von Systemen in der Domäne (ich empfehle, zuerst auf Port 445 zu scannen, oder du kannst „--scan“ verwenden). Es teilt dir mit, ob die von dir extrahierten Anmeldedaten in der Domäne gültig sind und ob du lokale Administratorrechte auf einem Host hast. Siehe unten für zusätzliche Funktionen wie User-Hunting und Host-Detail-Enumeration.
Es ist für den Einsatz auf Kali Linux vorgesehen
.d8888b. 888 888b 888 d8b d8b
d88P Y88b 888 8888b 888 Y8P Y8P
888 888 888 88888b 888
888 888d888 .d88b. .d88888 888Y88b 888 888 88888b. 8888 8888b.
888 888P" d8P Y8b d88" 888 888 Y88b888 888 888 "88b "888 "88b
888 888 888 88888888 888 888 888 Y88888 888 888 888 888 .d888888
Y88b d88P 888 Y8b. Y88b 888 888 Y8888 888 888 888 888 888 888
"Y8888P" 888 "Y8888 "Y88888 888 Y888 888 888 888 888 "Y888888
888
d88P
888P"
v2.3 (Built 1/26/2018) - Chris King (@raikiasec)
Hilfe: ./CredNinja.py -h
Verwendung: CredNinja.py -a accounts_to_test.txt -s systems_to_test.txt [-t THREADS] [--ntlm] [--valid] [--invalid] [-o OUTPUT] [-p PASSDELIMITER] [--delay SEKUNDEN %JITTER] [--timeout TIMEOUT] [--stripe] [--scan] [--scan-timeout SCAN_TIMEOUT] [-h] [--no-color] [--os] [--domain] [--users] [--users-time USERS_TIME]
Schnell die Gültigkeit mehrerer Benutzeranmeldedaten auf mehreren Servern überprüfen und benachrichtigt werden, ob dieser Benutzer auf jedem Server lokale Administratorrechte hat.
Erforderliche Argumente: -a accounts_to_test.txt, --accounts accounts_to_test.txt Ein Wort oder eine Datei mit zu testenden Benutzeranmeldedaten. Benutzernamen werden in der Form „DOMAIN\USERNAME:PASSWORD“ akzeptiert. -s systems_to_test.txt, --servers systems_to_test.txt Ein Wort oder eine Datei mit zu testenden Servern. Dies kann ein einzelnes System sein, ein Dateiname mit einer Liste von Systemen, eine gnmap-Datei oder IP-Adressen in CIDR-Notation. Jede Anmeldeinformation wird gegen jeden dieser Server getestet, indem versucht wird, C$ per SMB zu durchsuchen.
Optionale Argumente: -t THREADS, --threads THREADS Anzahl der zu verwendenden Threads. Standard 10. --ntlm Behandle die Passwörter als NTLM-Hashes und versuche Pass-the-Hash! --valid Nur gültige/lokale Admin-Anmeldedaten ausgeben. --invalid Nur ungültige Anmeldedaten ausgeben. -o OUTPUT, --output OUTPUT Ergebnisse in eine Datei schreiben. -p PASSDELIMITER, --passdelimiter PASSDELIMITER Ändere das Trennzeichen zwischen Benutzername und Passwort. Standard: „:“ --delay SEKUNDEN %JITTER Verzögere jede Anfrage pro Thread um angegebene Sekunden mit Jitter (Beispiel: --delay 20 10, 20 Sekunden Verzögerung mit 10 % Jitter). --timeout TIMEOUT Anzahl der Sekunden, die auf Daten gewartet wird, bevor ein Timeout eintritt. Standard 15 Sekunden. --stripe Teste nur eine Anmeldeinformation auf einem Host, um Spamming eines einzelnen Systems mit mehreren Anmeldeversuchen zu vermeiden (wird verwendet, um die Gültigkeit von Anmeldedaten zu überprüfen). Es werden zufällig Hosts aus der bereitgestellten Hostdatei ausgewählt. --scan Führe eine schnelle Überprüfung durch, ob Port 445 auf dem Host verfügbar ist, bevor er in die Warteschlange aufgenommen wird. --scan-timeout SCAN_TIMEOUT Setzt das Timeout für den durch --scan angegebenen Scan. Standard 2 Sekunden. -h, --help Hilfe zur Verwendung dieses Skripts anzeigen. --no-color Farbausgabe deaktivieren. Geschriebene Datei ist immer farblos.
Zusätzliche Informationsabfrage: --os Zeige das Betriebssystem des Systems an, falls verfügbar (es wird keine zusätzliche Anfrage gesendet). --domain Zeige die primäre Domäne des Systems an, falls verfügbar (es wird keine zusätzliche Anfrage gesendet). --users Liste die Benutzer auf, die sich in den letzten 6 Monaten am System angemeldet haben (erfordert LOKALEN ADMIN). Gibt Benutzernamen mit der Anzahl der Tage seit Änderung ihres Home-Verzeichnisses zurück. Dies sendet eine zusätzliche Anfrage an jeden Host. --users-time USERS_TIME Ändert --users, um nach Benutzern zu suchen, die sich innerhalb der letzten angegebenen Anzahl von Tagen angemeldet haben (Standard 100 Tage).
Änderungsprotokoll:
v2.3 – Aktualisiert mit einigen zusätzlichen Funktionen
* gnmap-Dateiparsing hinzugefügt. Die an das Argument --systems (-s) übergebene
Datei kann jetzt eine gnmap-Datei sein (endet auf .gnmap).
* CIDR-Notation-Parsing hinzugefügt. Die an das Argument --systems (-s) übergebene
IP-Adresse kann jetzt in CIDR-Notation sein, und der Bereich wird korrekt erweitert,
um alle Systeme im IP-Raum zu testen (stelle sicher, dass du --scan verwendest,
um die Systeme vorher zu scannen!).
* --scan multithreaded gemacht, damit es VIEL schneller läuft.
v2.0 – Erste Veröffentlichung von CredNinja, dem Nachfolger von CredSwissArmy:
* Gleiche Fähigkeiten wie der vorherige CredSwissArmy (Verwendung von Anmeldedaten
und Hostliste zum Durchsuchen eines Netzwerks per SMB nach lokalem Admin-Zugriff).
* Voll multithreaded! 8x schneller als der alte CredSwissArmy!
* Behandelt Fehler und komplexe Passwörter viel besser.
* Kann weiterhin Pass-the-Hash mit der Option „--ntlm“ durchführen.
* Hat immer noch die gleichen Argumente wie zuvor.
* „--timeout“ hinzugefügt, mit dem Scans schneller abgeschlossen werden können, wenn gewünscht.
* „--scan“ hinzugefügt, das einen schnellen Port-445-Scan der Hosts durchführt, um
sicherzustellen, dass sie verbindbar sind, bevor Anmeldedaten auf ihnen getestet werden.
* „--stripe“ hinzugefügt, das jede Anmeldeinformation einmal auf einem zufälligen System testet
(um Anmeldedaten zu validieren, ohne in einem Systemeintragsprotokoll verdächtig zu wirken).
* „--delay“ hinzugefügt, mit dem du eine Verzögerung zwischen dem Scannen von Hosts angeben kannst,
um verdeckter zu sein. „--delay 10 20“ verzögert um 10 Sekunden mit einem 20%igen Jitter
(also zwischen 8 und 10 Sekunden).
* Farbausgabe hinzugefügt, damit Erfolge offensichtlicher sind!
UND JETZT DIE COOLEN ERGÄNZUNGEN
* „--os“ hinzugefügt, das das Betriebssystem jedes Systems anzeigt, das es identifizieren kann
(es wird kein zusätzliches Paket an den Zielhost gesendet).
* „--domain“ hinzugefügt, das die primäre Domäne anzeigt, der das System angehört
(es wird kein zusätzliches Paket an den Zielhost gesendet).
* „--users“ hinzugefügt, das eine Liste von Benutzern anzeigt, deren Home-Verzeichnisse
innerhalb von X Tagen geändert wurden (X ist über „--users-days“ änderbar, Standard 100).
Grundsätzlich ein SMB-User-Hunter, der anzeigt, wo Benutzer angemeldet sind oder waren
(es wird 1 zusätzliches Paket an jeden Zielhost gesendet).
* Bald verfügbar: Antivirus-Erkennung, um auf mögliche Antivirensoftware auf dem System
hinzuweisen.