O que é Análise de Vulnerabilidades?

Análise de Vulnerabilidades (Vulnerability Assessment — VA) é a quarta fase da metodologia de hacking ético. Se as fases anteriores (reconhecimento, enumeração, varredura) são sobre coletar informações, a VA é onde você identifica as fraquezas que um atacante poderia explorar.

A diferença fundamental: VA encontra vulnerabilidades. Exploitation explora essas vulnerabilidades. O ethical hacker que faz VA identifica e reporta. O pentester que faz exploitation prova que o risco é real executando o ataque. Ambas são legais quando autorizadas por escrito pelo dono do sistema.

⚠️ Legalidade: Escanear sistemas sem autorização é crime em praticamente todas as jurisdições. Sempre tenha um termo de autorização assinado antes de qualquer VA.

Tipos de VA por escopo:

  • Network-based: Analisa hosts, serviços e portas abertas na rede (Nessus, OpenVAS)
  • Host-based: Examina configurações do SO, permissões de arquivos, patches instalados
  • Application-based: Foca em aplicações web e APIs (Nikto, WPScan, Burp Suite)
  • Wireless: Avalia pontos de acesso, protocolos de criptografia, configurações Wi-Fi
  • Database: Verifica configurações de bancos de dados, permissões, patches

Metodologias de VA

Não adianta sair escaneando aleatoriamente. Frameworks e metodologias dão estrutura ao processo. Os mais relevantes:

  • PTES (Pentest Standard): Define fases padronizadas para pentest, incluindo VA. Cobertura completa: pre-engagement, intelligence, threat modeling, vulnerability analysis, exploitation, post-exploitation, reporting.
  • OWASP Testing Guide: Focado em aplicações web. Inclui testes de info gathering, configuration management, authentication, authorization, session management, input validation, e mais.
  • OSSTMM (Open Source Security Testing Methodology Manual): Abordagem holística que avalia segurança de canais (humano, físico, wireless, telecom, data).

Fases do VA

  1. Discovery: Identificar ativos na rede — hosts ativos, serviços, portas. Nmap é o rei aqui.
  2. Enumeration: Coletar detalhes dos serviços encontrados — versões, banners, OS fingerprint.
  3. Vulnerability Identification: Comparar as informações coletadas contra bases de vulnerabilidades (CVE, NVD) usando ferramentas automatizadas.
  4. Analysis: Classificar severidade, avaliar impacto, descartar falsos positivos.
  5. Reporting: Documentar tudo com contexto, impacto e recomendações.
Dica: Asset inventory é a base de tudo. Você não pode proteger o que não sabe que existe. Antes de qualquer VA, garanta que o inventário de ativos está atualizado.

Nessus

Nessus, da Tenable, é um dos scanners de vulnerabilidades mais usados no mercado. Cobertura ampla de plugins (mais de 200.000), interface web intuitiva e suporte a múltiplos tipos de scan.

Versões

Versão Custo Limitações
Nessus Essentials Grátis (registro) 16 IPs por scan, pessoal/não-comercial
Nessus Professional Pago Ilimitado, compliance checks, API
Nessus Expert Pago Tudo do Pro + live results, WAS

Instalação

# Download em tenable.com/products/nessus/nessus-essentials
# Kali Linux geralmente já tem no repositório
sudo apt install nessus

# Iniciar o serviço
sudo systemctl start nessusd

# Acessar: https://localhost:8834
# Ativar via Tenable (requer registro gratuito para Essentials)

Configurando um Scan

  1. Acesse https://localhost:8834
  2. Clique em New Scan
  3. Escolha o template:
    • Basic Network Scan: Descoberta de hosts + vulnerabilidades em serviços
    • Web App Scan: Aplicações web (XSS, SQLi, CSRF)
    • Malware Scan: Detecção de malware e backdoors
    • Credentialed Scan: Usa credenciais para análise mais profunda (patches, configurações)
  4. Defina o target (IP, range CIDR, hostname)
  5. Execute e aguarde

Interpretando Resultados

Os resultados são categorizados por severidade:

Severidade Cor Significado
Critical Vermelho Exploração trivial, impacto massivo (RCE, SQLi sem auth)
High Laranja Exploração possível, impacto significativo
Medium Amarelo Exploração exige condições específicas
Low Azul Impacto limitado, dificilmente explorável
Info Cinza Informacional, sem vulnerabilidade direta

