Mapeamento de Vulnerabilidades

Encontrando as Fraquezas

É descobrir as vulnerabilidades (fraquezas) de um sistema ou rede. Essas fraquezas serão utilizadas mais tarde para um possível ataque bem-sucedido.


📋 Conceitos Básicos

Tipos de Mapeamento

O mapeamento de vulnerabilidades pode ser classificado de três formas:

Manual vs Automático

TipoDescriçãoPrósContras
AutomáticoUtiliza softwares que verificam vulnerabilidadesRápido, abrangenteFalsos positivos/negativos
ManualNão usa ferramentas de scan, testa cada serviçoMais precisoDemorado, requer experiência

Hackers experientes usam uma combinação das duas técnicas.

Rede Local vs Internet

TipoDescrição
Rede LocalMapear vulnerabilidades na rede onde você está conectado
InternetMapear alvos em outras redes (requer mais cuidado)

Autenticado vs Não Autenticado

TipoDescrição
AutenticadoScanner configurado com credenciais válidas — análise mais profunda
Não AutenticadoSem credenciais — mais rápido, menos resultados

🛠️ Ferramentas

FerramentaUso
NmapScanner de rede e vulnerabilidades
NiktoScanner de vulnerabilidades web
NessusScanner comercial (não abordaremos)

🔍 Análise de Vulnerabilidades com Nmap

Nmap Scripting Engine (NSE)

O Nmap possui uma poderosa funcionalidade que permite a utilização, criação e compartilhamento de scripts para análise automatizada de vulnerabilidades.

Localização dos Scripts

/usr/share/nmap/scripts/

Documentação: nmap.org/book/nse-usage.html

Categorias de Scripts

Cuidado com Scripts Intrusivos

Os scripts são divididos em categorias. Focaremos em vuln e exploit, mas atenção à diferença entre safe e intrusive.

CategoriaDescriçãoSegurança
safeNão afetam o alvo✅ Seguros
intrusivePodem derrubar serviços⚠️ Usar apenas em labs
vulnDetectam vulnerabilidades⚠️ Alguns são intrusivos
exploitTentam explorar falhas❌ Usar apenas em labs

Atenção

NÃO EXECUTEM SCRIPTS DA CATEGORIA INTRUSIVE EM ALVOS REAIS, SOMENTE EM MÁQUINAS VIRTUAIS!

Mesmo scripts da categoria vuln podem realizar atividades de exploit e prejudicar o alvo.

Consultando Informações dos Scripts

O arquivo script.db contém informações sobre cada script:

# Ver primeiras linhas
head -n 5 /usr/share/nmap/scripts/script.db
 
# Filtrar por categoria
cat /usr/share/nmap/scripts/script.db | grep '"vuln"\|"exploit"'

Executando Scripts de Vulnerabilidade

# Rodar todos os scripts de vulnerabilidade
nmap --script vuln 10.11.1.10
 
# Rodar script específico
nmap --script=smb-vuln-ms17-010 192.168.1.1
 
# Combinar com scan de serviços
nmap -sV --script vuln 192.168.1.1

🌐 Análise Manual de Aplicações Web

Buscas Manuais

Além de ferramentas automatizadas, a análise manual revela detalhes importantes.

Técnicas de Análise

TécnicaO que Procurar
Código-fonte da páginaComentários, links escondidos, JavaScript, framework
Developer Tools - DebuggerScripts carregados, breakpoints
Developer Tools - NetworkRequisições HTTP, headers, cookies
Developer Tools - ConsoleErros JavaScript, mensagens de debug

Passos para Análise Manual

  1. View Source — Analise comentários HTML e scripts inline
  2. Debugger/Sources — Examine arquivos JavaScript carregados
  3. Network Tab — Observe requisições e respostas
  4. Robots.txt — Verifique diretórios ocultos
  5. Sitemap.xml — Mapeie a estrutura do site

📊 Workflow de Mapeamento

1. Descoberta de Hosts
       ↓
2. Scan de Portas
       ↓
3. Detecção de Serviços
       ↓
4. Identificação de Versões
       ↓
5. Scan de Vulnerabilidades
       ↓
6. Validação Manual
       ↓
7. Documentação

🎯 Exemplos Práticos

Scan Básico de Vulnerabilidades

# Scan completo com detecção de versões e vulnerabilidades
nmap -sV --script vuln 192.168.1.0/24

Scan de Vulnerabilidade SMB

# Verificar EternalBlue
nmap -p445 --script smb-vuln-ms17-010 192.168.1.1

Scan de Vulnerabilidades Web

# Usar Nikto para web
nikto -h http://192.168.1.1