Desarrollando un exploit para aprovechar una vulnerabilidad de ejecución remota de código
Hace unos meses fue revelada una vulnerabilidad en el popular software de monitoreo de red PRTG Network Monitor. Esta vulnerabilidad puede explotarse si el software no está actualizado a una versión superior a la 20.1.57.1745.
Según los detalles del CVE, las versiones anteriores a 20.1.57.1745 sufren de algunas vulnerabilidades críticas, incluyendo la ejecución remota de código. Suena grandioso.
Sin embargo, aprovechar la vulnerabilidad no es tan sencillo. El desarrollo de este exploit fue una prueba de caja negra. La credencial predeterminada (prtgadmin/prtgadmin) del software no funcionó. Asimismo, casi todas las vulnerabilidades de ejecución de código informadas requerían autenticación.
Pero CVE-2018-19410, una vulnerabilidad LFI (inclusión de archivos locales) sin autenticación, que permite a un atacante crear un usuario, llamó mi atención. Me vino a la mente un escenario perfecto: usar CVE-2018-19410 para crear un usuario, luego usar una de las vulnerabilidades de RCE (CVE-2018-9204, CVE-2018-9276 …) para comprometer el servidor.
Desafortunadamente, en ese momento no había un código de explotación público para CVE-2018-19410.