Cada resultado inclui: descrição da vulnerabilidade, referências CVE/CWE, solução (patch ou workaround), e output do plugin que detectou o problema.

Nessus vs OpenVAS: Nessus tem interface mais polida e plugins proprietários. OpenVAS é open source e totalmente gratuito. Em cobertura de CVEs, ambos são competitivos. Para aprendizado, OpenVAS é ideal. Para uso profissional, Nessus é o padrão da indústria.

OpenVAS (GVM)

Greenbone Vulnerability Management (GVM), anteriormente conhecido como OpenVAS, é a alternativa open source mais robusta ao Nessus. Mantido pelo Greenbone Networks, faz parte do Greenbone Community Edition.

Instalação no Kali

# Instalação (Kali já inclui por padrão)
sudo gvm-setup

# O processo gera uma senha de admin — ANOTE
# Se perder, resetar:
sudo gvm-manage-certs -a
sudo runuser -u _gvm -- gvmd --user=admin --new-password=SuaNovaSenha

# Iniciar todos os serviços
sudo gvm-start

# Aguardar a inicialização (NVTs são atualizados automaticamente)
# Pode demorar 10-30 min na primeira vez

# Acessar: https://127.0.0.1:9392

Criando Target, Task e Scan

  1. Configuration → Targets → New Target — Defina o IP/range e dê um nome
  2. Scans → Tasks → New Task — Selecione o target e o scan config (Full and fast é o padrão)
  3. Start — Execute o scan
  4. Monitore em Scans → Tasks

Os NVTs (Network Vulnerability Tests) são os plugins do OpenVAS — milhares de testes atualizados regularmente via greenbone-feed-sync.

Dashboard e Relatórios

O dashboard do GVM oferece visão geral: vulns por severidade, top hosts vulneráveis, tendência temporal. Os relatórios podem ser exportados em PDF, CSV e XML.

Integração com Nmap: Você pode importar resultados de Nmap diretamente no GVM (Scans → Results → Import). Útil quando já tem a fase de discovery feita separadamente.

Nikto

Nikto é um web server scanner open source. Rápido de usar, excelente para primeira passada em servidores web. Detecta configurações inseguras, software desatualizado, arquivos perigosos e mais.

Instalação e Comandos

# Kali já tem
sudo apt install nikto

# Scan básico
nikto -h http://target.com

# HTTPS
nikto -h https://target.com -ssl

# Tuning — controla quais testes executar
nikto -h http://target.com -Tuning 1234

# Principais tunings:
# 1 - Interesting files
# 2 - Misconfigurations
# 3 - Information disclosure
# 4 - XSS/Injection
# 5 - Remote file retrieval
# 7 - Denial of Service
# 9 - Server configuration
# 0 - File upload

# Exportar resultados
nikto -h http://target.com -Format csv -o resultados.csv
nikto -h http://target.com -Format html -o resultados.html

O que o Nikto Detecta

  • Server misconfigurations (directory listing, server version disclosure)
  • Software desatualizado (Apache, PHP, OpenSSL com CVEs conhecidos)
  • Arquivos perigosos expostos (.htaccess, .htpasswd, config.php.bak)
  • Arquivos default instalados (test.cgi, phpinfo.php, server-status)
  • Referências diretas a CVEs
  • CMS identificáveis (WordPress, Joomla, Drupal)
⚠️ Limitação: Nikto é barulhento. Gera muitos falsos positivos e dispara alarmes em WAFs e IDSs. Use em ambientes controlados. Sempre valide manualmente os achados críticos.

WPScan

WPScan é o scanner de referência para WordPress. Enumera plugins, temas, usuários e busca vulnerabilidades conhecidas em cada componente.

Comandos

# Instalação
sudo apt install wpscan
# ou
gem install wpscan

# Scan básico
wpscan --url http://target.com

# Enumerar usuários
wpscan --url http://target.com --enumerate u

# Enumerar plugins
wpscan --url http://target.com --enumerate p

# Enumerar temas
wpscan --url http://target.com --enumerate t

# Enumerar tudo (agressivo — mais barulhento)
wpscan --url http://target.com --enumerate ap,at,u,cb,dbe

# Password attack (com wordlist)
wpscan --url http://target.com \
  --password-attack xmlrpc \
  --usernames admin \
  --passwords /usr/share/wordlists/rockyou.txt

# Com API token (mais vulnerabilidades detectadas)
wpscan --url http://target.com --api-token SEU_TOKEN --enumerate vp

