📖 Introdução
Este artigo demonstra como uma simples informação de versão de software pode ser transformada em acesso administrativo completo. Através de uma abordagem metodológica, mostraremos o caminho completo desde o reconhecimento inicial até a obtenção de privilégios root.
🎯 Metodologia de Ataque
O processo seguirá os seguintes passos:
1. 🔍 Reconhecimento - Coleta inicial de informações sobre o alvo
2. 🔌 Análise de Portas - Investigação detalhada dos serviços encontrados
3. 📁 Enumeração de Diretórios - Mapeamento da estrutura da aplicação web
4. 🔧 Identificação de Software - Descoberta de tecnologias e suas versões
5. 🔎 Pesquisa de Exploits - Busca por vulnerabilidades conhecidas (CVEs)
6. ⚡ Exploração - Execução do exploit para obter acesso inicial
7. ⬆️ Escalação de Privilégios - Elevação para acesso administrativo
Cada etapa fornece informações cruciais para a próxima, demonstrando como dados aparentemente inofensivos podem comprometer completamente um sistema quando explorados adequadamente.
A seguir, demonstraremos cada passo detalhadamente.
🔍 1. Reconhecimento - Scan de Rede (Nmap)
Nosso alvo tem o IP 10.201.9.235
e iremos iniciar realizando um Scan com Nmap para descoberta de portas e serviços ativos:
nmap -A -T4 -p- 10.201.9.235
Veja a saída do Nmap:
🔌 2. Análise de Portas
Investigação detalhada dos serviços encontrados
🎯 Pontos interessantes:
1. 📂 Porta 21 aberta, serviço FTP, software vsftpd 3.0.3, pode ser utilizado como vetor de ataque.
- ✅ Permite acesso como ftp anônimo, ou seja, sem senha.
2. 🌐 Porta 80 aberta, rodando um servidor web apache 2.4.18 em um ubuntu
- 📁 um diretório chamado
openemr
3. 🔐 Porta 2222 rodando um ssh.
📂 1. Verificando o FTP
Acessar o FTP para analisar se tem alguma informação importante, um diretório etc.
- 🎬 Prática:
- 📄 Analisar o arquivo baixado.
💡 Humm, informando que a senha é fraca e que foi craqueado em segundo.. veremos.
🌐 2. Verificando a página Web
✅ Verificamos novamente que o sistema é um Ubuntu.
Na saída do Nmap vemos um diretório mapeado:
⚠️ Exibe informações demais, isso é desnecessário e dá material para o hacker.
📁 3. Enumeração de Diretórios - Mapeamento da estrutura da aplicação web
🛠️ Existem muitos softwares para realizar a enumeração de diretórios do servidor Web, irei utilizar o gobuster.
gobuster dir --url http://10.201.9.235/ --wordlist /usr/share/wordlists/dirb/small.txt
🔧 4. Identificação de Software - Descoberta de tecnologias e suas versões
🎉 Opa! Encontramos um diretório chamado simple
. Vamos olhar mais de perto.
Encontramos um CMS chamado Made Simple
. Analisando com mais cuidado no fim da página olha o que achamos!!!
🔥 A versão exata do CMS!!!
🔎 5. Pesquisa de Exploits - Busca por vulnerabilidades conhecidas (CVEs)
🌐 Método 1: Google
Fazendo uma simples busca no Google achamos um exploit pronto da base do Exploit-DB
:
Na página vemos que a vulnerabilidade permite ataques de SQLi, a plataforma é php.
Baixar o exploit:
📥 Ele irá para a sua pasta de downloads.
🔍 Método 2: searchsploit
O searchsploit é uma ferramenta de linha de comando do Kali Linux que funciona como um índice local para pesquisar exploits e provas de conceito (PoCs) no banco de dados do Exploit Database.
🎯 O que faz:
- 🔌 Pesquisa offline: Busca exploits sem precisar de conexão com a internet
- 💾 Base local: Mantém uma cópia local do Exploit-DB no seu sistema
- ⚡ Busca rápida: Permite encontrar exploits por nome do software, versão, CVE, etc.
💻 Como usar:
- Busca básica por nome do software:
- Busca por versão específica:
searchsploit CVE-2021-44228
searchsploit -i wordpress
- Mostra apenas exploits para Linux:
searchsploit --platform linux apache
🛠️ Principais opções:
-m
ou --mirror
: Copia o exploit para o diretório atual-x
ou --examine
: Visualiza o conteúdo do exploit-w
ou --www
: Abre o exploit no navegador (Exploit-DB online)-j
ou --json
: Saída em formato JSON--exclude
: Exclui termos da busca
🎯 Por que é útil no Red Team:
- 🔍 Reconnaissance rápido: Identifica rapidamente exploits disponíveis para serviços descobertos
- 🔌 Offline capability: Funciona mesmo sem internet durante operações
- 📝 PoC access: Acesso imediato ao código dos exploits para adaptação
- 🔗 CVE mapping: Relaciona vulnerabilidades conhecidas com exploits funcionais
💡 Exemplo prático:
- Durante um pentest, você encontra um Apache 2.4.49
searchsploit apache 2.4.49
- Resultado mostra CVE-2021-41773 (Path Traversal). Copia o exploit para análise:
É essencialmente seu "Google" local para exploits, fundamental para qualquer operação de Red Team! 🎯
🔄 Bem fizemos um grande parênteses para o searchsploit
, vamos continuar nosso ataque.
searchsploit cms simple made 2.2.8
- 👁️ Visualizar o seu conteúdo:
🎬 Olha aí na prática:
⚡ 6. Exploração - Execução do exploit para obter acesso inicial
⚠️ Detalhe importante: Sempre verificar o código do exploit para tentar entender como ele funciona. Nesse caso o exploit usa o python na versão 2, e estou tentando executar o exploit a partir de um Kali Linux 2025-2, com uma versão do python bem mais nova e tive que fazer alguns adaptações para poder funcionar sem ter que instalar algumas dependências para o python 2.7, o que pode dar uma grande dor de cabeça. Irei disponibilizar o código alterado.
📝 Alterei o nome do exploit para cms_exploit_fixed.py
1. 🔧 Irei executar o exploit sem opção nenhuma para ele me ensinar como usar ele mesmo:
python2 cms_exploit_fixed.py
- ✅ É necessário:
- 🌐 Especificar a URL
- 📝 Indicar uma wordlist para ele tentar quebrar a senha
2. ⚡ Executando o exploit (pode demorar um pouco, é um SQL Injection baseado em tempo):
python2 cms_exploit_fixed.py -u http://10.201.71.199/simple/ --crack -w /usr/share/wordlists/rockyou.txt
⏱️ Cerca de quase 10 minutos depois ele devolve a seguinte tela:
🎯 Resultado:
- 👤 Um usuário:
mitch
- 🔑 A senha:
secret
🔐 Vamos acessar:
ssh mitch@10.201.71.199 -p 2222
✅ Pronto temos acesso a máquina com um usuário comum. Agora vamos escalar privilégio:
⬆️ 7. Escalação de Privilégios - Elevação para virar root
- 👤 Temos acesso como um usuário comum chamado
mitch
. - 🐧 Identificamos que é um Ubuntu 16.04.6 LTS, deve usar sudo
- 🔍 Vemos quais comandos podem ser executados como root
- ⬆️ Em seguida fizemos escalação de privilégios usando uma técnica com o VIM

