Pular para o conteúdo principal

Lab 2.2: VM Descartável para Testes Destrutivos

Objetivos de Aprendizagem​

Ao final deste laboratório, você será capaz de:

  • Criar uma VM Windows otimizada para testes
  • Usar snapshots para testar sem riscos
  • Realizar testes destrutivos com segurança
  • Compreender clonagem e linked clones
  • Criar um ambiente de laboratório reutilizável

Duração Estimada​

25 minutos

Pré-requisitos​

  • VirtualBox ou VMware instalado
  • Uma VM Windows 10/11 funcional
  • Pelo menos 20 GB de espaço livre em disco

Contexto Profissional​

Como administrador de sistemas ou profissional de segurança, você frequentemente precisa:

  • Testar configurações que podem quebrar o sistema
  • Verificar o impacto de malwares (em ambiente isolado)
  • Experimentar modificações arriscadas no sistema
  • Treinar usuários sobre erros comuns

VMs descartáveis permitem:

  • Testar QUALQUER COISA sem medo
  • Voltar atrás instantaneamente
  • Multiplicar ambientes de teste
  • Isolar completamente do sistema hospedeiro

Parte 1: Entendendo os Snapshots​

Etapa 1.1: Conceito de Snapshot​

Um snapshot captura o estado EXATO de uma VM em um determinado momento:

  • Todos os arquivos
  • Toda a memória RAM
  • Toda a configuração

Analogia: É como um backup que leva 2 segundos e permite voltar atrás em 5 segundos.

Etapa 1.2: Casos de Uso​

Cenário típico:

  1. VM limpa e funcional
  2. Criar snapshot "CLEAN"
  3. Testar algo destrutivo (apagar System32, desativar serviços...)
  4. Sistema quebrado? Sem problemas!
  5. Restaurar snapshot "CLEAN"
  6. VM como nova em 10 segundos

Perguntas:

  1. Você já quebrou o Windows testando algo?
  2. Quanto tempo levou para reinstalar?

Etapa 1.3: Criando Seu Primeiro Snapshot​

No VirtualBox:

  1. Selecione sua VM Windows
  2. Máquina → Tirar um instantâneo (ou ícone 📸)
  3. Nome: "CLEAN_BASE"
  4. Descrição: "Windows limpo, recém-instalado, antes de qualquer teste"
  5. Clique em OK

BOOM! Snapshot criado em poucos segundos.

No VMware:

  1. VM → Snapshot → Take Snapshot
  2. Mesmo princípio

Perguntas: 3. Quanto tempo levou para criar o snapshot? 4. Qual o tamanho do arquivo de snapshot?


Parte 2: Testes Destrutivos - Nível 1 (Recuperável)​

Etapa 2.1: Teste 1 - Apagar Arquivos do Sistema​

NA SUA VM (NÃO no seu computador real!):

  1. Inicie a VM
  2. Abra o Explorador de Arquivos
  3. Vá para C:\Windows\System32

AVISO: Normalmente, NUNCA faça isso em um sistema real!

  1. Tente apagar notepad.exe

    • Clique com o direito → Excluir
    • O Windows pode bloquear (arquivo protegido)
  2. Tente com privilégios de administrador:

    • Abra o cmd como admin
    takeown /f C:\Windows\System32\notepad.exe
    icacls C:\Windows\System32\notepad.exe /grant %username%:F
    del C:\Windows\System32\notepad.exe
  3. Tente abrir o Notepad

    • Windows + R → notepad
    • Erro! O arquivo não existe mais

Observe:

  • O Windows continua funcionando
  • Mas o notepad está quebrado

Perguntas: 5. Você conseguiu apagar o notepad.exe? 6. O sistema ainda funciona?

Etapa 2.2: Teste 2 - Desativar Serviços Críticos​

Abra o services.msc:

services.msc

Encontre e pare estes serviços:

  1. Windows Update (wuauserv)

    • Clique com o direito → Parar
    • Clique com o direito → Propriedades → Tipo de inicialização: Desativado
  2. Windows Defender (WinDefend)

    • Mesmo procedimento
  3. Windows Search

    • Mesmo procedimento

Reinicie a VM

Observe:

  • Algumas funcionalidades não funcionam mais
  • Pesquisa do Windows quebrada
  • Sem atualizações
  • Sem proteção antivírus

Perguntas: 7. Quais serviços você desativou? 8. Qual impacto imediato você observou?

Etapa 2.3: Teste 3 - Modificar o Registro (Perigoso!)​

ATENÇÃO: Em um sistema real, isso pode causar um BSOD!

Abra o regedit:

regedit

Vá para:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

Encontre a chave Shell (normalmente = explorer.exe)

Altere para: cmd.exe

Reinicie a VM

Resultado:

  • Em vez da área de trabalho normal do Windows, você terá apenas o cmd!
  • Sem explorador, sem desktop!

