← back
CVE-2017-0144highunder attackransomware

CVE-2017-0144

100Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 8.8epss 99%
from disclosure to weapon31 days
Published on NVDMar 17
1st PoC+31d
metasploitMar 14
CISA KEV+1791d
exploitation probability
99%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
40 public exploit(s)
Action required by CISAfederal deadline: 2022-08-10

Apply updates per vendor instructions.

Summary

CVE-2017-0144 é uma falha de execução remota de código no servidor SMBv1 do Windows, corrigida pelo boletim MS17-010 (março de 2017). É a vulnerabilidade por trás do exploit EternalBlue, vazado pelo grupo Shadow Brokers e atribuído ao arsenal da NSA (Equation Group), usado para propagar o ransomware WannaCry e depois o NotPetya. Está no catálogo KEV da CISA com nota explícita de uso em campanhas de ransomware — não é uma CVE teórica, é uma das mais exploradas da história recente.

Technical detail

A falha reside na implementação do servidor SMBv1 (driver srv.sys) no processamento de pacotes de transação, classificada como CWE-20 (validação inadequada de entrada). O fornecedor descreve o vetor genericamente como 'pacotes manipulados' enviados ao servidor SMB, sem detalhar publicamente a rotina exata — o texto oficial da Microsoft evita especificar mecanismo interno, como é padrão nos advisories de RCE em componentes de kernel.

A CVE-2017-0144 é distinta de outras falhas corrigidas no mesmo boletim (CVE-2017-0143, 0145, 0146, 0148), todas no mesmo subsistema SMBv1 mas em pontos de código diferentes — o exploit público EternalBlue, na prática, encadeia mais de uma dessas falhas para conseguir corrupção de memória controlada e execução de código em contexto de kernel (SYSTEM). Por isso ferramentas de exploração e módulos de detecção (como o auxiliary/scanner/smb/smb_ms_17_010 do Metasploit, referenciado no Exploit-DB) tratam o conjunto MS17-010 como um bloco só, testando a resposta do servidor a uma transação SMB manipulada (comando PeekNamedPipe sobre FID inválido) para inferir se o alvo está com o patch aplicado.

O atacante não controla dados de aplicação nem precisa de qualquer interação do usuário — o vetor é a pilha de rede SMB em si. O que ele controla é a estrutura dos pacotes SMBv1 enviados à porta 445/TCP, manipulando campos de transação para provocar corrupção de memória não paginada e desviar fluxo de execução para shellcode injetado.

How it’s exploited

O vetor é puramente de rede: o atacante precisa apenas de conectividade TCP com a porta 445 do host alvo, onde o serviço SMBv1 esteja habilitado e escutando. A exploração histórica e amplamente documentada (WannaCry, NotPetya, e o próprio EternalBlue do Equation Group) não depende de credenciais válidas nem de interação do usuário — a superfície vulnerável está na camada de protocolo, antes de qualquer autenticação completa da sessão, o que explica a capacidade de auto-propagação em worm observada no WannaCry em maio de 2017.

Após a exploração bem-sucedida, o payload típico observado no mundo real não é a execução direta de código malicioso, mas a instalação do implante DOUBLEPULSAR — um backdoor em modo kernel que injeta DLLs arbitrárias na memória, também atribuído ao arsenal vazado pelo Shadow Brokers. É esse implante que carregou o ransomware WannaCry em milhares de máquinas em poucas horas, e depois serviu de vetor inicial para o NotPetya.

A complexidade técnica de desenvolver o exploit original foi alta (engenharia de heap grooming em kernel), mas isso deixou de ser barreira relevante: o código está público desde 2017 (Shadow Brokers, depois portado para Metasploit e diversos PoCs em Python/Exploit-DB), tornando a exploração trivial para qualquer atacante com acesso de rede ao alvo. O fato de estar no catálogo KEV com marcação de uso confirmado em ransomware reforça que não é risco hipotético.

Versions

Affected
Windows Vista SP2; Windows Server 2008 SP2 e R2 SP1; Windows 7 SP1; Windows 8.1; Windows Server 2012 Gold e R2; Windows RT 8.1; Windows 10 Gold, 1511 e 1607; Windows Server 2016 — em todos os casos, com o serviço de servidor SMBv1 habilitado.
Fixed in
Versões corrigidas pelo boletim de segurança MS17-010 (março de 2017). Números de KB específicos variam por versão e edição do Windows e devem ser confirmados na página oficial do boletim antes de aplicar. Devido à gravidade do surto WannaCry, a Microsoft também emitiu patches extraordinários fora do ciclo de suporte padrão para sistemas legados como Windows XP e Server 2003.

How to protect

A correção do fornecedor é o boletim de segurança MS17-010, lançado em março de 2017, aplicável a Windows Vista SP2, Windows Server 2008 SP2/R2 SP1, Windows 7 SP1, Windows 8.1, Windows Server 2012/R2, Windows RT 8.1, Windows 10 (versões Gold, 1511, 1607) e Windows Server 2016. Diante da gravidade e do surto WannaCry, a Microsoft chegou a publicar patches extraordinários também para sistemas já fora de suporte (como Windows XP e Server 2003), fora do ciclo normal de atualizações — mas o número exato de KB varia por versão/idioma e deve ser confirmado na página oficial do boletim antes de aplicar.

