Cabeçalho penumbroso

URGENTE: Guia de correção crítica e mergulho profundo no Windows PowerShell 0-Day (CVE-2025-54100)

Introdução: Quando o "canivete suíço" corta você

Em 9 de dezembro de 2025, o Microsoft Security Response Center (MSRC) lançou uma bomba durante a sua "Patch Tuesday" mensal: um problema crítico de segurança foi detectado. Vulnerabilidade de dia zero no Windows PowerShell, rastreado como CVE-2025-54100.

Com um Pontuação CVSS de 7,8 (alta)Como o PowerShell está profundamente integrado à estrutura do sistema operacional, essa vulnerabilidade afeta uma grande parte do ecossistema do Windows, desde servidores antigos até as versões mais recentes do Windows 11. Como o PowerShell está profundamente integrado à estrutura do sistema operacional, essa falha oferece aos invasores uma perigosa oportunidade de "Living-off-the-Land" (LotL), permitindo que eles executem códigos mal-intencionados usando ferramentas de sistema nativas e confiáveis.

Seja você um administrador de sistemas que gerencia um farm de servidores ou um pesquisador de segurança, ignorar essa correção não é uma opção. Este guia fornece um detalhamento técnico da falha, a matriz de correção oficial e a refatoração de código necessária para manter seus scripts em execução com segurança.

Windows PowerShell 0-Day CVE-2025-54100

Mergulho técnico profundo: A mecânica do CVE-2025-54100

Para entender a gravidade desse problema, precisamos analisar o ponto fraco subjacente: CWE-77 (Neutralização inadequada de elementos especiais usados em um comando).

A lógica da vulnerabilidade

O principal problema está na forma como o Windows PowerShell higieniza a entrada do usuário antes de passá-la para o interpretador de linha de comando. Quando um aplicativo ou script constrói um comando do PowerShell usando uma entrada não confiável sem a filtragem adequada, ele abre a porta para Injeção de comando.

Cenário de ataque (prova conceitual de conceito)

Isenção de responsabilidade: o código a seguir é apenas para fins educacionais.

Imagine um script administrativo legítimo criado para ler arquivos de registro com base na entrada do usuário:

PowerShell

`# VULNERABLE PATTERN $UserInput = Read-Host "Enter log filename" (Digite o nome do arquivo de registro)

PoC do Windows PowerShell 0-Day CVE-2025-54100

A entrada é concatenada diretamente na string de comando

Invoke-Expression "Get-Content C:\Logs\$UserInput"`

Em um cenário padrão, um usuário entra no app.log.

No entanto, se um invasor explorar o CVE-2025-54100 em um sistema sem correção, ele poderá inserir:

app.log; Start-Process calc.exe

O analisador, ao não neutralizar o ponto e vírgula (;), interpreta isso como dois comandos distintos:

  1. Leia o registro: Get-Content C:\\Logs\\\app.log
  2. Executar carga útil: Iniciar processo calc.exe (Em um ataque real, isso seria um downloader de ransomware ou um beacon C2).

O vetor de ataque: "Local", mas letal

A Microsoft classifica isso como um vetor de ataque "local". Isso significa que um invasor normalmente precisa:

  • Acesso de baixo nível ao sistema, OU
  • Para convencer um usuário a executar um arquivo malicioso (Engenharia Social/Phishing).

Uma vez bem-sucedidos, eles podem aproveitar essa injeção para aumentar os privilégios ou mover-se lateralmente pela rede.

PoC do Windows PowerShell 0-Day CVE-2025-54100

A Matriz de Patches: Identifique suas atualizações críticas

A Microsoft lançou atualizações de segurança de emergência. Os administradores de TI devem priorizar os seguintes KBs imediatamente via WSUS, SCCM ou download manual.

Versão do sistema operacionalGravidadeID do patch de KB críticoNotas de implantação
Windows Server 2025AltaKB5072033Requer reinicialização
Windows 11 (24H2 / 25H2)AltaKB5074204Atualização cumulativa
Windows Server 2022AltaKB5074204Instalação prioritária
Windows Server 2019AltaKB5074353
Windows 10 (22H2)AltaKB5071546Atualização somente de segurança disponível
Windows Server 2012 R2MédioKB5071544Somente ESU (suporte estendido)

