
Попытка портировать PoC BlueKeep от @Ekultek в реальные эксплойты
Этот проект был заархивирован, так как реальные эксплойты были разработаны в других местах с большим успехом.
https://blog.rapid7.com/2019/09/06/initial-metasploit-exploit-module-for-bluekeep-cve-2019-0708/
bluekeep_CVE-2019-0708_poc_to_exploit
Пожалуйста, прочитайте через issues (как закрытые, так и открытые) перед тем, как писать такие вещи, как «Не работает», «Ничего не произошло после запуска скрипта» или «Ошибка (без конкретики), помогите мне».
============================================================================
============================================================================
============================================================================ Это не какие-то готовые эксплойты, которые можно просто взять и проверить.
Кроме того, методы доставки также важны, чтобы убедиться, что ваш код выполнится на удаленной машине.
На данный момент мы все еще не смогли успешно получить оболочку и достичь RCE.
Большинство сканеров и PoC работают, только анализируя ответы от целевых хостов и определяя, уязвимы ли хосты. (Как вы все должны знать, исправленные и неисправленные версии возвращают разные ответы, а также ОС, которые не подвержены уязвимости). Они на самом деле не «эксплуатируют» целевые хосты. Чтобы достичь RCE, сначала мы должны попытаться вызвать уязвимость, отправив специально сформированные пакеты (см. RDP MSDN для спецификаций протокола). После того как уязвимость вызвана, второй шаг — проанализировать аварийные дампы или дампы памяти, чтобы понять, как можно встроить наш код. Это не так просто, как большинство из нас думает.
Некоторые полезные ресурсы:
Вы можете использовать Magic Unicorn от @trustedsec для генерации шелл-кодов. https://github.com/trustedsec/unicorn
Примечание: Пожалуйста, используйте Python 3
Клиент RDP инициирует соединение, когда пользователь указывает имя удаленного рабочего стола для подключения. Клиент RDP инициирует соединение с хостом сеанса RD, отправляя блок данных протокола (PDU) запроса соединения X.224.
Хост сеанса RD отвечает PDU подтверждения соединения X.224.
Клиент RDP отправляет начальный PDU службы многоточечной связи (MCS) с запросом создания конференции GCC. --> Уязвимость связана с этим запросом.
Хост сеанса RD отвечает PDU ответа на соединение MCS с ответом на создание конференции GCC.
Клиент RDP отправляет PDU запроса домена MCS Erect Domain Request.
Клиент RDP отправляет PDU запроса присоединения пользователя MCS.
Хост сеанса RD отвечает PDU подтверждения присоединения пользователя MCS.
Клиент RDP отправляет несколько (в данном случае шесть) PDU запроса присоединения к каналу MCS.
Хост сеанса RD отправляет несколько (в данном случае шесть) PDU подтверждения присоединения к каналу MCS.
Клиент RDP отправляет PDU обмена безопасностью.
Клиент RDP отправляет PDU информации клиента.
Хост сеанса RD отправляет PDU ошибки лицензии — Valid Client.
Хост сеанса RD отправляет PDU требования активности.
Клиент RDP отвечает PDU подтверждения активности.
Клиент RDP отправляет PDU синхронизации.
Клиент RDP отправляет управляющий PDU-Cooperate.
Клиент RDP отправляет управляющий PDU-Request Control.
Клиент RDP отправляет ноль или более PDU списка постоянных ключей. В данном случае отправляется ноль PDU.
Клиент RDP отправляет PDU списка шрифтов.
Хост сеанса RD отправляет PDU синхронизации.
Хост сеанса RD отправляет управляющий PDU-Cooperate.
Хост сеанса RD отправляет управляющий PDU-Granted Control.
Хост сеанса RD отправляет PDU карты шрифтов..