O paliativo mais eficaz quando o patch não pode ser aplicado imediatamente é desabilitar completamente o SMBv1 no host (o protocolo é legado e a maioria dos ambientes modernos não depende dele para nada além de compatibilidade com sistemas muito antigos) e bloquear a porta 445/TCP nas bordas da rede e entre segmentos internos, já que a propagação tipo worm depende de alcance lateral irrestrito. Segmentação de rede e isolamento de dispositivos que não podem ser atualizados (comum em ambientes de OT/saúde, como no caso do Philips IntelliSpace Portal citado em advisory da CISA/ICS-CERT) reduz a superfície mesmo sem patch.

O que não funciona como mitigação real: apenas ter antivírus/EDR atualizado não impede a exploração, já que a falha ocorre em kernel antes de qualquer payload de usuário ser inspecionado por controles de endpoint tradicionais — o problema está no protocolo de rede, não em um arquivo malicioso. Firewalls de aplicação web (WAF) são irrelevantes aqui, pois não é vetor HTTP.

How to detect

O sinal mais confiável é tráfego SMBv1 anômalo na porta 445/TCP, especialmente pacotes de transação (Trans2) malformados ou fora do padrão de uso legítimo — a maioria dos IDS/IPS e soluções de rede tem assinaturas dedicadas para MS17-010/EternalBlue desde 2017. A presença do implante DOUBLEPULSAR pode ser verificada por scripts públicos de detecção (referenciados em Packet Storm) que identificam a resposta característica do backdoor em memória.

Em ambientes que já aplicaram o patch, uma varredura com o módulo de detecção MS17-010 do Metasploit (auxiliary/scanner/smb/smb_ms_17_010) permite confirmar remotamente se o host está vulnerável, observando o código de erro retornado numa transação IPC$ manipulada — método não invasivo e amplamente usado por SOCs para inventário de exposição residual.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
The SMBv1 server in Microsoft Windows Vista SP2; Windows Server 2008 SP2 and R2 SP1; Windows 7 SP1; Windows 8.1; Windows Server 2012 Gold and R2; Windows RT 8.1; and Windows 10 Gold, 1511, and 1607; and Windows Server 2016 allows remote attackers to execute arbitrary code via crafted packets, aka "Windows SMB Remote Code Execution Vulnerability." This vulnerability is different from those described in CVE-2017-0143, CVE-2017-0145, CVE-2017-0146, and CVE-2017-0148.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
public PoCs found40 VexDay Proof
exploitdbVexDay Proofwww.exploit-db.com/exploits/42030exploitdbVexDay Proofwww.exploit-db.com/exploits/42031exploitdbVexDay Proofwww.exploit-db.com/exploits/47456exploitdbVexDay Proofwww.exploit-db.com/exploits/41891exploitdbVexDay Proofwww.exploit-db.com/exploits/42315exploitdbwww.exploit-db.com/exploits/41987unverifiedgithubgithub.com/peterpt/eternal_scanner339githubgithub.com/EEsshq/CVE-2017-0144---EtneralBlue-MS17-010-Remote-Code-Execution18githubgithub.com/AdityaBhatt3010/VAPT-Report-on-SMB-Exploitation-in-Windows-10-Finance-Endpoint15githubgithub.com/AtithKhawas/autoblue4githubgithub.com/sethwhy/BlueDoor2githubgithub.com/0xBlackash/CVE-2017-01442githubgithub.com/FireTemple/Blackash-CVE-2017-01441githubgithub.com/kimocoder/eternalblue1githubgithub.com/MedX267/EternalBlue-Vulnerability-Scanner1githubgithub.com/luckyman2907/SMB-Protocol-Vulnerability_CVE-2017-01440githubgithub.com/quynhold/Detect-CVE-2017-0144-attack0githubgithub.com/ducanh2oo3/Vulnerability-Research-CVE-2017-01440githubgithub.com/AnugiArrawwala/CVE-Research0githubgithub.com/denuwanjayasekara/CVE-Exploitation-Reports0githubgithub.com/pelagornisandersi/WIndows-7-automated-exploitation-using-metasploit-framework-0githubgithub.com/Mitsu-bis/Eternal-Blue-CVE-2017-0144-THM-Write-Up0githubgithub.com/klairmanraj/Multi-VLAN-Enterprise-Network-Security-Infrastructure0githubgithub.com/klairmanraj/Vulnerability-Risk-Assessment-TVRA-Enterprise-Network0githubgithub.com/klairmanraj/Multi-VLAN-Enterprise-Network-Vulnerability-Assessment0githubgithub.com/dannic145/EternalBlue-Exploit-Demonstration0githubgithub.com/ichhyak22/EternalBlue-Exploit-Demonstration-MS17-0100githubgithub.com/trinadh-dasari-cyber/eternalblue-ms17-010-research0githubgithub.com/sydneysamantha/Triage-CVE-2017-01440githubgithub.com/KitSkater/legacyshield-CVE-2017-01440cve_referencepacketstormsecurity.com/files/154690/DOUBLEPULSAR-Payload-Execution-Neutralization.htmlunverifiedvulncheckvulncheck.com/xdb/72e1c61d88d7unverifiedcve_referencewww.exploit-db.com/exploits/42031/unverifiedvulncheckvulncheck.com/xdb/ad1d794cf666unverifiedcve_referencewww.exploit-db.com/exploits/42030/unverifiedcve_referencewww.exploit-db.com/exploits/41987/unverifiedcve_referencewww.exploit-db.com/exploits/41891/unverifiedcve_referencepacketstormsecurity.com/files/156196/SMB-DOUBLEPULSAR-Remote-Code-Execution.htmlunverifiedvulncheckvulncheck.com/xdb/879389c144c3unverifiedvulncheckvulncheck.com/xdb/c87480ed3057unverified
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.