A API token do WPScan é gratuita e dá acesso à base completa de vulnerabilidades. Sem token, a enumeração de plugins vulneráveis é limitada.

O que o WPScan Detecta

  • Vulnerabilidades em plugins, temas e core do WordPress (com referências CVE)
  • User enumeration via ?author=1, XML-RPC, REST API
  • Arquivos de backup expostos (wp-config.php.bak, database.sql)
  • XML-RPC habilitado (pode permitir brute force)
  • Headers de segurança ausentes
  • WAF detectado

searchsploit e Exploit-DB

Exploit-DB é o maior repositório público de exploits e PoCs. O searchsploit é a interface CLI que já vem no Kali para consultá-lo localmente.

# Buscar exploits para Apache 2.4
searchsploit apache 2.4

# Resultado típico:
# -----------------------------------------------------------------
#  Exploit Title                              |  Path
# -----------------------------------------------------------------
# Apache 2.4.7 - Denial of Service           | linux/dos/47532.py
# Apache 2.4.17 - Path Traversal             | linux/remote/44557.py
# -----------------------------------------------------------------

# Ver o exploit completo
searchsploit -x linux/remote/44557.py

# Copiar para o diretório atual
searchsploit -m linux/remote/44557.py

# Filtrar por plataforma
searchsploit -p windows apache 2.4

# Remover duplicados da busca
searchsploit apache 2.4 | grep -v "Exploit Title"

Por que searchsploit é importante após VA

Quando o Nessus ou OpenVAS encontra uma vulnerabilidade, o próximo passo é verificar se existe um exploit público. O searchsploit permite buscar rapidamente PoCs para validar se o risco é teórico ou prático. Uma vulnerabilidade Critical sem exploit público tem prioridade diferente de uma Medium com PoC funcional.

CVE e CVSS

CVE — Common Vulnerabilities and Exposures

CVE é o sistema padronizado para identificar vulnerabilidades. Formato: CVE-YYYY-NNNNN (ex: CVE-2024-3094 — a vulnerabilidade XZ Utils que tirou o sono de meio mundo).

Todo software com vulnerabilidade conhecida recebe um CVE. É o “CPF” da vulnerabilidade — uma referência universal que permite comunicação entre equipes, vendors e pesquisadores sem ambiguidade.

CVSS — Common Vulnerability Scoring System

CVSS quantifica a gravidade de uma vulnerabilidade em uma escala de 0.0 a 10.0. A versão atual é CVSS v3.1.

Métricas Base

Métrica Valores Peso no Score
Attack Vector (AV) Network (N), Adjacent (A), Local (L), Physical (P) Quão acessível é o ataque
Attack Complexity (AC) Low (L), High (H) Quão fácil de explorar
Privileges Required (PR) None (N), Low (L), High (H) Privilégios necessários
User Interaction (UI) None (N), Required (R) Precisa de ação do usuário?
Scope (S) Unchanged (U), Changed (C) O exploit afeta além do componente vulnerável?
Confidentiality Impact (C) None (N), Low (L), High (H) Vazamento de dados
Integrity Impact (I) None (N), Low (L), High (H) Alteração de dados
Availability Impact (A) None (N), Low (L), High (H) Indisponibilidade

Exemplo Prático de Score

Um RCE (Remote Code Execution) acessível via rede, sem autenticação, sem interação do usuário:

AV:N  AC:L  PR:N  UI:N  S:C  C:H  I:H  A:H
Score: 10.0 (Critical)

Um XSS refletido que precisa de interação do usuário e tem impacto limitado:

AV:N  AC:L  PR:N  UI:R  S:C  C:L  I:L  A:N
Score: 6.1 (Medium)

Priorização

Severidade Score Prazo típico de remediação
Critical 9.0 – 10.0 24–72 horas
High 7.0 – 8.9 1–2 semanas
Medium 4.0 – 6.9 1–3 meses
Low 0.1 – 3.9 Próximo ciclo de patch
Info 0.0 Geralmente ignorado
Na prática: CVSS é útil, mas não seja escravo do score. Um Medium com exploit funcional disponível e alvo exposto na internet pode ser mais urgente que um Critical em rede isolada. Contexto sempre vence número.

False Positives e Validação

False positives são resultados que a ferramenta reporta como vulnerabilidades, mas na verdade não são. São comuns em qualquer scanner automatizado e precisam ser tratados com seriedade.

