
Pesquisa do CVE-2024-38063 para que você não precise fazer.
Pesquisa abrangente para economizar seu tempo, energia, sanidade e entendimento. Quero começar dizendo que este CVE específico é como muitos outros: devido à sua alta pontuação de gravidade, ganhou uma quantidade enorme de atenção em pouco tempo. Resultando em muitas informações falsas e atividades maliciosas em torno dele. O pesquisador original que o descobriu foi Wei.
Isso inclui, mas não se limita a PoCs baseadas em malware que foram postadas no GitHub com a intenção de parecerem PoCs genuínas.
Dessa forma, compartilharei apenas PoCs válidas e não enganosas neste repositório para ajudar no avanço da pesquisa e compreensão.
Como o nome sugere, essa vulnerabilidade afeta apenas o Windows. Portanto, se você usa outro sistema, isso não se aplica diretamente a você.
Também compartilharei estratégias de mitigação para quem deseja proteger seus sistemas contra essa vulnerabilidade.
Descrição do Problema:
Esta é uma vulnerabilidade zero-click e wormable na pilha TCP/IP IPv6 do Microsoft Windows que permite que atacantes executem código arbitrário remotamente em sistemas afetados sem qualquer interação do usuário.
Descrição do Ativo:
O problema afeta versões do Microsoft Windows que suportam IPv6. É particularmente arriscado para servidores Windows expostos à internet e dispositivos de usuário com IPv6 habilitado.
Impacto da Vulnerabilidade:
Se explorada com sucesso, esta vulnerabilidade pode permitir que atacantes executem código arbitrário remotamente, o que pode resultar em um comprometimento total do sistema, acesso não autorizado a dados e/ou exposição de informações sensíveis.
Detalhes da Exploração:
A falha está localizada no componente IPv6 TCP/IP da pilha de rede do Windows. Atacantes podem explorar essa vulnerabilidade enviando pacotes IPv6 especialmente criados para uma máquina alvo, possibilitando RCE sem interação do usuário.
Disponibilidade de Patch:
A Microsoft emitiu uma atualização de segurança para esta vulnerabilidade como parte do Patch Tuesday de agosto de 2024.
É crucial que as organizações apliquem esta atualização prontamente para mitigar os riscos.
Se a aplicação imediata do patch não for possível, desabilitar o IPv6 nos sistemas Windows afetados pode ajudar a reduzir a superfície de ataque até que o patch seja aplicado.
Desabilitar o IPv6 apenas no nível do firewall não terá nenhum efeito na prevenção dessa vulnerabilidade.
Tentar reproduzir essa vulnerabilidade pode ser um pouco tedioso no início, e é válido dizer que essa vulnerabilidade é uma vulnerabilidade zero-click na pilha TCP/IP IPv6 do Microsoft Windows. Afetando muitas versões do Windows 10, 11 e Windows Server.
Essa vulnerabilidade de RCE não permite executar shellcode, mas sim desencadeia um underflow de inteiro que resulta em corrupção remota de memória. Isso efetivamente interrompe serviços no dispositivo vulnerável. As provas de conceito apresentadas online que são genuínas, como a de Marcus Hutchins (@MalwareTech) e ynwarcs, sugerem que isso pode acabar sendo um exploit usado na natureza como uma espécie de vulnerabilidade de Negação de Serviço (DoS) nas próximas semanas/meses.
No entanto, a PoC mencionada acima tem uma falha: você não precisa enviar tantos pacotes quanto ela faz para obter o resultado pretendido. Alguns propuseram usar apenas dois pacotes para obter o resultado desejado, mas essa implementação nem sempre é confiável. Nos meus testes com uma máquina Windows ativa e sem patch, em uma janela de 60 segundos, são necessários no mínimo cerca de 25 pacotes para sempre obter o resultado esperado. Ainda assim, significativamente menos do que o design original, o que se pode considerar uma melhoria. Como ainda aumenta exponencialmente o espaço de memória para coalescência, causando a corrupção de memória no kernel, os usuários finais veem uma tela azul.
Se você não puder atualizar seus sistemas com os patches mais recentes por qualquer motivo, sua próxima melhor opção seria desabilitar o IPv6 em todas as interfaces de rede para limitar significativamente a superfície de ataque para esse exploit. No entanto, não use isso como solução de longo prazo, pois pode potencialmente quebrar a funcionalidade do seu sistema.
Você precisaria executar este script do PowerShell como administrador e salvá-lo como script.ps1:
# Check if the script is running with admin privileges
If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
# Restart script with admin privileges
$arguments = "& '" + $myInvocation.MyCommand.Definition + "'"
Start-Process powershell.exe -ArgumentList $arguments -Verb RunAs
Exit
}
# Disable IPv6 on all network interfaces
Get-NetAdapterBinding -ComponentID ms_tcpip6 | Where-Object {$_.Enabled -eq $true} | ForEach-Object {
Disable-NetAdapterBinding -Name $_.Name -ComponentID ms_tcpip6
}
# Optional: Confirm that IPv6 has been disabled
Write-Host "IPv6 has been disabled on all network interfaces."
Vou atualizar este repositório GitHub nas próximas semanas com mais pesquisas, atualizações e outras opções de mitigação válidas.