Perguntas: 9. O que aconteceu após reiniciar? 10. Você ainda conseguiria usar o Windows normalmente?


Parte 3: Restauração do Snapshot​

Etapa 3.1: Sua VM Está Quebrada!​

Após todos esses testes, sua VM provavelmente está:

  • Notepad apagado
  • Serviços críticos desativados
  • Registro modificado
  • Desktop quebrado

Em um sistema real: Reinstalação = 1-2 horas

Com snapshot: Recuperação = 10 segundos!

Etapa 3.2: Restaurar o Snapshot​

No VirtualBox:

  1. Desligue a VM (ou não, você pode restaurar mesmo com ela ligada!)
  2. Clique com o direito na VM → Instantâneos
  3. Selecione "CLEAN_BASE"
  4. Clique com o direito → Restaurar
  5. Confirme

Aguarde 5-10 segundos...

MAGIA! Sua VM voltou ao estado limpo!

Reinicie a VM:

  • Notepad funcionando
  • Todos os serviços ativos
  • Registro normal
  • Desktop normal

Perguntas: 11. Quanto tempo levou para restaurar? 12. Todos os seus testes destrutivos foram desfeitos?

Etapa 3.3: Meça a Diferença​

Tempo para:

  • Reinstalar o Windows do zero: _____ minutos
  • Restaurar um snapshot: _____ segundos

Proporção: Aproximadamente 100x mais rápido!


Parte 4: Múltiplos Snapshots - Árvore​

Etapa 4.1: Criar uma Hierarquia de Snapshots​

Os snapshots podem ser organizados em árvore:

CLEAN_BASE
├── APOS_INSTALAR_CHROME
├── APOS_INSTALAR_PYTHON
│ └── APOS_CONFIG_PYTHON
└── COM_BACKDOOR_TESTE

Crie essa estrutura:

  1. A partir do CLEAN_BASE, inicie a VM
  2. Instale o Chrome (ou outro software)
  3. Crie snapshot: "APOS_INSTALAR_CHROME"
  4. Restaure "CLEAN_BASE"
  5. Instale o Python
  6. Crie snapshot: "APOS_INSTALAR_PYTHON"

Agora você tem 3 estados:

  • Windows limpo
  • Windows + Chrome
  • Windows + Python

Vantagem: Testar diferentes configurações sem reinstalar!

Etapa 4.2: Navegação entre Snapshots​

Exercício:

  1. Restaure "APOS_INSTALAR_CHROME"
  2. Verifique que o Chrome está presente, mas o Python não
  3. Restaure "APOS_INSTALAR_PYTHON"
  4. Verifique que o Python está presente, mas o Chrome não
  5. Restaure "CLEAN_BASE"
  6. Nem Chrome nem Python

Perguntas: 13. Quantos snapshots você criou? 14. Você pode navegar livremente entre eles?

Etapa 4.3: Gerenciamento de Espaço em Disco​

Atenção: Snapshots ocupam espaço!

Verifique o espaço:

No VirtualBox:

  1. Clique com o direito na VM → Configurações → Armazenamento
  2. Veja o tamanho dos arquivos

Cada snapshot armazena:

  • As DIFERENÇAS em relação ao snapshot pai
  • Não todo o disco a cada vez (delta)

Boa prática:

  • Mantenha apenas os snapshots necessários
  • Apague os antigos
  • Faça merge quando possível

Parte 5: Clonagem de VMs​

Etapa 5.1: Clone Completo vs Linked Clone​

Clone Completo:

  • Cópia TOTAL da VM
  • Independente do original
  • Ocupa tanto espaço quanto a VM original
  • Pode ser movido, compartilhado

Linked Clone:

  • Compartilha o disco com a VM original
  • Armazena apenas as DIFERENÇAS
  • Muito mais rápido de criar
  • Usa muito menos espaço
  • Perfeito para testes!

Etapa 5.2: Criar um Linked Clone​

No VirtualBox:

  1. Clique com o direito na sua VM → Clonar
  2. Nome: "Windows_TEST_1"
  3. Tipo de clone: Marque "Ligado" (Linked)
  4. Instantâneo: Selecione "CLEAN_BASE"
  5. Clique em Clonar

BOOM! Clone criado em 10-20 segundos!

Verifique o espaço:

  • VM original: ~15-20 GB
  • Linked clone: ~500 MB no início!

Etapa 5.3: Criar Vários Clones de Teste​

Crie 3 linked clones:

  1. "Windows_TEST_MALWARE" (para testar malwares)
  2. "Windows_TEST_破坏" (para testes destrutivos)
  3. "Windows_TEST_NETWORK" (para testes de rede)

Vantagens:

  • 3 VMs em poucos minutos
  • Espaço total: ~2-3 GB em vez de 60 GB
  • Cada clone pode ser quebrado e recriado em 10 segundos

