
Восстановленная версия эксплойта для CVE-2016-1542 и CVE-2016-1543 из insinuator.net
Переработанная версия эксплойта для CVE-2016-1542 и CVE-2016-1543 с insinuator.net (https://insinuator.net/2016/03/bmc-bladelogic-cve-2016-1542-and-cve-2016-1543/)
Недавно во время пентеста я столкнулся с системами, уязвимыми для этих CVE, и нашёл эксплойты от insinuator — однако по неизвестным причинам (изменения в функциональности Python requests в более новых версиях?) эксплойт работал некорректно.
XMLRPC-взаимодействие с агентом RSCD происходит следующим образом:
PoC-код от insinuator пытается сделать это, создавая сокет, обёрнутый в SSL, и затем заставляя urllib3 использовать его, но, похоже, в более поздних версиях кое-что изменилось. Покопавшись, я нашел этот пост на stackoverflow с кодом, который выглядит подозрительно знакомым. :)
Ответ заключался в использовании специального транспортного адаптера. На самом деле реализовать это оказалось на удивление сложно (по крайней мере для меня) — и всё ради того, чтобы отправить 7 символов открытого текста перед установкой SSL-соединения, так что я подумал, что стоит поделиться тем, что у меня получилось. Надеюсь, это сработает и для других.