Tutorial: Proteção contra WannaCry no Windows (Script PowerShell)
Proteção Contra WannaCry:
Guia Completo com Script PowerShell

O WannaCry é um dos ransomwares mais perigosos já criados, capaz de se espalhar rapidamente explorando vulnerabilidades no Windows, criptografando arquivos e exigindo pagamento em Bitcoin para liberá-los. Para evitar essa ameaça, é essencial desativar o SMBv1, bloquear portas críticas e manter o sistema atualizado.
Neste guia, você aprenderá:
✅ Como usar um script PowerShell para verificar e corrigir vulnerabilidades automaticamente.
✅ Configurações manuais para reforçar a segurança do Windows.
✅ Sinais de infecção e como agir se o sistema já estiver comprometido.
✅ Medidas preventivas, incluindo backups e proteção anti-ransomware.
✅ Remoção, Script pronto!
Se o seu computador ainda não está protegido contra o WannaCry, continue lendo e siga nosso passo a passo para evitar ataques!
🔰 Parte 1: Script PowerShell para Proteção Básica
📝 Criando o Script
- Abra o Bloco de Notas como Administrador.
- Copie e cole o código abaixo e salve como
ProtecaoWannaCry.ps1
.
<#
.SYNOPSIS
Script de proteção contra WannaCry no Windows.
.DESCRIPTION
Verifica vulnerabilidades, desativa SMBv1 e recomenda atualizações.
#>
Write-Host "=== PROTEÇÃO CONTRA WANNACRY ===" -ForegroundColor Cyan
# 1. Verificar e desativar SMBv1
Write-Host "`n[1] Verificando SMBv1..." -ForegroundColor Yellow
$smbv1 = Get-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol"
if ($smbv1.State -eq "Enabled") {
Write-Host " [ALERTA] SMBv1 está ATIVADO (vulnerável!)" -ForegroundColor Red
$resposta = Read-Host " Deseja desativar o SMBv1? (S/N)"
if ($resposta -eq "S") {
Disable-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol" -NoRestart
Write-Host " SMBv1 desativado. Reinicie o computador." -ForegroundColor Green
}
} else {
Write-Host " [OK] SMBv1 já está desativado." -ForegroundColor Green
}
# 2. Bloquear porta 445 no firewall
Write-Host "`n[2] Verificando porta 445 (SMB)..." -ForegroundColor Yellow
$porta445 = Get-NetTCPConnection -LocalPort 445 -ErrorAction SilentlyContinue
if ($porta445) {
Write-Host " [ALERTA] Porta 445 (SMB) está aberta!" -ForegroundColor Red
$resposta = Read-Host " Deseja bloquear no firewall? (S/N)"
if ($resposta -eq "S") {
New-NetFirewallRule -DisplayName "Bloquear_SMB_Porta_445" -Direction Inbound -LocalPort 445 -Protocol TCP -Action Block
Write-Host " Regra adicionada ao firewall." -ForegroundColor Green
}
} else {
Write-Host " [OK] Porta 445 não está em uso." -ForegroundColor Green
}
# 3. Verificar atualizações pendentes
Write-Host "`n[3] Verificando atualizações..." -ForegroundColor Yellow
$updates = Get-WindowsUpdate -MicrosoftUpdate -NotCategory "Drivers"
if ($updates.Count -gt 0) {
Write-Host " [ALERTA] $($updates.Count) atualizações pendentes!" -ForegroundColor Red
$resposta = Read-Host " Deseja instalar agora? (S/N)"
if ($resposta -eq "S") {
Install-WindowsUpdate -MicrosoftUpdate -AcceptAll -AutoReboot
}
} else {
Write-Host " [OK] Sistema atualizado." -ForegroundColor Green
}
Write-Host "`n=== FIM DA VERIFICAÇÃO ===" -ForegroundColor Cyan
⚙️ Como Executar o Script
- Salve o arquivo como
ProtecaoWannaCry.ps1
. - Execute como Administrador:
- Pressione
Win + X
> Windows PowerShell (Admin)
- Execute os comandos:
Set-ExecutionPolicy RemoteSigned -Force
.\ProtecaoWannaCry.ps1
🛡️ Medidas Adicionais
1️⃣ Desativar SMBv1 Manualmente
- Via PowerShell:
Disable-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol" -NoRestart
- Via Painel de Controle:
-
Programas e Recursos
>Ativar ou desativar recursos do Windows
> Desmarque "Suporte ao SMB 1.0"
2️⃣ Ativar Firewall e Bloquear Porta 445
New-NetFirewallRule -DisplayName "Bloquear_SMB_445" -Direction Inbound -LocalPort 445 -Protocol TCP -Action Block
3️⃣ Atualizar Windows e Aplicar Patch MS17-010
Get-HotFix -Id "KB4012212", "KB4012215", "KB4012606"
Se a correção não estiver instalada:
Install-Module PSWindowsUpdate -Force
Install-WindowsUpdate -MicrosoftUpdate -AcceptAll
4️⃣ Bloquear Execução de Scripts Maliciosos
Set-ExecutionPolicy Restricted -Force
Desativar o WScript:
reg add "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v "Enabled" /t REG_DWORD /d 0 /f
5️⃣ Ativar Proteção Anti-Ransomware
Set-MpPreference -EnableControlledFolderAccess Enabled
6️⃣ Configurar Backups Automatizados
robocopy "C:\Dados" "E:\Backup" /MIR /Z /R:3 /W:5 /LOG:"C:\backup_log.txt"
🚨 Sinais de Infecção por WannaCry
- Arquivos com extensões como
.wncry
,.wcry
,.locked
. - Tela de resgate exigindo pagamento em Bitcoin.
- Mensagem "Ooops, your files have been encrypted!".
- Uso anormal de CPU/Disco.
Script de Remoção do WannaCry
Este script em PowerShell auxilia na remoção do ransomware WannaCry e implementa medidas de proteção para evitar novas infecções.
Funcionalidades
✔️ Finaliza processos maliciosos
✔️ Remove arquivos associados ao WannaCry
✔️ Aplica correções de segurança
✔️ Desativa o SMBv1 (vulnerabilidade explorada pelo ransomware)
✔️ Configura proteções adicionais
Script PowerShell
<#
.SYNOPSIS
Script para remoção e proteção contra o ransomware WannaCry.
.DESCRIPTION
Executa as seguintes ações:
1. Finaliza processos maliciosos
2. Remove arquivos e tarefas agendadas do WannaCry
3. Aplica correções e desativa o SMBv1
4. Verifica atualizações de segurança críticas
5. Ativa o Windows Update (se necessário)
6. Recomendações de segurança adicionais
.NOTES
Necessário executar como Administrador.
#>
# Verifica se o script está sendo executado como Administrador
if (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
Write-Host "Erro: Execute este script como Administrador." -ForegroundColor Red
exit
}
Write-Host "Iniciando remoção do WannaCry..." -ForegroundColor Green
# 1. Finalizar processos maliciosos
Write-Host "Finalizando processos maliciosos..." -ForegroundColor Yellow
$maliciousProcesses = @("mssecsvc.exe", "tasksche.exe", "taskdl.exe", "@WanaDecryptor")
foreach ($process in $maliciousProcesses) {
if (Get-Process -Name $process -ErrorAction SilentlyContinue) {
Stop-Process -Name $process -Force
Write-Host "Processo $process finalizado." -ForegroundColor Green
}
}
# 2. Remover arquivos maliciosos
Write-Host "Removendo arquivos maliciosos..." -ForegroundColor Yellow
$maliciousFiles = @(
"$env:Windir\mssecsvc.exe",
"$env:Windir\tasksche.exe",
"$env:Windir\taskdl.exe",
"$env:Windir\@WanaDecryptor@",
"$env:Windir\00000000.eky",
"$env:Windir\00000000.pky",
"$env:Windir\00000000.res"
)
foreach ($file in $maliciousFiles) {
if (Test-Path $file) {
Remove-Item $file -Force
Write-Host "Arquivo $file removido." -ForegroundColor Green
}
}
# 3. Remover tarefas agendadas maliciosas
Write-Host "Removendo tarefas agendadas maliciosas..." -ForegroundColor Yellow
$maliciousTasks = @("mssecsvc", "WanaDecryptor")
foreach ($task in $maliciousTasks) {
if (Get-ScheduledTask -TaskName $task -ErrorAction SilentlyContinue) {
Unregister-ScheduledTask -TaskName $task -Confirm:$false
Write-Host "Tarefa $task removida." -ForegroundColor Green
}
}
# 4. Desabilitar SMBv1 (vulnerabilidade explorada pelo WannaCry)
Write-Host "Desabilitando SMBv1..." -ForegroundColor Yellow
Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol -NoRestart
# 5. Verificar atualizações de segurança críticas
Write-Host "Verificando atualizações de segurança..." -ForegroundColor Yellow
$importantKB = @("KB4012212", "KB4012215", "KB4012606", "KB4013198", "KB4013429")
$installedUpdates = Get-HotFix | Select-Object -ExpandProperty HotFixID
foreach ($kb in $importantKB) {
if ($installedUpdates -notcontains $kb) {
Write-Host "⚠️ Atualização $kb não instalada. Instale as atualizações de segurança imediatamente!" -ForegroundColor Red
}
}
# 6. Ativar Windows Update se estiver desativado
$wuService = Get-Service -Name wuauserv
if ($wuService.Status -ne "Running") {
Write-Host "Ativando o Windows Update..." -ForegroundColor Yellow
Start-Service -Name wuauserv
}
# 7. Recomendações de segurança
Write-Host "`n🔹 **Recomendações de proteção:**" -ForegroundColor Cyan
Write-Host "- Mantenha backups atualizados dos arquivos importantes" -ForegroundColor Cyan
Write-Host "- Utilize um antivírus atualizado e execute verificações regulares" -ForegroundColor Cyan
Write-Host "- Desative o RDP se não for necessário" -ForegroundColor Cyan
Write-Host "- Evite abrir anexos e links suspeitos" -ForegroundColor Cyan
Write-Host "`n✅ Remoção concluída. Recomenda-se reiniciar o sistema para aplicar todas as mudanças." -ForegroundColor Green
Instruções de Uso
- Copie o código acima.
- Abra o Bloco de Notas e cole o código.
- Salve como "RemoveWannaCry.ps1".
- Clique com o botão direito no arquivo e selecione "Executar com PowerShell" (como Administrador).
Observações Importantes
⚠️
Este script remove a infecção, mas não descriptografa arquivos bloqueados.
✔️
Previna novas infecções:
- Mantenha o Windows atualizado
- Habilite o Firewall do Windows
- Utilize um antivírus confiável
- Realize backups frequentes
Considerações finais
Para se proteger contra o WannaCry:
- Desative o SMBv1
- Atualize o Windows (MS17-010)
- Bloqueie a porta 445 no firewall
- Ative proteção anti-ransomware
- Realize backups regulares
Caso já tenha sido infectado:
- Desconecte da rede imediatamente
- Restaure de um backup limpo
- Busque ajuda especializada
💡 Empresas devem considerar soluções como Windows Defender ATP ou CrowdStrike Falcon.