Perguntas: 15. Quantos clones você criou? 16. Qual o espaço total em disco utilizado?


Parte 6: Testes Destrutivos - Nível 2 (Mais Avançado)​

Agora que você tem VMs descartáveis, vamos testar coisas REALMENTE destrutivas!

Etapa 6.1: Teste 1 - Exclusão do System32​

SOMENTE EM UM LINKED CLONE!

Mito da Internet: "Apagar o System32 acelera o Windows"

Realidade: Isso destrói completamente o Windows!

Vamos testar (em clone!):

  1. Inicie "Windows_TEST_DESTRUCTIVO"
  2. cmd como admin:
takeown /f C:\Windows\System32 /r /d y
icacls C:\Windows\System32 /grant %username%:F /t
  1. NÃO FAÇA (muito demorado): rd /s /q C:\Windows\System32
  2. Em vez disso, apague apenas uma pasta importante:
rd /s /q C:\Windows\System32\drivers
  1. Reinicie

Resultado: BSOD ou falha na inicialização!

Recuperação: Apague o clone, crie um novo em 10 segundos!

Etapa 6.2: Teste 2 - Malware de Teste (EICAR)​

EICAR = Arquivo padrão de teste de antivírus (não é vírus real, apenas teste)

No clone de teste:

  1. Desative o Windows Defender
  2. Crie um arquivo test.txt
  3. Cole o seguinte:
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
  1. Salve
  2. Renomeie para test.com
  3. Reative o Defender

Resultado: Defender detecta e apaga!

Observe:

  • Quarentena
  • Notificações
  • Logs

Perguntas: 17. O Defender detectou o EICAR? 18. Quanto tempo após reativar?

Etapa 6.3: Teste 3 - Fork Bomb (DoS)​

Fork Bomb = Programa que se duplica infinitamente até saturar o sistema

ATENÇÃO: Isso vai TRAVAR sua VM!

Crie forkbomb.bat:

:loop
start %0
goto loop

Execute: Clique duas vezes em forkbomb.bat

Resultado em 10 segundos:

  • CPU a 100%
  • Memória saturada
  • VM completamente travada
  • Impossível fazer qualquer coisa

Recuperação:

  1. Desligue a VM à força
  2. Restaure o snapshot ou crie um novo clone
  3. 10 segundos, tudo OK!

Perguntas: 19. Sua VM travou? 20. Quantos processos cmd.exe foram criados? (Task Manager antes de travar)


Parte 7: Automação e Scripts​

Etapa 7.1: Script de Reinicialização Automática​

Crie um script que:

  1. Apaga o clone de teste
  2. Cria um novo clone limpo
  3. Inicia a nova VM

Exemplo PowerShell:

# Parar e apagar VM de teste
VBoxManage controlvm "Windows_TEST_1" poweroff
VBoxManage unregistervm "Windows_TEST_1" --delete

# Recriar linked clone
VBoxManage clonevm "Windows_Original" --name "Windows_TEST_1" --snapshot "CLEAN_BASE" --options link --register

# Iniciar
VBoxManage startvm "Windows_TEST_1"

Etapa 7.2: Ambiente de Teste Completo​

Arquitetura ideal para labs:

VM_BASE (nunca alterada, múltiplos snapshots)
├── CLEAN_BASE (snapshot)
├── WITH_TOOLS (snapshot - ferramentas instaladas)
└── HARDENED (snapshot - endurecida)

Clones de teste (recriados à vontade):
├── TEST_MALWARE_1
├── TEST_MALWARE_2
├── TEST_NETWORK
└── TEST_EXPLOIT

Workflow:

  1. Quebrar um clone durante o teste
  2. Apagá-lo
  3. Criar um novo em 10 seg
  4. Recomeçar!

Parte 8: Medidas de Segurança​

Etapa 8.1: Isolamento de Rede​

IMPORTANTE: As VMs de teste devem ser isoladas!

Configuração de rede recomendada:

Para testes ofensivos:

  • Rede: Host-Only ou Internal Network
  • Sem Internet!
  • Comunicação apenas entre VMs de teste

Como configurar:

  1. Configurações da VM → Rede
  2. Modo de acesso à rede: Rede interna
  3. Nome: "TestLab"

Verifique o isolamento:

  • Tente pingar google.com (deve falhar)
  • Tente pingar outra VM na mesma rede interna (deve funcionar)

Etapa 8.2: Snapshots Antes de Cada Teste​

Boa prática:

Antes de CADA teste potencialmente destrutivo:

  1. Crie um snapshot com nome descritivo
  2. Faça seu teste
  3. Se funcionar, faça merge ou apague o snapshot
  4. Se quebrar, restaure

Exemplo:

  • Snapshot: "ANTES_TESTE_ROOTKIT"
  • Teste do rootkit
  • Se travar: Restore → Analise o motivo
  • Tente novamente com correções