🛡️ Hora da magia:
sudo vim -c ':!/bin/sh'
🔧 Explicação do Comando:
sudo vim -c ':!/bin/sh'
📋 Quebra do Comando:
🔍 Parte por parte:
sudo
= Executa como root (administrador)vim
= Editor de texto vim-c
= Executa um comando dentro do vim:!
= No vim, executa comando do sistema operacional/bin/sh
= Abre um shell (terminal)
🎯 O que acontece:
- 📝 Abre o vim com privilégios de root
- ⚡ Executa imediatamente o comando
:!/bin/sh
- 🚀 Spawna um shell com privilégios de root
- 👑 Resultado: Você vira root!
💡 Por que funciona:
- O usuário tem permissão
sudo
para usar o vim - O vim permite executar comandos do sistema com
:!
- Como o vim está rodando como root, o shell também herda esses privilégios
⚠️ Resumo:
"Usar o vim como root para escapar para um shell root"
É uma técnica clássica de privilege escalation quando você tem sudo no vim! 🎯
🔗 Outros editores similares:
sudo nano -T 4 -c sh # Com nano
sudo less /etc/passwd # Depois !/bin/sh no less
🎯 Conclusão
💡 Vimos que a partir de uma simples informação exposta pode levar ao comprometimento total de um sistema.
🛡️ Recomendações:
- 🚨 Mantenha-se alerta
- 🤝 Trabalhe com o pessoal da infra
- 🔒 Melhore seu processo de hardening
🌟 Que a força esteja com vocês.