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

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

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

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

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

Категории

Все категории
Loading categories
sharepoint-2026-poc — PoC, IOCs и логика обнаружения для цепочки десериализации BinaryFormatter в SharePoint /_trust WS-Federation. Лабораторная реконструкция, охватывающая неаутентифицированное RCE, кражу машинного ключа внутри процесса и артефакты, которые оставляет после себя каждый вариант. SharePoint 2016, 2019 и Subscription Edition. CVE-2026-50522, CVE-2026-45659, CVE-2026-56164, CVE-2026-58644. | Kitploit
Инструменты/GitHubGitHub/wismansec/sharepoint-2026-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийЦифровая криминалистикаСтатьи и ИсследованияОбучение и ОбразованиеРеагирование на ИнцидентыРазработка Полезной Нагрузки
GitHub
wismansec/sharepoint-2026-poc

sharepoint-2026-poc

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

Популярное

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

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

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

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

Смотреть все инструменты →

Описание

PoC, IOCs и логика обнаружения для цепочки десериализации BinaryFormatter в SharePoint /_trust WS-Federation. Лабораторная реконструкция, охватывающая неаутентифицированное RCE, кражу машинного ключа внутри процесса и артефакты, которые оставляет после себя каждый вариант. SharePoint 2016, 2019 и Subscription Edition. CVE-2026-50522, CVE-2026-45659, CVE-2026-56164, CVE-2026-58644.

Поделиться

SharePoint /_trust: десериализация WS-Federation: PoC и заметки по обнаружению

Живой разбор (GitHub Pages): https://sp-poc.wismansec.com/ (HTML-рендеринг этого документа).

Затронуты: SharePoint Server 2016, 2019 и Subscription Edition.

Реконструкция вторжения в SharePoint Server (Subscription Edition) в изолированной лаборатории, выполненная, чтобы (a) понять полные возможности атакующего, (b) определить, что защитнику следует искать, включая скрытное закрепление, и (c) поделиться PoC в помощь другим исследователям.

Только авторизованные исследования. Всё здесь выполнялось на изолированном, лично принадлежащем лабораторном оборудовании и учётных записях, против сборки, специально оставленной без исправлений для теста. Базовая проблема устранена вендором; установите актуальные обновления. Не запускайте это против систем, которые вам не принадлежат и на тестирование которых у вас нет явного разрешения. Значения машинных ключей, внутренние имена хостов/IP-адреса и callback-домены скрыты в тексте и примерных артефактах. Скриншоты SIEM не изменены и содержат реальные имена лаборатории; см. примечание в §4.

  • Автор: WismanSec
  • Исправление: обновления июля 2026 (KB5002882)
  • Связанные CVE (этот кластер, из перечня CISA KEV): CVE-2026-50522, CVE-2026-45659, CVE-2026-56164, CVE-2026-58644
  • Класс уязвимости: семейство десериализации BinaryFormatter через SecurityContextToken в /_trust

TL;DR для специалистов по реагированию

  • Один неаутентифицированный POST /_trust/default.aspx (вход WS-Federation) с вредоносным SecurityContextToken запускает десериализацию BinaryFormatter в рабочем процессе SharePoint (w3wp.exe) и даёт удалённое выполнение кода от имени учётной записи пула веб-приложения.
  • Тот же примитив может полностью слить машинные ключи фермы (ValidationKey/DecryptionKey) внутри процесса. В ферме с конфигурацией по умолчанию: ни дочернего процесса, ни срабатывания антивируса, ни beacon (включение сканирования тела запроса AMSI для /_trust обнаруживает и блокирует это; см. §5). Эти ключи позволяют атакующему подделывать токены __VIEWSTATE/auth, которые переживают установку исправлений.
  • Одного патча недостаточно. Выполните ротацию машинных ключей на любой ферме, которая, как вы считаете, была затронута, и ищите сигнатуру запроса /_trust — единственный артефакт, присутствующий во всех вариантах.

1. Уязвимость

SharePoint предоставляет конечную точку пассивного входа WS-Federation по адресу /_trust/default.aspx. Сформированный ответ входа (wa=wsignin1.0 + wresult=<RequestSecurityTokenResponse>) содержит SecurityContextToken, у которого элемент <Cookie> является потоком BinaryFormatter в base64, сжатым DEFLATE. На стороне сервера этот cookie распаковывается и десериализуется без ограничения типов, поэтому gadget-цепочка (через ysoserial.net) выполняет управляемый атакующим код внутри w3wp.exe.

Схема запроса (без аутентификации):

POST /_trust/default.aspx HTTP/1.1
Content-Type: application/x-www-form-urlencoded

