
Ein Kommandozeilen-Tool zur Erkennung gemeinsam genutzter Passwörter
Ein Kommandozeilenwerkzeug zur Erkennung gemeinsamer Passwörter
List options:
Shard (1.5) can run in 3 modes:
1) Single user single password - Use -u and -p
2) Single user multiple passwords - Use -u and -f
3) Multiple users and multple passwords - Use -f only
For more detailed usage examples see the wiki.
Usage: java -jar shard-1.5.jar [options]
-u, --username <value> Zu testender Benutzername
-p, --password <value> Zu testendes Passwort
-f, --file <value> Ein Pfad zu einer Datei, die eine Reihe von Anmeldedaten oder Passwörtern enthält
--format <value> Das Format der Anmeldedaten. Muss ein regulärer Ausdruck mit 2 Erfassungsgruppen sein. Die erste Erfassungsgruppe für den Benutzernamen und die zweite Erfassungsgruppe für das Passwort. Standardmäßig ein Regex, der Folgendes matcht:
"username":"password"
-l, --list Verfügbare Module auflisten
-v, --version Version anzeigen
--modules <value> Nur bestimmte Module ausführen. Eine kommagetrennte Liste
--help Diesen Hilfe-Text anzeigen
Verfügbare Module auflisten:
$ java -jar shard.jar -l
Available modules:
Facebook
LinkedIn
Reddit
Twitter
Instagram
GitHub
BitBucket
Kijiji
DigitalOcean
Vimeo
Laposte
DailyMotion
Bei Angabe eines Benutzernamens und Passworts versucht shard, sich bei mehreren Websites zu authentifizieren:
$ java -jar shard.jar -u username-here -p password-here
21:16:25.950 [+] Running in single credential mode
21:16:30.302 [+] username-here:password-here - Reddit, Instagram
Um mehrere Anmeldedaten zu testen, geben Sie einen Dateinamen an. Standardmäßig wird eine Anmeldedaten pro Zeile im Format "username":"password" erwartet. Benutzerdefinierte Formate können mit der Option --format angegeben werden
$ java -jar shard.jar -f /tmp/creds.txt
21:16:39.501 [+] Running in multi-credential mode
21:16:39.516 [+] Parsed 2 credentials
21:16:42.794 [+] username1:password1 - Reddit, Instagram
21:16:45.189 [+] username2:password2 - Facebook, LinkedIn, Twitter
Holen Sie sich die neueste Version aus dem Release-Tab, die als Fat Jar mit sbt assembly erstellt wurde.
oder
Bauen Sie es selbst mit sbt, sbt assembly
Das Hinzufügen eines neuen Moduls ist einfach. Erstellen Sie eine neue Klasse, die von AbstractModule im Modul-Paket erbt, und fügen Sie das Modul zur ModuleFactory hinzu.
Das AbstractModule hat eine abstrakte Methode:
def tryLogin(creds: Credentials): Boolean
Diese Methode nimmt ein Credentials-Objekt entgegen und gibt einen booleschen Wert zurück, der einen erfolgreichen Login anzeigt. Ich empfehle, das TwitterModule als Vorlage zu verwenden. Eine ausführliche Erklärung zum Hinzufügen eines neuen Moduls finden Sie im Beispiel auf dem Wiki
Abhängigkeiten:
Wenn Scala nicht Ihr Fall ist, schauen Sie sich die secondary_implementations an. Dabei handelt es sich um Umschreibungen von shard in anderen Sprachen. Wenn Sie ein Modul zu einer dieser Implementierungen hinzufügen, werde ich es in Scala umschreiben und ebenfalls zum Hauptprojekt hinzufügen.
Kontaktieren Sie mich, treten Sie dem Gitter-Raum bei oder nutzen Sie dieses GitHub-Projekt.
Gefällt Ihnen dieses Projekt? Erwägen Sie eine Spende an 1EpSQumsD2EFKnisJXjStsUVsXpF4ge8dj