🚨 Escalação de Privilégios - Do Banner ao Root

Criado por André Miranda Albuquerque em Cyber Security 15/08/2025
Compartilhar

📖 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.
ftp 10.201.9.235
  • 🎬 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:
openemr-5_0_1_3


⚠️ 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

🎬 Veja a saída:
🔧 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:
searchsploit apache
  • Busca por versão específica:
searchsploit apache 2.4
  • Busca por CVE:
searchsploit CVE-2021-44228
  • Busca case-insensitive:
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:

  1. 🔍 Reconnaissance rápido: Identifica rapidamente exploits disponíveis para serviços descobertos
  2. 🔌 Offline capability: Funciona mesmo sem internet durante operações
  3. 📝 PoC access: Acesso imediato ao código dos exploits para adaptação
  4. 🔗 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:
searchsploit -m 50383
  • Examina o código:
searchsploit -x 50383
É 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.
  • 🔍 Procurar o exploit:
searchsploit cms simple made 2.2.8
  • 📥 Baixar o exploit
searchsploit -m 46635
  • 👁️ Visualizar o seu conteúdo:
searchsploit -x 46635

🎬 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:

sudo vim -c ':!/bin/sh'
🔍 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:

  1. 📝 Abre o vim com privilégios de root
  2. ⚡ Executa imediatamente o comando :!/bin/sh
  3. 🚀 Spawna um shell com privilégios de root
  4. 👑 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.

Comentários (0)

Compartilhar

Compartilhar este post com outros