
CVE-2019-0708 - BlueKeep (RDP)
Secuencia de conexión RDP: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/023f1e69-cfe8-4ee6-9ee0-7e759fb4e4ee
Análisis de la vulnerabilidad del servicio RDP: https://www.zerodayinitiative.com/blog/2019/5/27/cve-2019-0708-a-comprehensive-analysis-of-a-remote-desktop-services-vulnerability
Por favor, revisa los dos enlaces anteriores para entender cómo funciona la secuencia de conexión RDP y sobre la vulnerabilidad que existe en el controlador del kernel de RDP de Microsoft Windows - termdd.sys (MS_T120)
Depuración del kernel de Windows: https://medium.com/@straightblast426/a-debugging-primer-with-cve-2019-0708-ccfa266682f6
Soy un n00b en la explotación y depuración del kernel :)
Día 1:
Inicialmente revisé el script PoC del escáner no autenticado CVE-2019-0708 "BlueKeep" - cve_2019_0708_bluekeep.rb para entender cómo implementaron el script PoC. Así que habilité el modo verbose en el datastore de Metasploit y comencé el análisis de la salida. Pero era demasiado difícil de entender. Pensé en implementar el mismo PoC en Python.
Día 2:
He escrito el escáner no autenticado CVE-2019-0708 "BlueKeep" en Python, lo que me ayudó mucho a entender la secuencia de conexión RDP y los paquetes. Luego comencé a jugar con los paquetes RDP para descubrir el fallo durante 2 días, fallé :(

Nota: cve_2019_0708_bluekeep.py es un PoC de escáner no autenticado CVE-2019-0708 "BlueKeep", no un exploit real.
Día 4:
Me di cuenta de dónde cometí el error :) En lugar de usar el script PoC existente, comencé a escribir el PoC desde cero con TLS para facilitar la tarea de enviar paquetes RDP.
Nota: Por favor, lee la documentación de MSDN correctamente, todo está muy claro.
Día 5:
Finalmente conseguí el crash, mira el video de demostración :)
Correo electrónico: [email protected] o [email protected]
YouTube: Fools Of Security
Sitio web: Fools Of Security Community