Defesa Contra Ransomware no Windows: Guia Avançado com Scripts Práticos

2 de abril de 2025

Automatize sua Proteção Contra Ransomware:

Scripts Prontos para Uso

Fortaleça sua segurança digital com scripts PowerShell automatizados, eliminando vulnerabilidades sem esforço manual. Este guia prático traz soluções completas para:


Monitoramento contínuo de arquivos suspeitos – Identifique e neutralize ameaças antes que se espalhem.


🔄
Backup automático de dados críticos – Preserve suas informações contra ataques.
🛡️
Atualização dinâmica de regras de firewall – Bloqueie IPs maliciosos sem intervenção manual.
🚨
Resposta imediata a infecções – Isole dispositivos comprometidos em segundos.


Todos os scripts vêm com instruções detalhadas e passo a passo para fácil implementação no Windows Task Scheduler, permitindo configurar defesas avançadas em minutos.


🔍 O que você encontrará neste guia:

  • Scripts testados e otimizados para máxima eficiência.
  • Agendamento automatizado (diário, semanal ou em tempo real).
  • Monitoramento proativo com logs detalhados e alertas por e-mail.
  • Configuração simplificada – copie, cole e adapte conforme sua necessidade.


Proteja sua rede ou dispositivos pessoais sem gastar fortunas. Avance agora para implementar uma estratégia antifurto de dados eficaz!



Cada script inclui explicações detalhadas e instruções de implementação.


📅 1. Verificação Diária de Ransomware

Objetivo: Escanear arquivos suspeitos todos os dias às 2h.

Script:      Scan-Ransomware.ps1


$foldersToScan = @("C:\Users", "D:\Documents")

$ransomwareExtensions = @("*.locky", "*.encrypted", "*.crypt")

$logFile = "C:\SecurityScripts\RansomwareScan_$(Get-Date -Format 'yyyyMMdd').log"


"=== Scan iniciado em $(Get-Date) ===" | Out-File $logFile -Append

foreach ($folder in $foldersToScan) {

  Get-ChildItem -Path $folder -Recurse -Include $ransomwareExtensions | ForEach-Object {

  "[ALERTA] Arquivo suspeito encontrado: $($_.FullName)" | Out-File $logFile -Append

  }

}

"=== Scan concluído em $(Get-Date) ===" | Out-File $logFile -Append


Agendamento:


$trigger = New-ScheduledTaskTrigger -Daily -At 2am

$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File C:\SecurityScripts\Scan-Ransomware.ps1"

Register-ScheduledTask -TaskName "ScanDiarioRansomware" -Trigger $trigger -Action $action -RunLevel Highest


🔄 2. Backup Automático de Pastas Críticas

Objetivo: Backup diário de      C:\Documents     para um HD externo às 23h.

Script:      Backup-Documents.ps1


$source = "C:\Users\$env:USERNAME\Documents"

$destination = "E:\Backups\Documents_$(Get-Date -Format 'yyyyMMdd')"

if (-not (Test-Path $destination)) { New-Item -ItemType Directory -Path $destination | Out-Null }

Robocopy $source $destination /MIR /Z /LOG:"C:\SecurityScripts\BackupLog.txt"

Get-ChildItem "E:\Backups" -Directory | Where { $_.CreationTime -lt (Get-Date).AddDays(-30) } | Remove-Item -Recurse -Force


Agendamento:


$trigger = New-ScheduledTaskTrigger -Daily -At 11pm

$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File C:\SecurityScripts\Backup-Documents.ps1"

Register-ScheduledTask -TaskName "BackupDiarioDocuments" -Trigger $trigger -Action $action


🛡️ 3. Atualização Semanal de Regras de Firewall

Objetivo: Atualizar bloqueios de IPs maliciosos toda segunda-feira às 6h.

Script:    FirewallMultiBlock.ps1


  ✔ Baixa listas de IPs maliciosos de fontes confiáveis.
✔ Remove IPs confiáveis da whitelist para evitar bloqueios errados.
✔ Aplica as novas regras de firewall automaticamente.
✔ Funciona 100% no Windows 10/11 e Server.


