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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-54100 — Доказательство концепции для CVE-2025-54100: XSS в PowerShell Invoke-WebRequest через mshtml.HTMLDocumentClass, обеспечивающее удаленное выполнение кода при получении вредоносного JavaScript. | Kitploit
Инструменты/GitHubGitHub/osman1337-security/cve-2025-54100
Анализ уязвимостейЭксплуатацияВеб-безопасностьКомандование и УправлениеИнструмент Удаленного Доступа
GitHubosman1337-security/cve-2025-54100

CVE-2025-54100

Доказательство концепции для CVE-2025-54100: XSS в PowerShell Invoke-WebRequest через mshtml.HTMLDocumentClass, обеспечивающее удаленное выполнение кода при получении вредоносного JavaScript.

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
2357 месяцев назадПроверено Kitploit

CVE-2025-54100

Powershell curl использует Invoke-WebRequest внутри.

root@kitploit:~
PS C:\Users\melih> curl

cmdlet Invoke-WebRequest at command pipeline position 1
Supply values for the following parameters:
Uri:

https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-7.5

Глядя на документацию параметра UseBasicParsing,

Этот параметр устарел. Начиная с PowerShell 6.0.0, все веб-запросы используют только базовый разбор. Этот параметр включен только для обратной совместимости, и любое его использование не влияет на работу командлета.

Проблема заключается в параметре UseBasicParsing командлета Invoke-WebRequest в Powershell. UseBasicParsing использует базовый разбор, он не выполняет никакой javascript-код. Он просто читает текст и разбирает его.

Если этот параметр не указан, Invoke-WebRequest запускает Internet Explorer внутри и пытается разобрать html-код, фактически выполняя его, используя mshtml.HTMLDocumentClass. Выполнение запроса curl на сайт, содержащий javascript-код, приводит к выполнению кода в браузере клиента. В нашем случае это окно терминала Windows.

Документацию mshtml.HTMLDocumentClass можно найти ниже.

https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.htmldocument

Глядя на жизненный цикл из первого документа выше, мы видим, что:

Windows PowerShell 5.1 Aug-2016 Выпущен в Windows 10 Anniversary Update и Windows Server 2016, WMF 5.1 PowerShell 6.0 20-Jan-2018 13-Feb-2019 Создан на .NET Core 2.0 (https://github.com/dotnet/core/blob/main/release-notes/2.0/2.0-supported-os.md)

После некоторых исследований мы заметили, что последние версии Windows 11, Server 22 и 25 поставляются со старой версией PowerShell (5.1, и она установлена по умолчанию), которая уязвима для XSS-атак.

Fresh Windows Server 22 installation, alt text

PoC

Атака очень проста;

  • Разместите веб-сайт с полезной нагрузкой на скрипте.
  • Выполните curl на него, и вы увидите выполнение

alt text

root@kitploit:~
PS C:\Users\melih> curl 172.27.223.167:8000/a.js


StatusCode        : 200
StatusDescription : OK
Content           : <script>alert(1)</script>

RawContent        : HTTP/1.0 200 OK
                    Content-Length: 26
                    Content-Type: text/javascript
                    Date: Tue, 09 Dec 2025 15:50:40 GMT
                    Last-Modified: Tue, 09 Dec 2025 15:47:18 GMT
                    Server: SimpleHTTP/0.6 Python/3.12.3

                    <script>a...
Forms             : {}
Headers           : {[Content-Length, 26], [Content-Type, text/javascript], [Date, Tue, 09 Dec
                    2025 15:50:40 GMT], [Last-Modified, Tue, 09 Dec 2025 15:47:18 GMT]...}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : mshtml.HTMLDocumentClass
RawContentLength  : 26


Вы можете проявить творческий подход и выполнять такие вещи, как open("about:blank").

alt text

Также следует учитывать, что это может быть использовано в более крупных цепочках, таких как эксплойты браузера, для надежного выполнения или принудительного рендеринга браузера.

Хронология обновлений MSRC

  • 15 Oct 2025 – Уязвимость была отправлена команде безопасности Microsoft через MSRC.
  • 16 Oct 2025 – Команда сообщила нам, что они начали проверку отчета.
  • 17 Nov 2025 – Команда подтвердила уязвимость и сообщила нам, что исправит ее. Полное сообщение от команды MSRC: «We confirmed the behavior you reported. We'll continue our investigation and determine how to address this issue. Please let me know if you have additional information that could aid our investigation, or if you have questions.»
  • 25 ноября 2025 г. – Отчет был классифицирован как Severity: Important, Security Impact: Remote Code Execution и получил вознаграждение в размере $5,000.

alt text

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