Causas típicas de falsos positivos:

  • Versão do software detectada incorretamente (banner grabbing impreciso)
  • Patch aplicado mas não detectado pela ferramenta
  • Configuração que parece vulnerável mas é mitigada por outro controle (WAF, firewall)
  • Protocolo bloqueado por IPS mas a porta responde

Como Validar

  1. Re-scan: Execute o scan novamente para confirmar consistência
  2. Verificação manual: Teste o PoC específico ou verifique manualmente a versão/configuração
  3. PoC (Proof of Concept): Execute um exploit não-destrutivo para confirmar a explorabilidade
  4. Cross-reference: Verifique a mesma vulnerabilidade com outra ferramenta

A diferença crucial: uma vulnerability existe independentemente de ser explorável. Um exploit prova que a vulnerabilidade pode ser efetivamente explorada no contexto daquele alvo. Nem toda vulnerabilidade é explorável. Nem todo exploit funciona em todos os cenários.

Relatório de VA

O relatório é o entregável principal. Se o cliente não entende o relatório, o VA falhou — independentemente da qualidade técnica do trabalho.

Estrutura Recomendada

  1. Executive Summary — 1-2 páginas para gestão. Panorama geral, top risks, recomendações prioritárias. Sem jargão técnico.
  2. Methodology — Ferramentas usadas, escopo, datas, limitações.
  3. Findings — Cada vulnerabilidade documentada com:
    • Vulnerability: Nome e ID (CVE)
    • Severity: CVSS score + classificação
    • Description: O que é e como funciona
    • Impact: O que pode acontecer se explorado
    • Recommendation: Como corrigir
    • Evidence: Screenshots, outputs de ferramentas, PoC
  4. Risk Matrix — Visualização cruzando probabilidade × impacto
  5. Métricas — Total de vulnerabilidades, breakdown por severidade, hosts afetados, compliance mapping

Exemplo de Relatório Simplificado

RELATÓRIO DE ANÁLISE DE VULNERABILIDADES

Cliente: ACME Corp  |  Data: 10/05/2026  |  Escopo: 192.168.1.0/24

Resumo Executivo

Foram identificadas 47 vulnerabilidades em 12 hosts. Destas, 3 são Críticas, incluindo RCE no servidor web (CVE-2024-1234). Recomenda-se ação imediata nos itens Críticos e High.

Métricas

Critical: 3 High: 8 Medium: 19 Low: 12 Info: 5

Finding #1 — Remote Code Execution no Apache (CRITICAL)

CVE CVE-2024-1234
CVSS 9.8 (Critical)
Host 192.168.1.10:80
Descrição Path traversal + RCE no Apache 2.4.49 com mod_cgi habilitado. Permite execução de comandos remotos sem autenticação.
Impacto Tomada completa do servidor. Exfiltração de dados, movimentação lateral, ransomware.
Remediação Atualizar Apache para 2.4.51+. Desabilitar mod_cgi se não necessário. Aplicar WAF como proteção temporária.

Tabela Comparativa de Ferramentas de VA

Ferramenta Tipo Grátis/Pago Melhor para
Nessus Essentials Scanner geral Grátis (16 IPs) VA de redes pequenas, uso pessoal/estudo
Nessus Pro/Expert Scanner geral Pago VA corporativo, compliance, API integration
OpenVAS (GVM) Scanner geral Open source Alternativa gratuita ao Nessus, labs, automação
Nikto Web scanner Open source Primeira varredura em servidores web, detecção rápida
WPScan WordPress scanner Grátis + API WordPress enumeration e vuln detection
Burp Suite Web proxy/scanner Community + Pro Testes manuais e automatizados em aplicações web
OpenSCAP Compliance scanner Open source Hardening validation, compliance (CIS, STIG)
Nuclei Template scanner Open source Scans velozes com templates de comunidade
searchsploit Exploit search Open source Pesquisar PoCs e exploits para vulns encontradas

Hands-on: VA de um Alvo

Vamos fazer um walkthrough completo usando o Metasploitable 2 como alvo — uma VM intencionalmente vulnerável feita para treinamento.

Passo 1: Discovery

# Descobrir hosts ativos
nmap -sn 192.168.1.0/24

# Resultado: Metasploitable está em 192.168.1.105

Passo 2: Port Scan + Service Detection

# Scan completo
nmap -sV -sC -A 192.168.1.105 -p- -oA metasploitable_scan