1️⃣ Abra o Bloco de Notas
2️⃣ Copie o código abaixo e salve como:
📂 C:\Defesa\FirewallMultiBlock.ps1


# CONFIGURAÇÕES

$fontes = @(

  "https://feodotracker.abuse.ch/downloads/ipblocklist.txt",

  "https://www.blocklist.de/downloads/export-ssh.txt",

  "https://raw.githubusercontent.com/stamparm/ipsum/master/ipsum.txt"

)

$ipListPath = "C:\Defesa\ips_unificados.txt"

$whitelistPath = "C:\Defesa\whitelist.txt"

$logPath = "C:\Defesa\firewall_log.txt"

$rulePrefix = "BlockMaliciousIPs"


# GARANTIR PASTAS E ARQUIVOS

if (!(Test-Path "C:\Defesa")) { New-Item -Path "C:\" -Name "Defesa" -ItemType Directory | Out-Null }

if (!(Test-Path $whitelistPath)) { Set-Content -Path $whitelistPath -Value "8.8.8.8`n8.8.4.4" }  


# LOG INICIAL

$time = Get-Date -Format "yyyy-MM-dd HH:mm:ss"

Add-Content -Path $logPath -Value "`n[$time] Iniciando atualização de IPs maliciosos..."


# CARREGAR WHITELIST

$whitelist = Get-Content -Path $whitelistPath | Where-Object { $_ -match '^\d{1,3}(\.\d{1,3}){3}$' }

Add-Content -Path $logPath -Value "Whitelist carregada: $($whitelist -join ', ')"


# BAIXAR E UNIR LISTAS

$allIPs = @()

foreach ($url in $fontes) {

  try {

    $conteudo = Invoke-WebRequest -Uri $url -UseBasicParsing

    $linhas = $conteudo.Content -split "`n"

    $ips = $linhas | Where-Object { $_ -match '^\d{1,3}(\.\d{1,3}){3}$' }

    $allIPs += $ips

    Add-Content -Path $logPath -Value "Fonte carregada: $url"

  } catch {

    Add-Content -Path $logPath -Value "Erro ao acessar $url: $_"

  }

}


# FILTRAR IPs ÚNICOS, REMOVER WHITELIST

$uniqueIPs = $allIPs | Sort-Object -Unique | Where-Object { $_ -notin $whitelist }

$uniqueIPs | Set-Content $ipListPath


# REMOVER REGRAS ANTIGAS

Get-NetFirewallRule -DisplayName "$rulePrefix_*" -ErrorAction SilentlyContinue | Remove-NetFirewallRule -Confirm:$false

Add-Content -Path $logPath -Value "Regras antigas removidas."


# APLICAR NOVAS REGRAS

foreach ($ip in $uniqueIPs) {

  try {

    New-NetFirewallRule -DisplayName "${rulePrefix}_$ip" -Direction Inbound -RemoteAddress $ip -Action Block -Protocol Any -Enabled True -Profile Any | Out-Null

  } catch {

    Add-Content -Path $logPath -Value "Erro ao adicionar IP: $ip"

  }

}


# FINALIZAÇÃO

Add-Content -Path $logPath -Value "Total de IPs bloqueados: $($uniqueIPs.Count)"

Add-Content -Path $logPath -Value "[$time] Atualização concluída com sucesso."



CRIAR A LISTA DE WHITELIST (OPCIONAL)

1️⃣ Abra o Bloco de Notas
2️⃣ Crie o arquivo C:\Defesa\whitelist.txt
3️⃣ Adicione IPs confiáveis, um por linha:


8.8.8.8

8.8.4.4

192.168.1.1

200.200.200.200


4️⃣ Salve o arquivo e esses IPs não serão bloqueados!


AGENDAR EXECUÇÃO AUTOMÁTICA

1️⃣ Pressione Win + R, digite taskschd.msc e clique em OK.
2️⃣ Clique em Criar Tarefa... (no lado direito).
3️⃣ Na aba Geral:


  • Nome: Firewall AutoBlock
  • Marque "Executar com privilégios mais altos"
  • Opção: "Executar se o usuário estiver logado ou não"


4️⃣ Na aba Gatilhos > Novo...

  • Escolha "Diariamente" e marque "Repetir a cada 12 horas"


5️⃣ Na aba Ações > Novo...

Ação: Iniciar um programa

Programa: powershell.exe

Argumentos:


-ExecutionPolicy Bypass -File "C:\Defesa\FirewallMultiBlock.ps1"


6️⃣ Clique em OK para salvar!


TESTE SE FUNCIONA


1️⃣ Execute o script manualmente:


powershell -File "C:\Defesa\FirewallMultiBlock.ps1"


2️⃣ Verifique o log de execução:


C:\Defesa\firewall_log.txt

3️⃣ Para listar as regras aplicadas, use:


Get-NetFirewallRule -DisplayName "BlockMaliciousIPs_*"

4️⃣ Para testar um IP específico:


Test-NetConnection -ComputerName 1.1.1.1

Se der "Blocked", significa que está funcionando!


Revise sua whitelist (C:\Defesa\whitelist.txt) para evitar bloqueios errados.
Atualize regularmente as fontes de IPs maliciosos no script.
Cheque os logs semanalmente (C:\Defesa\firewall_log.txt).
Caso algo pare de funcionar, remova as regras manualmente:


Get-NetFirewallRule -DisplayName "BlockMaliciousIPs_*" | Remove-NetFirewallRule -Confirm:$false


🚨 4. Resposta Automática a Incidentes

Objetivo: Isolar a máquina se um arquivo      .encrypted     for detectado.

Script:      Ransomware-Response.ps1


$infectedFiles = Get-ChildItem -Path "C:\" -Recurse -Filter "*.encrypted" -ErrorAction SilentlyContinue

if ($infectedFiles) {

  Get-NetAdapter | Disable-NetAdapter -Confirm:$false

  $message = "RANSOMWARE DETECTADO em $env:COMPUTERNAME. Arquivos: $($infectedFiles.Count)"

  Send-MailMessage -From "alerta@empresa.com" -To "admin@empresa.com" -Subject "[URGENTE] Infecção por Ransomware" -Body $message -SmtpServer "smtp.empresa.com"

  $logPath = "C:\SecurityScripts\Incident_$(Get-Date -Format 'yyyyMMdd_HHmmss').log"

  $infectedFiles.FullName | Out-File $logPath

}

Monitoramento em Tempo Real:


$watcher = New-Object System.IO.FileSystemWatcher

$watcher.Path = "C:\"

$watcher.Filter = "*.encrypted"

$watcher.EnableRaisingEvents = $true

Register-ObjectEvent $watcher "Created" -Action {

  Start-Process PowerShell.exe -ArgumentList "-File C:\SecurityScripts\Ransomware-Response.ps1" -WindowStyle Hidden

}


📌 Resumo das Tarefas Agendadas

Automatizar tarefas de segurança reduz riscos e garante proteção contínua. Abaixo, um resumo das principais ações agendadas e como configurá-las de forma simples:


1. Verificação de Ransomware

🔹 O que faz? Escaneia arquivos suspeitos de ransomware.
🔹
Frequência: Diária às 2h da manhã.
🔹
Como agendar:


  1. Criar um script para verificar arquivos suspeitos.
  2. No Agendador de Tarefas do Windows, criar uma nova tarefa.
  3. Configurar o acionamento para execução diária às 2h.
  4. No campo "Ação", selecionar "Iniciar um programa" e informar o caminho do script.


2. Backup de Documentos

🔹 O que faz? Copia automaticamente arquivos para um local seguro.
🔹
Frequência: Diária às 23h.
🔹
Como agendar:


  1. Criar um script para copiar os arquivos necessários.
  2. Abrir o Agendador de Tarefas e adicionar uma nova tarefa.
  3. Definir a execução diária às 23h.
  4. Configurar a ação para rodar o script de backup.


3. Atualização de Firewall

🔹 O que faz? Atualiza regras para bloquear IPs maliciosos.
🔹
Frequência: Semanalmente às segundas-feiras, 6h da manhã.
🔹
Como agendar:


  1. Criar um script que adiciona novas regras ao firewall.
  2. No Agendador de Tarefas, criar uma tarefa semanal.
  3. Definir para rodar toda segunda-feira às 6h.
  4. Configurar a ação para executar o script de atualização.


4. Resposta a Incidentes

🔹 O que faz? Desconecta a máquina da rede ao detectar uma ameaça.
🔹
Frequência: Em tempo real.
🔹
Como configurar:


  1. Criar um script que monitora arquivos suspeitos.
  2. Configurar o Windows para executar o script ao detectar novas ameaças.
  3. Opcionalmente, integrar alertas por e-mail para administradores.


Considerações finais

Com essas configurações, o sistema se mantém protegido automaticamente, sem necessidade de intervenção manual frequente.

Teste os scripts em uma VM antes de implantar.

Verifique os logs periodicamente:


Get-Content "C:\SecurityScripts\RansomwareScan_$(Get-Date -Format 'yyyyMMdd').log"


Para editar ou desativar tarefas agendadas:


Get-ScheduledTask -TaskName "ScanDiarioRansomware" | Disable-ScheduledTask

Proteja seu PC contra ransomware! Guia completo com bloqueio, monitoramento e backup automático
4 de abril de 2025
Aprenda a bloquear ataques, monitorar processos suspeitos e criar backups automáticos no Windows, tudo de forma gratuita e sem softwares extras!
Instalação automática do Windows com Unattend.xml! Configure o sistema sem intervenção.
3 de abril de 2025
Automatize a instalação do Windows com Unattend.xml! Configuração sem intervenção, fuso horário Brasília, DHCP automático e particionamento
Script Windows: Pare o WannaCry em 1 Minuto.
2 de abril de 2025
Proteja seu PC do WannaCry! Aprenda a desativar o SMBv1, bloquear a porta 445 e usar scripts PowerShell contra ransomwares. Atualizações críticas + backup seguro.
Script DESBLOAT Windows: Remova Bloatware, Acelere seu PC e Ganhe Privacidade!
1 de abril de 2025
Como Remover Rastreadores do Windows: Script de Privacidade e Desbloat Completo
Como atualizar ou fazer downgrade da BIOS com segurança! Resolva tela preta e travamentos após updat
1 de abril de 2025
Aprenda a atualizar, fazer downgrade e recuperar sua BIOS/UEFI com segurança. Resolva tela preta, travamentos e erros de boot com nosso guia passo a passo!
 Instalando o Windows 11 sem internet? Evite erros! Confira os principais problemas e soluções!
31 de março de 2025
Descubra como instalar o Windows 11 sem internet! Resolva erros como TPM 2.0, disco não detectado e BSOD com este guia completo e atualizado.
Instalação Automatizada do Office 2007 com .BAT
28 de março de 2025
Automatize a instalação do Office 2007 com script .BAT! Guia completo com arquivo config.xml para personalização e solução de erros.
Instale o Windows 10 SEM ERROS! Guia Atualizado 2025
28 de março de 2025
Como instalar o Windows 10 via USB: particionamento, BIOS/UEFI, ativação e otimizações pós-instalação. Guia técnico 100% funcional!
Windows Ativado vs Pirata: Descubra os riscos ocultos, métodos secretos e alternativas 100% legais!
27 de março de 2025
Descubra como ativar o Windows 10/11 com segurança! Métodos testados, riscos ocultos e alternativas 100% legais. Guia completo para usuários inteligentes!
Como Resetar a BIOS com e sem Senha no PC e Notebook
26 de março de 2025
Aprenda resetar BIOS com/sem senha em PCs e notebooks! Métodos infalíveis: CMOS, jumper e backdoor. Guia passo a passo 2024 para Dell, HP, Lenovo e mais.
Mais Posts