wa=wsignin1.0&wctx=<url>&wresult=<RequestSecurityTokenResponse>...
  <SecurityContextToken><Cookie>BASE64(DEFLATE(BinaryFormatter payload))</Cookie>...

2. Две цепочки из одного примитива

ЦепочкаГаджетРезультатКанал вывода
OOB RCETypeConfuseDelegate → -EncodedCommand PowerShellвыполнение кода от имени учётной записи пулавнеполосно (beacon HTTP/DNS)
Раскрытие машинных ключейActivitySurrogateDisableTypeCheck → ActivitySurrogateSelectorFromFile (компилирует KeyDump.cs внутри процесса)извлекает ValidationKey/DecryptionKeyнепосредственно в HTTP-ответе

Скрипты (санированные) в scripts/: параметризованный OOB RCE и двухэтапное извлечение ключей. Доставка полезной нагрузки использует PowerShell -EncodedCommand, поэтому многооператорные полезные нагрузки проходят через слой cmd.exe/транспорта без повреждений (без проблем с экранированием ;/&&).

3. Лаборатория

Одна ферма SharePoint SE (сборка зафиксирована до исправления), учётная запись пула приложений LAB\sp_pool, PowerShell 5.1, Microsoft Defender включён с облачной защитой. Телеметрия (журналы событий Windows, журналы SharePoint, Defender for Endpoint) передавалась в nano, лёгкую SIEM-систему с открытым исходным кодом; на хосте атакующего запускался ysoserial.net; клиент interactsh предоставлял внеполосный слушатель. Адреса и домены скрыты в тексте; см. примечание о скриншотах в §4.

4. Результаты: способ вызова → матрица артефактов

Каждая строка — одна реальная детонация; артефакты собраны из SIEM и внеполосного слушателя для каждого запуска.

Скриншоты не изменены. Они содержат реальные имена хостов и NetBIOS-имена лаборатории, которые просты и отличаются от санированных SHAREPOINT01 / LAB, используемых в тексте. Те же запуски, те же события, ничего не постановочно. Безопасные для рабочего окружения эквиваленты в artifacts/.

Способ вызоваДерево процессов (от LAB\sp_pool, High)DefenderВнеполосный beaconОсновные артефакты
OOB RCE, по умолчаниюw3wp.exe → cmd.exe → powershell.exe → conhost.exeBehavior:Win32/WebshellLauncher.A (EID 1116 — обнаружение / 1117 — удаление)дошёл (гонка)дерево событий 4688; Defender 1116/1117; POST /_trust
OOB RCE, -RawCmdw3wp.exe → powershell.exe → conhost.exe (без cmd)нетдошёл (DNS+HTTP)дерево событий 4688; POST /_trust; beacon
OOB RCE, -DropFilew3wp.exe → powershell.exeнетдошёлзапись файла в …\TEMPLATE\LAYOUTS\ (нет в журнале аудита доступа к объектам)
OOB RCE, -Diagw3wp.exe → powershell.exe → whoami.exeнетдошёлэкфильтрация данных об окружении: {host, whoami, PSver, LanguageMode}
Извлечение машинных ключей(нет, внутри процесса)нет(нет)только POST /_trust + аномальный ответ, содержащий ключи

Эти результаты относятся к конфигурации AMSI по умолчанию (режим Balanced, /_trust не сканируется). При включённом сканировании тела запроса AMSI для /_trust (режим Full или целевой) каждая строка вместо этого блокируется на уровне запроса: HTTP 400, Exploit:Script/SpCookieExec.A, до выполнения (см. §5).

Все детонации RCE — одним запросом

Four processes spawned by w3wp.exe, three of them powershell.exe with no cmd.exe hop

Все четыре задокументированные детонации, с 15:01 по 15:18 UTC, каждый дочерний процесс w3wp.exe работает от имени учётной записи пула. В трёх случаях из четырёх powershell.exe был запущен напрямую. Только запуск в 15:03:34 идёт через cmd.exe, и только он был обнаружен. Если расширить окно за пределы этих событий, в набор результатов попадут и более ранние итерации разработки того же утра, поэтому утверждение ограничено этими четырьмя запусками.

Тот же эксплойт, два дерева процессов

w3wp.exe to cmd.exe to powershell.exe and conhost.exe

Обычный вызов: w3wp.exe → cmd.exe → powershell.exe, рядом conhost.exe. Именно на такую форму срабатывает Behavior:Win32/WebshellLauncher.A.

w3wp.exe to powershell.exe to conhost.exe, with no cmd.exe

Вызов с -RawCmd, тот же примитив и та же полезная нагрузка, но с удалённым промежуточным cmd.exe. Defender не выдал ничего для этого запуска. Обнаружение, построенное на w3wp → cmd, полностью его пропускает.

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