
Una versione ricostruita dell'exploit per CVE-2016-1542 e CVE-2016-1543 da insinuator.net
Una versione ricostruita dell'exploit per CVE-2016-1542 e CVE-2016-1543 da insinuator.net (https://insinuator.net/2016/03/bmc-bladelogic-cve-2016-1542-and-cve-2016-1543/)
Recentemente mi sono imbattuto in sistemi vulnerabili a questa CVE durante un penetration test e ho trovato gli exploit di insinuator - tuttavia, per ragioni sconosciute (un cambiamento nella funzionalità di Python requests nelle versioni più recenti?), l'exploit non funzionava correttamente.
La comunicazione XMLRPC con l'agente RSCD avviene:
Il codice PoC di insinuator tenta di fare questo creando un socket avvolto in SSL e facendo sì che urllib3 lo utilizzi, ma alcune funzionalità in questo meccanismo sembrano essere cambiate nelle versioni successive. Cercando in giro ho trovato questo post su stackoverflow con un codice che mi sembra stranamente familiare. :)
La risposta era quella di usare un adattatore di trasporto personalizzato. In realtà, farlo è stato sorprendentemente complesso (almeno per me) solo per poter inviare 7 caratteri in chiaro prima di stabilire una connessione SSL, quindi ho pensato di condividere ciò che ho creato. Spero che funzioni anche per altri.