Etapa 8.3: Documentação​

Documente cada snapshot:

Bom exemplo:

Nome: APOS_INSTALAR_METASPLOIT
Descrição:
- Kali Linux
- Metasploit Framework instalado e atualizado
- Banco de dados PostgreSQL configurado
- Pronto para testes de pentest
Data: 2024-11-08

Mau exemplo:

Nome: teste1
Descrição: (vazio)

Entregáveis​

A entregar:

  1. Documento de testes (Word/PDF) contendo:

    • Lista dos testes destrutivos realizados
    • Resultados observados
    • Tempo de recuperação via snapshot
    • Respostas às 20 perguntas
  2. Capturas de tela (mínimo 6):

    • Lista dos seus snapshots (em árvore)
    • VM quebrada (ex: desktop substituído por cmd)
    • Restauração em andamento
    • VM restaurada e funcional
    • Lista de clones criados
    • Teste EICAR detectado pelo Defender
  3. Arquitetura do laboratório (diagrama):

    • Sua VM base
    • Seus snapshots
    • Seus clones de teste
    • Configuração de rede
  4. Script PowerShell (Etapa 7.1)


Critérios de Avaliação​

CritérioPontos
Criação e gerenciamento de snapshots25%
Testes destrutivos realizados e documentados25%
Clonagem e linked clones20%
Compreensão de isolamento e segurança15%
Qualidade da documentação10%
Script de automação5%

Comandos de Referência do VirtualBox​

Gerenciamento de Snapshots​

# Listar snapshots
VBoxManage snapshot "NomeVM" list

# Criar um snapshot
VBoxManage snapshot "NomeVM" take "NomeSnapshot" --description "Descrição"

# Restaurar um snapshot
VBoxManage snapshot "NomeVM" restore "NomeSnapshot"

# Apagar um snapshot
VBoxManage snapshot "NomeVM" delete "NomeSnapshot"

Clonagem​

# Clone completo
VBoxManage clonevm "VMSource" --name "VMClone" --register

# Linked clone
VBoxManage clonevm "VMSource" --name "VMClone" --snapshot "SnapshotName" --options link --register

Gerenciamento de VMs​

# Iniciar
VBoxManage startvm "NomeVM"

# Desligar corretamente
VBoxManage controlvm "NomeVM" acpipowerbutton

# Desligamento forçado
VBoxManage controlvm "NomeVM" poweroff

# Apagar
VBoxManage unregistervm "NomeVM" --delete

Solução de Problemas​

Problema: Snapshot demora muito​

Solução: Se sua VM tem muita RAM (8 GB+), o snapshot da memória pode demorar. Desligue a VM antes de criar o snapshot.

Problema: Falta de espaço em disco​

Solução:

  • Apague snapshots desnecessários
  • Faça merge dos snapshots (clique com o direito → Apagar - os dados são mantidos)
  • Use linked clones em vez de clones completos

Problema: Linked clone não inicia​

Solução: O linked clone depende da VM pai. Se você apagar ou mover a VM pai, os linked clones não funcionarão mais.


Indo Além (Opcional)​

Desafio 1: Lab Multi-VMs​

Crie um laboratório com:

  • 1 VM Windows (alvo)
  • 1 VM Kali Linux (atacante)
  • Rede interna conectando ambas
  • Snapshots coordenados das duas

Desafio 2: Vagrant para Automação​

Pesquise sobre Vagrant - ferramenta de automação de VMs.

Crie um Vagrantfile que:

  • Configure automaticamente uma VM Windows
  • Instale ferramentas
  • Crie os snapshots
  • Tudo em um comando!

Desafio 3: Templates de VMs​

Crie templates para diferentes cenários:

  • Template "Windows Vulnerável" (antigo, sem patch)
  • Template "Windows Hardened" (endurecido ao máximo)
  • Template "Windows Default" (instalação padrão)

Documente as diferenças e casos de uso.


Conclusão​

Este laboratório ensinou você a:

  • Usar snapshots para testar sem riscos
  • Criar ambientes descartáveis
  • Realizar testes destrutivos com segurança
  • Otimizar espaço em disco com linked clones
  • Criar uma infraestrutura de laboratório reutilizável

Lições-chave:

  1. Snapshots = Liberdade total - Teste tudo sem medo
  2. Linked clones = Eficiência - Vários ambientes, pouco espaço
  3. Isolamento de rede = Segurança - Sem impacto na rede real
  4. Documentação = Produtividade - Saiba onde está
  5. Automação = Rapidez - Scripts para tarefas repetitivas

Próxima etapa: Lab 2.3 onde você explorará opções de segurança BIOS/UEFI e proteção a nível de firmware!


Lab desenvolvido no âmbito do curso Sistemas Operacionais - MÓDULO 2