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
  • Contexto
  • Reconhecimento
  • Exploração
  • Movimentação Lateral
  • Escalação de Privilégio
  1. Capture the Flag
  2. TryHackMe

Tomghost

Olá, viajante! Neste artigo, trago um write-up do desafio Startup, da plataforma TryHackMe.

PreviousStartupNextVulnversity

Last updated 2 years ago

Contexto

Temos uma máquina rodando um AJP (Apache Jserv Protocol). O AJP é um protocolo binário que pode fazer proxy de solicitações de entrada de um servidor da Web para um servidor de aplicativos que fica atrás do servidor da Web. Versões abaixo da 7.0.100 estão suscetíveis à (Ghostcat). Consideremos essa máquina uma PoC da CVE em questão.

Tipo: Apache Tomcat

IP: 10.10.76.180

Reconhecimento

Inicialmente, realizamos uma varredura de portas no alvo.

PORT     STATE SERVICE    VERSION
22/tcp   open  ssh        OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 f3c89f0b6ac5fe95540be9e3ba93db7c (RSA)
|   256 dd1a09f59963a3430d2d90d8e3e11fb9 (ECDSA)
|_  256 48d1301b386cc653ea3081805d0cf105 (ED25519)
53/tcp   open  tcpwrapped
8009/tcp open  ajp13      Apache Jserv (Protocol v1.3)
| ajp-methods: 
|_  Supported methods: GET HEAD POST OPTIONS
8080/tcp open  http       Apache Tomcat 9.0.30
|_http-favicon: Apache Tomcat
|_http-title: Apache Tomcat/9.0.30
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Através da varredura realizada, podemos identificar a porta 8009 (porta padrão do serviço Apache Jserv) aberta. Apenas a identificação dessa porta unida ao contexto do alvo, podemos deduzir que conseguimos explorar essa brecha.

Exploração

Acabamos de obter um usuário e senha através da exploração inicial. Podemos tentar acessar o alvo via SSH usando as credenciais encontradas.

Temos acesso. Navegando pelo sistema de arquivos do alvo, encontrei um outro usuário através da pasta /home e, consequentemente, a primeira flag (user.txt).

Movimentação Lateral

Levando em consideração que não há muitos privilégios disponíveis ao usuário que encontramos inicialmente, precisamos encontrar uma forma de lateralizar nosso acesso para o outro usuário encontrado.

Dentro do diretório do usuário skyfuck, existem dois arquivos interessantes.

Tratam-se, respectivamente, de um arquivo de credenciais e uma chave privada. Nesse caso, podemos gerar uma hash do arquivo tryhackme.asc via GPG2John e depois quebrá-la utilizando o próprio John.

Com a senha do arquivo em mãos, podemos descriptografar o arquivo credential.pgp que encontramos no início.

Agora, conseguimos nos movimentar lateralmente para o usuário merlin.

Agora, com um novo usuário em mãos, podemos tentar escalar nosso privilégios a root.

Escalação de Privilégio

Executando alguns dos passos que executei inicialmente para consultar permissões no usuário skyfuck, consegui encontrar uma aplicação que posso executar como root.

TF=$(mktemp -u)
sudo zip $TF /etc/hosts -T -TT 'sh #'
rm $TF

Após obter acesso máximo ao sistema, entrei no diretório /root e obti a flag root.txt. :)

A base nos mostra um um publicado para o serviço que encontramos. Ou seja, já temos uma "receita de bolo" para apenas executar e obter acesso ao alvo.

De acordo com o , podemos escalar privilégios a root utilizando a aplicação zip com os seguintes comandos:

🚩
☁️
🙀
CVE-2020-1938
Exploit Database
exploit
GTFOBins
Execução do exploit 48143
Obtenção de credenciais com a execução do exploit
Acesso ao alvo com as credenciais encontradas
Primeira flag encontrada
Arquivos encontrados
Geração da hash do arquivo tryhackme.asc
Quebra da senha via John
Novas credenciais encontradas no arquivo credential.pgp
Movimentação lateral realizada com sucesso
Podemos executar a aplicação zip com permissões elevadas
Escalação de privilégios via abuso da aplicação zip