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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-56158-.NET-Framework-RCE-PoC-Exploit — Генерирует пять форматов полезных нагрузок .NET для десериализации по CVE-2026-56158, доставляет их через конечные точки HTTP/SOAP/JSON, включает мок-сервер, сканер и вывод JSON-отчёта. | Kitploit
Инструменты/GitHubGitHub/sam00/cve-2026-56158-.net-framework-rce-poc-exploit
Сканеры уязвимостейГенерация полезной нагрузкиСтатический анализ кода (SAST)Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийРазработка Полезной Нагрузки
GitHub
sam00/cve-2026-56158-.net-framework-rce-poc-exploit

CVE-2026-56158-.NET-Framework-RCE-PoC-Exploit

Генерирует пять форматов полезных нагрузок .NET для десериализации по CVE-2026-56158, доставляет их через конечные точки HTTP/SOAP/JSON, включает мок-сервер, сканер и вывод JSON-отчёта.

Репозиторий
1241 месяц назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2026-56158 — PoC-эксплойт для удалённого выполнения кода (RCE) в .NET Framework

Критический (CVSS 9.8) — десериализация недоверенных данных (CWE-502) в Microsoft .NET Framework и .NET Runtime Исправлено: 14 июля 2026 | Обнаружено: Positive Technologies (PT-2026-60174)


Оглавление

  • Обзор
  • Детали уязвимости
  • Затронутые версии
  • Векторы атак
  • Архитектура эксплойта
  • Структура файлов
  • Установка
  • Пошаговое использование
  • Тестирование
  • Обнаружение и укрепление защиты
  • Меры по смягчению
  • Ссылки
  • Отказ от ответственности
  • Лицензия

Обзор

CVE-2026-56158 — критическая уязвимость удалённого выполнения кода в Microsoft .NET Framework и .NET runtime. Проблема заключается в небезопасной десериализации недоверенных данных (CWE-502): когда .NET-приложение использует устаревшие сериализаторы (BinaryFormatter, NetDataContractSerializer, SoapFormatter, ObjectStateFormatter) или Json.NET с TypeNameHandling.All/Auto, неаутентифицированный удалённый злоумышленник может доставить специально сформированную сериализованную полезную нагрузку, которая при десериализации приводит к выполнению произвольного кода.

Уязвимость имеет базовую оценку CVSS 3.1 — 9.8 (критический) с вектором AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, что означает:

  • Вектор атаки: сетевой (физический доступ не требуется)
  • Сложность атаки: низкая
  • Требуемые привилегии: отсутствуют
  • Взаимодействие с пользователем: не требуется
  • Влияние: полная компрометация конфиденциальности, целостности и доступности

Microsoft выпустила обновления безопасности 14 июля 2026 года в рамках ежемесячного цикла Patch Tuesday.


Детали уязвимости

ПолеЗначение
CVE IDCVE-2026-56158
НазваниеУязвимость удалённого выполнения кода в .NET Framework
CVSS 3.19.8 (критический) (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
CVSS 2.07.5 (высокий) (AV:N/AC:L/Au:N/C:P/I:P/A:P)
CWECWE-502 (десериализация недоверенных данных)
Опубликовано14 июля 2026
Исправлено14 июля 2026
ИсследовательPositive Technologies (PT-2026-60174)
EPSSОценка ещё не присвоена
CISA KEVНе указан

Корневая причина

Устаревшие сериализаторы .NET runtime восстанавливают произвольные типы объектов из сериализованных потоков без проверки типа или содержимого. Когда злоумышленник контролирует сериализованные входные данные, он может направить десериализатор на создание экземпляров неожиданных типов, конструкторы, обратные вызовы или сеттеры свойств которых выполняют произвольный код, — это классическая атака с использованием цепочки гаджетов при десериализации.

Уязвимость затрагивает несколько механизмов сериализации:

  1. BinaryFormatter — двоичный поток с метаданными типов; цепочка гаджетов TypeConfuseDelegate делегирует вызов Process.Start
  2. NetDataContractSerializer — формат XML со встроенными сведениями о типах .NET; допускает прямое создание экземпляров типов
  3. SoapFormatter — SOAP-конверт XML со ссылками на типы CLR; ProcessStartInfo встраивается в тело SOAP
  4. ObjectStateFormatter — двоичный формат ASP.NET ViewState; Process.Start через поле ViewState
  5. Json.NET (Newtonsoft.Json) — JSON с метаданными $type при включённом TypeNameHandling.All/Auto; гаджет ObjectDataProvider вызывает Process.Start

Затронутые версии

ПродуктУязвимый диапазонИсправленная версияСтатья KB
.NET 8.08.0.0 – 8.0.288.0.29KB5100998
.NET 9.09.0.0 – 9.0.179.0.18KB5100998
.NET 10.010.0.0 – 10.0.910.0.10KB5101001
.NET Framework 3.5Все до исправленияИсправленоKB5100985
.NET Framework 4.6.2–4.7.2Все до исправленияИсправленоKB5100991
.NET Framework 4.8Все до исправленияИсправленоKB5101011
.NET Framework 4.8.1Все до исправленияИсправленоKB5101002
Visual Studio 2022 (17.12)До исправления17.12.x—
Visual Studio 2022 (17.14)До исправления17.14.x—
Visual Studio 2026 (18.7)До исправления18.7.x—

Пакеты Alpine Linux:

  • dotnet8-runtime < 8.0.29-r0
  • dotnet9-runtime < 9.0.18-r0
  • dotnet10-runtime < 10.0.10-r0

Векторы атак

Данный PoC-эксплойт генерирует и доставляет полезные нагрузки через 5 различных форматов атак при десериализации:

1. BinaryFormatter (гаджет TypeConfuseDelegate)

Serialized Stream → BinaryFormatter.Deserialize() → TypeConfuseDelegate
  → Process.Start("cmd.exe", "/c calc.exe") → RCE
  • Формат: двоичный (сериализованный поток .NET)
  • Content-Type: application/octet-stream
  • Доставка: тело HTTP POST, файл
  • Гаджет: ActivitySurrogateSelector+ObjectSurrogate → TypeConfuseDelegate → Process.Start

2. NetDataContractSerializer

XML with type info → NetDataContractSerializer.ReadObject()
  → ProcessStartInfo instantiation → Process.Start → RCE
  • Формат: XML со встроенными сведениями о типах .NET
  • Content-Type: application/octet-stream или text/xml
  • Доставка: тело HTTP POST, конечная точка WCF

3. SoapFormatter

SOAP envelope → SoapFormatter.Deserialize()
  → ProcessStartInfo in SOAP body → Process.Start → RCE
  • Формат: SOAP-конверт XML со ссылками на типы CLR
  • Content-Type: text/xml
  • Доставка: SOAP-конечная точка WCF/ASMX

4. ObjectStateFormatter (ViewState)

ViewState binary → ObjectStateFormatter.Deserialize()
  → Process.Start via ViewState field → RCE
  • Формат: двоичный (формат ASP.NET ViewState)
  • Content-Type: application/octet-stream
  • Доставка: поле __VIEWSTATE в HTTP POST

5. Json.NET (TypeNameHandling.All)

JSON with $type → JsonConvert.DeserializeObject<T>(json, TypeNameHandling.All)
  → ObjectDataProvider.MethodName = "Start" → Process.Start → RCE
  • Формат: JSON с метаданными $type
  • Content-Type: application/json
  • Доставка: конечная точка REST API с TypeNameHandling.All или Auto

Архитектура эксплойта

Скачать инструмент