Aviso crítico: Como esse patch modifica os principais binários do PowerShell, a reinicialização do sistema é obrigatória. Certifique-se de agendar janelas de manutenção adequadamente para evitar interrupções no serviço.

O "Gotcha": Correção de scripts corrompidos após a aplicação de patches

Geralmente, a segurança vem à custa da conveniência. As atualizações para o CVE-2025-54100 (especificamente dentro do KB5074204 e KB5074353) introduzem controles de segurança mais rígidos nas solicitações da Web.

O problema: Invoke-WebRequest Falhas

Após a aplicação do patch, você pode notar que seus scripts de automação falham com o seguinte erro:

"O conteúdo da resposta não pode ser analisado porque o mecanismo do Internet Explorer não está disponível ou a configuração de primeira inicialização do Internet Explorer não está completa."

Isso acontece porque a Microsoft está finalmente cortando o vínculo entre o PowerShell e o mecanismo de análise legado do Internet Explorer para reduzir a superfície de ataque.

A correção: Refatoração de código

Você deve atualizar seus scripts para não depender mais do IE para a análise do DOM. A solução é forçar o uso do Análise básica modo.

O Código Quebrado (Legado)

PowerShell

# Isso depende do mecanismo do IE, que agora é restrito ou removido $response = Invoke-WebRequest -Uri "" Write-Output $response.Content

O código seguro (práticas recomendadas)

PowerShell

# Adiciona a opção -UseBasicParsing para velocidade, segurança e compatibilidade $response = Invoke-WebRequest -Uri "" -UseBasicParsing Write-Output $response.Content

Dica profissional para administradores:

Use uma pesquisa regex em seu IDE (VS Code / ISE) para verificar o repositório de scripts:

  • Encontre: Invoke-WebRequest\\s+(?!.*-UseBasicParsing)
  • Ação: Anexar UseBasicParsing para essas instâncias.

Defesa em profundidade: Além do Patch

A correção é reativa. Para se proteger contra futuros 0-days, você deve adotar uma estratégia de "Defesa em profundidade" para o PowerShell.

A. Aplicar o modo de linguagem restrita

Para usuários não administrativos, o PowerShell deve ser executado em Modo de idioma restrito. Isso limita muito a capacidade de chamar APIs do Windows ou compilar código .NET arbitrário.

PowerShell

`# Verifique seu modo atual $ExecutionContext.SessionState.LanguageMode

Saída de destino para usuários padrão: ConstrainedLanguage`

B. Ativar o registro de blocos de script

Os invasores adoram o PowerShell porque ele é executado na memória (sem arquivo). Para capturá-los, é necessário registrar o código real que está sendo executado.

  • Caminho do GPO: Configuração do computador > Modelos administrativos > Componentes do Windows > Windows PowerShell > Ativar o registro de bloqueio de script do PowerShell.

C. Regras de detecção do SIEM

Atualize suas regras de monitoramento do SOC para sinalizar possíveis tentativas de exploração:

  • Hierarquia de processos: Alerta se powershell.exe é gerado pelos aplicativos do Office (Word, Excel).
  • Argumentos suspeitos: Procure por comandos muito ofuscados ou o uso de EncodedCommand.
  • ID do evento 4104: Examine os registros de blocos de script em busca de palavras-chave como Expressão de invocação ou IEX combinados com chamadas de rede.

Conclusão

A revelação do CVE-2025-54100 serve como um lembrete importante: A identidade e a configuração são o novo perímetro. Embora a correção imediata seja a aplicação dos KBs de dezembro (KB5072033/KB5074204), a solução de longo prazo consiste em fortalecer seu ambiente contra o abuso de ferramentas nativas.

Seu plano de ação:

  1. Auditoria: Faça uma varredura em sua rede em busca de pontos de extremidade do Windows não corrigidos.
  2. Patch: Implemente as atualizações de segurança de dezembro imediatamente.
  3. Refatoração: Atualize seus scripts de automação para usar UseBasicParsing.

Fique seguro e mantenha seus invólucros protegidos.

Compartilhe a postagem:
Publicações relacionadas