kb.erickguedes.com
Kali Linux: Ferramentas de Segurança Ofensiva

Introdução e Reconhecimento

Aula 1 de 7

Kali Linux — Instalação e Configuração

Instalação

Opções de instalação:
  - VMware/VirtualBox: imagem pronta (ova/ovf)
  - Bare metal: ISO installer
  - WSL (Windows): kali-linux via Microsoft Store
  - Raspberry Pi: imagem ARM específica
  - Live USB: persistência com partição

Configuração Inicial

# Atualizar o sistema
sudo apt update && sudo apt full-upgrade -y

# Configurar rede (se necessário)
sudo nmtui

# Verificar ferramentas instaladas
sudo apt list --installed | grep kali-

# Configurar proxy (se ambiente corporativo)
export http_proxy=http://proxy:8080

# Habilitar SSH remote access
sudo systemctl enable ssh --now

# Mudar senha padrão
sudo passwd root
# (Padrão: kali/kali)

Metodologia de Teste

O pentest segue um ciclo definido de fases:

1. Reconhecimento (Recon) → Coleta de informações
2. Escaneamento (Scanning) → Descoberta de portas e serviços
3. Exploração (Exploitation) → Obtenção de acesso
4. Pós-Exploração (Post-Exploitation) → Elevação, persistência, exfiltração
5. Relatório (Reporting) → Documentação de achados

Reconhecimento Passivo

Coleta de informações sem interagir diretamente com o alvo.

whois

# Informações de registro de domínio
whois exemplo.com.br

# Identificar contato administrativo, técnico, financeiro
whois exemplo.com.br | findstr "Owner"
whois exemplo.com.br | findstr "Created"

dig

# Consultas DNS avançadas
dig exemplo.com ANY           # Todos registros
dig exemplo.com MX            # Servidores de email
dig exemplo.com NS            # Nameservers
dig -x 8.8.8.8               # Reverse lookup
dig exemplo.com +trace       # Caminho completo da resolução
dig axfr @ns1.exemplo.com exemplo.com  # Zone transfer (se exposto)

theHarvester

# Coleta emails, subdomínios, IPs, hosts
theHarvester -d exemplo.com -b google
theHarvester -d exemplo.com -b linkedin
theHarvester -d exemplo.com -b dns,googledork,yahoo

# Todos os sources
theHarvester -d exemplo.com -b all

Shodan

# Buscar por dispositivos/serviços expostos
# Via CLI (requer API key)
shodan search "port:22 country:BR"
shodan search "apache server:\"2.4.49\""
shodan host 8.8.8.8

# Via navegador: https://www.shodan.io
# Filtros: port, country, city, org, os, hostname

crt.sh

Certificates Transparency — logs de certificados SSL/TLS emitidos.

Ferramenta web: https://crt.sh
Query: %.exemplo.com
Ajude a mapear subdomínios através de certificados emitidos.
# crt.sh via API
curl -s "https://crt.sh/?q=%25.exemplo.com&output=json" | ConvertFrom-Json |
    Select-Object -ExpandProperty name_value -Unique

Google Dorks

site:exemplo.com intranet
site:exemplo.com filetype:pdf
site:exemplo.com inurl:admin
site:exemplo.com "confidencial"
intitle:"index of" "backup" site:exemplo.com
filetype:sql "password" site:exemplo.com

Reconhecimento Ativo

Interage diretamente com o alvo (gera tráfego detectável).

dnsrecon

# Enumeração DNS completa
dnsrecon -d exemplo.com
dnsrecon -d exemplo.com -t axfr        # Teste de zone transfer
dnsrecon -d exemplo.com -t brt         # Força bruta de subdomínios
dnsrecon -d exemplo.com --lifetime 10 -D subdomains.txt -t brt

dnsenum

# Enumeração DNS automatizada
dnsenum exemplo.com
dnsenum --enum exemplo.com                # Enumeração completa
dnsenum -f subdomains.txt exemplo.com     # Com wordlist personalizada

fierce

# Scanner de subdomínios
fierce --domain exemplo.com
fierce --domain exemplo.com --subdomains subdomains.txt
fierce --domain exemplo.com --dns-servers 8.8.8.8

sublist3r

# Enumeração de subdomínios usando múltiplos sources
sublist3r -d exemplo.com
sublist3r -d exemplo.com -b baidu,yahoo    # Sources específicos
sublist3r -d exemplo.com -t 50             # Threads
sublist3r -d exemplo.com -p 80,443         # Port scan básico

Lab: Recon na Prática

# 1. Identificar informações do domínio alvo (use domínio próprio!)
whois seu-dominio.com.br
dig seu-dominio.com ANY

# 2. Coletar subdomínios via crt.sh
curl -s "https://crt.sh/?q=%25.seu-dominio.com&output=json" | ConvertFrom-Json |
    Select-Object -ExpandProperty name_value -Unique

# 3. DNS enumeration
dnsrecon -d seu-dominio.com

# 4. Google dork manual (navegador)
# site:seu-dominio.com "senha" OR "password"

# 5. Verificar headers de segurança do alvo
curl -I https://seu-dominio.com

Reconhecimento é a fase mais importante do pentest. 80% dos achados vêm de recon bem feito. Comece passivo, progrida para ativo apenas quando necessário.