# Resultados relevantes:
# 21/tcp  ftp     vsftpd 2.3.4
# 22/tcp  ssh     OpenSSH 4.7p1
# 80/tcp  http    Apache 2.2.8
# 139/445/tcp  smb  Samba 3.0.20
# 3306/tcp mysql MySQL 5.0.51a

Passo 3: Nessus Scan

# No Nessus (https://localhost:8834):
# New Scan → Basic Network Scan
# Target: 192.168.1.105
# Executar e aguardar

# Resultados esperados:
# - CVE-2011-2523: vsftpd 2.3.4 backdoor (CRITICAL)
# - Múltiplas vulns no Apache 2.2.8
# - SMB configurado sem autenticação
# - MySQL com root sem senha
# - Módulos CGI vulneráveis no Apache

Passo 4: Nikto Scan

nikto -h http://192.168.1.105 -o nikto_metasploitable.html -Format htm

# Resultados esperados:
# + OSVDB-3092: /phpmyadmin/ - phpMyAdmin encontrado
# + OSVDB-3268: /icons/README - Apache directory listing
# + /cgi-bin/ - CGI scripts acessíveis
# + Server: Apache/2.2.8 (Ubuntu) DAV/2
# + Multiple CGI scripts with potential vulnerabilities

Passo 5: Buscar Exploits

# Buscar exploits para vsftpd 2.3.4
searchsploit vsftpd 2.3.4

# Resultado:
# vsftpd 2.3.4 - Backdoor Command Execution | linux/remote/17491.c

# Ver o exploit
searchsploit -x linux/remote/17491.c

# Copiar para uso
searchsploit -m linux/remote/17491.c

# Buscar exploits para o Apache
searchsploit apache 2.2.8

# Buscar exploits para Samba
searchsploit samba 3.0.20

# Resultado:
# Samba 3.0.20 - Username Map Script | linux/remote/16320.rb

Interpretação dos Resultados

O Metasploitable 2 é um laboratório com dezenas de vulnerabilidades. Em um cenário real, os passos seriam:

  1. Classificar cada vulnerabilidade por CVSS
  2. Verificar quais têm exploits públicos (searchsploit)
  3. Validar os falsos positivos
  4. Documentar no relatório com priorização
  5. Apresentar recomendações específicas para cada finding

Contra-medidas

VA sem remediação é exercício acadêmico. Aqui estão as contra-medidas fundamentais:

  • Patch Management: Processo sistemático de aplicar atualizações de segurança. Automatize com WSUS (Windows), unattended-upgrades (Debian/Ubuntu), ou ferramentas como Ansible. SLA: Críticos em 48h, High em 1 semana, Medium em 30 dias.
  • Configuration Hardening: Desabilitar serviços desnecessários, aplicar CIS Benchmarks, remover arquivos default, configurar headers de segurança. Ferramentas: OpenSCAP, Lynis, ansible-lockdown.
  • Network Segmentation: Segmentar redes para limitar o impacto de uma eventual exploração. VLANs, firewall rules, zero trust architecture.
  • WAF (Web Application Firewall): Proteger aplicações web contra exploits conhecidos. ModSecurity, Cloudflare, AWS WAF. Não substitui correção, mas adiciona camada de defesa.
  • VA Scans Regulares: Não faça VA só uma vez. Scans semanais em ambientes críticos, mensais em ambientes padrão. Compare resultados entre scans para medir progresso.
  • Vulnerability Disclosure Programs: Permitir que pesquisadores de segurança reportem vulnerabilidades legitimamente. Programas como HackerOne, Bugcrowd, ou programas próprios.
Princípio chave: Segurança não é evento, é processo. Um scan pontual é snapshot. Continuous vulnerability management é vídeo em tempo real.

Próximo Artigo

Até aqui cobrimos as fases técnicas do hacking ético: reconhecimento, enumeração, varredura e análise de vulnerabilidades. Mas o elo mais fraco de qualquer sistema de segurança nunca é tecnológico — é humano.

No Artigo 10, vamos mergulhar em Engenharia Social: phishing, pretexting, baiting, tailgating, quid pro quo. Vamos entender por que técnicas de manipulação psicológica são mais eficazes que qualquer exploit técnico, como reconhecer ataques de engenharia social, e como construir programas de security awareness que realmente funcionam.

O atacante mais perigoso não é quem explora um buffer overflow — é quem convence você a dar a senha voluntariamente.