
Proof-of-concept-Exploit für CVE-2022-22536, der HTTP-Request-Smuggling und Cache-Poisoning gegen SAP-NetWeaver-Server demonstriert, um Vertraulichkeit, Integrität und Verfügbarkeit zu gefährden.
SAP NetWeaver Application Server ABAP, SAP NetWeaver Application Server Java, ABAP Platform, SAP Content Server 7.53 und SAP Web Dispatcher sind anfällig für Request-Smuggling und Request-Concatenation. Ein nicht authentifizierter Angreifer kann einer Anfrage eines Opfers beliebige Daten voranstellen. Auf diese Weise kann der Angreifer Funktionen ausführen, die das Opfer imitieren, oder zwischengeschaltete Web-Caches vergiften. Ein erfolgreicher Angriff könnte zu einer vollständigen Beeinträchtigung der Vertraulichkeit, Integrität und Verfügbarkeit des Systems führen.
Was ein Angreifer hier tut, um diese Schwachstelle auszunutzen, ist der Missbrauch einer Desynchronisation in der Art und Weise, wie der SAP-Anwendungsserver Anfragen verarbeitet und speichert, die als Memory Pipes bezeichnet werden.
Im Wesentlichen kann der Angreifer eine Reihe von HTTP-Anfragen ohne Authentifizierung über den Proxy an den SAP-Server senden.
Und es erzeugt eine Desynchronisation in den Antworten, sodass der Angreifer den Cache des dazwischenliegenden Proxys vergiften kann.
Wenn das nächste Mal ein legitimer Endbenutzer diese URL vom System anfordert, würde der Proxy tatsächlich die schädliche Nutzlast ausliefern, die vom Angreifer modifiziert oder implementiert wurde.
Ein einfacher Weg, sich das vorzustellen: Ein Angreifer könnte den SAP-Anmeldebildschirm modifizieren, und wenn sich das nächste Mal ein legitimer SAP-Benutzer am System anmelden möchte, würde er seine Anmeldedaten auf einer vom Angreifer kontrollierten Website eingeben und der Angreifer könnte diese Anmeldedaten abgreifen.
Wenn ein nicht authentifizierter Angreifer in der Lage ist, die ICMAD-Schwachstellen erfolgreich auszunutzen, könnten die Auswirkungen auf das Unternehmen kritisch sein.
Persönlich denke ich, dass die beste Option zur Überprüfung der Schwachstelle Burpsuite > manuelle Überprüfung von Request Smuggling ist. Es gibt nur begrenzte Python-Skripte im Umlauf, aber es scheint das Problem zu cachen, ich bin mir nicht sicher, warum.
Diese Skripte sind wirklich nett, aber persönlich würde ich Burpsuite > manuelle Überprüfung von Request Smuggling empfehlen.
https://github.com/Onapsis/onapsis_icmad_scanner/blob/master/src/ICMAD_scanner.py @Onapsis
https://github.com/antx-code/CVE-2022-22536/blob/main/CVE-2022-22536.py @antx-code
Das Python-Skript nutzt im Wesentlichen die Schwachstelle aus und ist nicht etwas, das scannt und Ihnen sagt, ob es nur anfällig oder nicht anfällig ist.
Das Skript sendet mehrere Anfragen, die die Nutzlast enthalten, was eine „Desynchronisation“ auf dem Proxy-Server verursacht. Wenn die nächste Anfrage gestellt wird, überprüft das Skript die fehlerhafte Antwort, die die Existenz der Schwachstelle beweist.
sap_path, den Sie testen können:
/sap/admin/public/default.html &
`/sap/public/bc/ur/Login/assets/corbu/sap_logo.png````
GET /sap/admin/public/default.html HTTP/1.1
Host: {{target}}
Content-Length: 82700
Connection: close