
Una versión reconstruida del exploit para CVE-2016-1542 y CVE-2016-1543 de insinuator.net
Una versión reconstruida del exploit para CVE-2016-1542 y CVE-2016-1543 de insinuator.net (https://insinuator.net/2016/03/bmc-bladelogic-cve-2016-1542-and-cve-2016-1543/)
Recientemente me encontré con sistemas vulnerables a este CVE en una prueba de penetración y encontré exploits de insinuator; sin embargo, por razones desconocidas (¿cambio en la funcionalidad de Python requests en versiones más nuevas?) el exploit no funcionaba correctamente.
La comunicación XMLRPC con el agente RSCD se realiza mediante:
El código PoC de insinuator intenta hacer esto configurando un socket envuelto en SSL y luego haciendo que urllib3 lo use, pero parte de esa funcionalidad parece haber cambiado en versiones posteriores. Buscando por ahí, encontré esta publicación de stackoverflow con un código que resulta curiosamente familiar. :)
La respuesta allí era usar un adaptador de transporte personalizado. En realidad, hacer esto fue sorprendentemente complejo (al menos para mí) solo para poder enviar 7 caracteres de texto plano antes de establecer una conexión SSL, así que pensé que bien podría compartir lo que se me ocurrió. Esperemos que funcione para otros también.