2H4CK
  • 🎯2H4CK
  • 📰Artigos
    • ☁️Cloud
      • 🌩️Encontrando e explorando buckets expostos
    • 🔐Security
      • Let's talk about Wazuh
    • 🌐Web
      • 🌐Como funciona uma aplicação web
      • 💸Comportamento prático de um Stealer
      • 💉Detectando e analisando SQL Injection
      • 🐝OWASP
    • 🪟Windows
      • 🧑‍💻Explorando Kerberos
    • 📡Wireless
      • 🔑Dissecando e atacando o WPA com o Aircrack
  • 🚩Capture the Flag
    • 🟩Hack the Box
      • 🖼️Photobomb
    • ☁️TryHackMe
      • 🪟Attacktive Directory
      • 🕵️Basic Pentesting
      • 🥒Pickle Rick
      • 🌶️Startup
      • 🙀Tomghost
      • 👨‍🚀Vulnversity
  • 📚Hacking Guide
    • 🔥Entendendo e tratando incidentes de segurança
    • 🔢Fases Macro de um Ataque
    • 🕵️Introdução ao Threat Hunting
Powered by GitBook
On this page
  • Reconhecimento
  • Exploração
  • Escalação de Privilégio
  1. Capture the Flag
  2. TryHackMe

Vulnversity

Olá, viajante! Neste artigo, trago um write-up do desafio Vulnversity.

PreviousTomghostNextEntendendo e tratando incidentes de segurança

Last updated 2 years ago

Reconhecimento

Ao realizar um portscan básico, encontrei as seguintes portas abertas:

PORT     STATE SERVICE     VERSION
21/tcp   open  ftp         vsftpd 3.0.3
22/tcp   open  ssh         OpenSSH 7.2p2 Ubuntu 4ubuntu2.7
139/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
3128/tcp open  http-proxy  Squid http proxy 3.5.12
3333/tcp open  http        Apache httpd 2.4.18 ((Ubuntu))
Service Info: Host: VULNUNIVERSITY; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

Acessando a porta 3333 (Serviço Web), me deparei com a aplicação Vulnversity.

Analisei o código-fonte da página e não encontrei nada muito relevante. Partindo para a enumeração de diretórios, encontrei um diretório interessante.

Acessando o diretório encontrado, notei uma função de upload de arquivos.

Exploração

Eu poderia tentar subir uma shell reversa em PHP, levando em consideração que o site utiliza tal tecnologia...

O servidor não permite upload de arquivos com extensão .php... Posso tentar algumas outras alternativas, como .php2, .php3, .php4, .php5 ou .phtml.

Agora só preciso acessar o arquivo que fiz o upload.

Provavelmente o arquivo não está armazenado na mesma pasta... Então decidi realizar uma varredura de diretórios dentro da página encontrada inicialmente.

Subindo uma shell full PTY através do Python.

Agora que possuo acesso ao servidor, procurei a flag user.txt.

Escalação de Privilégio

Para tentar escalar privilégios, verifiquei a existência de executáveis com permissão SUID.

Com isso, criei um payload na pasta /tmp que simula um serviço, cujo qual chama uma shell.

🚩
☁️
👨‍🚀
Página inicial
Diretório encontrado
Página encontrada com função de upload de arquivos
Operação não permitida
Tentando subir uma shell reversa em .phtml
Sucesso!
Arquivo não encontrado
Diretório de upload de arquivos encontrados
Shell reversa
CTRL+Z > stty raw -echo > fg > export TERM=xterm
Captura da flag user.txt
O executável systemctl pode ser executado com permissões SUID
Serviço forjado para executar uma shell reversa com permissões elevadas via systemctl
Habilitação do serviço
Shell reversa com permissões elevadas obtida com sucesso
Captura da flag root.txt