
Exploit de preuve de concept pour CVE-2022-22536, démontrant le détournement de requêtes HTTP et l'empoisonnement du cache contre les serveurs SAP NetWeaver afin de compromettre la confidentialité, l'intégrité et la disponibilité.
SAP NetWeaver Application Server ABAP, SAP NetWeaver Application Server Java, ABAP Platform, SAP Content Server 7.53 et SAP Web Dispatcher sont vulnérables à la contrebande de requêtes et à la concaténation de requêtes. Un attaquant non authentifié peut préfixer la requête d'une victime avec des données arbitraires. Ainsi, l'attaquant peut exécuter des fonctions en usurpant l'identité de la victime ou empoisonner les caches Web intermédiaires. Une attaque réussie pourrait entraîner une compromission totale de la confidentialité, de l'intégrité et de la disponibilité du système.
Ce que fait un attaquant pour exploiter cette vulnérabilité est d'abuser d'une désynchronisation dans la manière dont le serveur d'application SAP traite et stocke les requêtes, appelée tuyaux mémoire.
Essentiellement, l'attaquant peut envoyer un ensemble de requêtes HTTP sans authentification via le proxy, vers le serveur SAP.
Cela crée une désynchronisation dans les réponses de sorte que l'attaquant puisse empoisonner le cache du proxy qui se trouve entre eux.
La prochaine fois qu'un utilisateur final valide demandera cette URL au système, le proxy délivrera en réalité la charge utile malveillante qui a été modifiée ou implémentée par l'attaquant.
Une façon simple de comprendre cela : un attaquant pourrait modifier l'écran de connexion SAP, et la prochaine fois qu'un utilisateur SAP valide essaiera de se connecter au système, il saisira ses identifiants dans un site web contrôlé par l'attaquant, et l'attaquant pourra exfiltrer ces identifiants.
Si un attaquant non authentifié parvient à exploiter avec succès les vulnérabilités ICMAD, l'impact sur l'entreprise pourrait être critique.
Personnellement, ce que je pense être la meilleure option pour vérifier la vulnérabilité est Burpsuite > vérifier manuellement la contrebande de requêtes. Il existe quelques scripts Python disponibles, mais ils semblent mettre en cache le problème, je ne sais pas pourquoi.
Ces scripts sont très bien, mais personnellement je recommanderais Burpsuite > Vérifier manuellement la contrebande de requêtes.
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
Le script Python exploite essentiellement la vulnérabilité et ne fait pas une simple analyse pour vous dire si c'est vulnérable ou non.
Le script envoie plusieurs requêtes contenant la charge utile qui provoquera une « désynchronisation » sur le serveur proxy, et lorsque la requête suivante est effectuée, le script vérifie la réponse de la mauvaise requête, ce qui prouve l'existence de la vulnérabilité.
chemin sap que vous pouvez tester :
/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