This page looks best with JavaScript enabled

TryHackMe - TomGhost

 •  ✍️ sckull

TomGhost es una maquina de TryHackMe. Identificamos una vulnerabilidad en Tomcat para leer las credenciales de esta misma plataforma, lo que nos permitio acceder por SSH donde luego encontramos un archivo encriptado y, que, con la ayuda de John obtuvimos la contraseña para un segundo usuario. Escalamos privilegios utilizando Sudo con Zp e informacion de GTFOBins.

Room

Titulo tomghost box_img_maker
Descripción Identify recent vulnerabilities to try exploit the system or read files that you should not have access to.
Puntos 810
Dificultad Facil
Maker

stuxnet

NMAP

Escaneo de puertos tcp, nmap nos muestra el puerto http (8080), ajp13 (8009) y el puerto ssh (22) abiertos.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# Nmap 7.80 scan initiated Mon May  4 21:55:03 2020 as: nmap -sV -o nmap_scan_mini tomgost.thm
Nmap scan report for tomgost.thm (10.10.190.132)
Host is up (0.22s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE    VERSION
22/tcp   open  ssh        OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
53/tcp   open  tcpwrapped
8009/tcp open  ajp13      Apache Jserv (Protocol v1.3)
8080/tcp open  http       Apache Tomcat 9.0.30
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Mon May  4 21:55:31 2020 -- 1 IP address (1 host up) scanned in 28.22 seconds

GOBUSTER

Utilizamos gobuster para busqueda de directorios y archivos.

1
2
3
4
5
6
7
root@upset:~/thm/tomghost# gobuster dir -w /usr/share/wordlists/dirb/common.txt -u http://tomgost.thm:8080/ -q -t 25 -x php,html,txt
/docs (Status: 302)
/examples (Status: 302)
/favicon.ico (Status: 200)
/host-manager (Status: 302)
/manager (Status: 302)
root@upset:~/thm/tomghost#

HTTP Puerto 8080

Encontramos Apache Tompact en el puerto 8080.
image

AJP - Ghostcat File Read/Inclusion

Para el servicio en el puerto 8009 (Apache Jserv) encontramos un exploit que permite lectura de archivos, utilizamos el exploit CVE-2020-1938. Intentamos leer el archivo index.jsp y logramos obtener el codigo fuente.

image

Ya que logramos obtener el codigo fuente de index.jsp, intentamos obtener el archivo de configuracion web.xml, logramos obtener el codigo fuente y logramos ver lo que parecen credenciales.
image

USER - SKYFUCK

Intentamos ingresar en el panel de tomcat (/manager/html) pero no esta autorizado el acceso. Utilizamos el servicio SSH con las credenciales encontradas y logramos obtener una shell.

image

Dentro de la carpeta principal de Skyfuck encontramos dos arhivos una clave y un archivo encriptado, intentamos importar la key y desencriptar el archivo gpg pero al parecer la clave esta protegida por una frase.

image

Utilizamos gpg2john para generar el hash y utilizar john para encontrar la frase.
image

Una vez encontrada la frase utilizamos esta para desencriptar el archivo credentials.gpg.
image

USER - MERLIN

Utilizamos las credenciales encontradas y obtenemos una shell con el usuario merlin y nuestra flag user.txt.
image

PRIVILEGE ESCALATION

Hacemos una pequeña enumeracion con sudo -l -l y vemos que tenemos permisos root (sudo) para ejecutar el comando zip. Utilizamos zip para obtener una shell root.

image

Logramos obtener una shell con usuario root y nuestra flag root.txt.

image

Share on

Dany Sucuc
WRITTEN BY
sckull
RedTeamer & Pentester wannabe