Saltar al contenido
0xrcosRyan Camargo — home
Todas las publicaciones
labs~7min readRyan Camargo

Mi Primera Habitación TryHackMe: Una Guía para Principiantes (Metodología, Sin Spoilers)

Un write-up de aprendizaje público de la metodología que usé en mi primera habitación Linux para principiantes de TryHackMe — reconocimiento, enumeración y la mentalidad que finalmente encajó.

Descargo de responsabilidad: Este es un contenido de marcador de posición de muestra escrito para demostrar el blog. El nombre de la "habitación" de abajo es ilustrativo — no es una guía de una habitación específica y nombrada de TryHackMe que afirme haber resuelto. La metodología descrita es un flujo de trabajo genérico para principiantes. Reemplace esta publicación con sus propios write-ups reales.

Nota: Este es contenido de marcador de posición de muestra creado para demostrar el blog. Reemplácelo con su propia escritura.

Finalmente me senté y trabajé en mi primera habitación para principiantes de TryHackMe el fin de semana pasado. Llevaba meses dando vueltas a la idea — comprando la suscripción, diciéndome que comenzaría "la próxima semana" — y lo que finalmente me desbloqueó fue tratarlo como una tarea en lugar de un examen. Esta publicación no es una revelación de la flag. Es la metodología que aprendí, escrita para que pueda releerla más tarde.

La Configuración

No voy a fingir que soy cool con esto. Instalé el archivo de configuración de OpenVPN exactamente como la plataforma indica, me conecté y luego verifiqué la conexión tres veces porque no la confiaba:

# Coloca el archivo .ovpn descargado en una carpeta y conéctate.
sudo openvpn --config ryan_student.ovpn

# En otra terminal, verifica que el túnel se haya establecido.
ip a show tun0

# Confirma que el objetivo es alcanzable a través del túnel.
ping -c 3 10.10.10.10   # IP de objetivo ilustrativa

Una verificación de cordura que ahora hago cada vez: hago ping al objetivo antes de hacer nmap. Si el ping falla, la VPN no se estableció y no tiene sentido escanear. Cinco minutos ahorrados, cada vez.

Fase 1 — Reconocimiento

El cambio más grande en mi forma de pensar fue internalizar que el "reconocimiento" no es un solo paso, es una postura. Antes de tocar el objetivo, anotas lo que intentas aprender. Mi lista se ve así:

  • ¿Qué servicios están activos?
  • ¿Qué versiones?
  • ¿Qué está expuesto que no estaba documentado?
  • ¿Qué me dice el área superficial sobre cómo se supone que se debe abordar esta máquina?

El primer comando siempre es el mismo:

# Escaneo inicial rápido: los 1000 puertos TCP principales, scripts por defecto, detección de versiones.
nmap -sV -sC -oN nmap_initial.txt 10.10.10.10

Guardo la salida en un archivo porque definitivamente olvidaré qué había en el puerto 8080 para cuando haya cambiado al puerto 22. Algunas flags que he aprendido a leer con atención:

Flag Lo que hace Cuando la uso
-sV Sondear versiones de servicios Casi siempre — las versiones impulsan la enumeración
-sC Ejecutar scripts NSE por defecto Escaneo inicial, para encontrar fruta de bajo hanging
-O Detección de SO Cuando tengo una suposición y quiero confirmar
-p- Escanear todos los 65,535 puertos TCP Cuando el escaneo de los 1000 principales no encontró nada
-oN Salida normal a un archivo Siempre. Las notas son el entregable.
--min-rate Acelerar / desacelerar la tasa de paquetes Acelerar escaneos amplios en una conexión estable
  • -sV — sondear versiones de servicios. Aquí está el oro.
  • -sC — scripts NSE por defecto. Más lento, pero a menudo encuentran fruta de bajo hanging (FTP anónimo, títulos de http, shares SMB).
  • -oN — salida normal a un archivo. El tú del futuro agradecerá al tú del presente.

Si el escaneo inicial encuentra puertos pero no mucho detalle, haré una pasada más exhaustiva:

# Todos los puertos TCP, luego alimentar a la detección de versiones lo que esté abierto.
nmap -p- --min-rate 1000 -oN nmap_allports.txt 10.10.10.10
nmap -sV -sC -p <puertos abiertos, separados por comas> -oN nmap_deep.txt 10.10.10.10

Fase 2 — Enumeración

Esta es la fase en la que solía precipitarme, y es la fase en la que ahora paso más tiempo. La enumeración es donde mapeas el área superficial en detalle. El error que cometía constantemente era saltar a la explotación tan pronto como veía un servidor web. Ahora me obligo a responder tres preguntas antes de hacer nada:

  1. ¿Qué software, exactamente? (Cadena de versión, framework, CMS.)
  2. ¿Qué endpoints, directorios o archivos existen que no están en la página principal?
  3. ¿Hay una vulnerabilidad conocida para esta versión?

Para un servidor web en el puerto 80, un ataque de fuerza bruta básico de directorios se ve así:

# Enumeración de directorios con gobuster. Pequeña lista de palabras para empezar.
gobuster dir -u http://10.10.10.10/ -w /usr/share/wordlists/dirb/common.txt -o gobuster.txt

# Si encuentras algo interesante, busca archivos también.
gobuster dir -u http://10.10.10.10/ -w /usr/share/wordlists/dirb/common.txt -x php,txt,html,bak -o gobuster_files.txt

Si la máquina expone SMB, enum4linux es un punto de partida amigable:

enum4linux -a 10.10.10.10 | tee enum4linux.txt

La parte poco glamurosa de la enumeración es tomar notas. Mantengo un archivo markdown por máquina con secciones para puertos, versiones, directorios, credenciales probadas y callejones sin salida. Cuando vuelvo a una máquina al día siguiente, las notas son lo que me ponen al día en cinco minutos en lugar de una hora.

Fase 3 — Explotación (la parte cuidadosa)

Aquí es donde la ética realmente importa, incluso en un laboratorio en un entorno aislado. Tres reglas que me he impuesto:

  • Solo ejecuto exploits que pueda explicar en una sola frase. Si no puedo decir por qué este payload funciona, me detengo y leo.
  • Prefiero PoCs públicos de fuentes reputables (Exploit-DB, repositorios de GitHub de investigadores con nombre) que copiar y pegar aleatoriamente de un foro.
  • Leo el código del PoC antes de ejecutarlo. Siempre.

Para una habitación Linux para principiantes, el paso de explotación generalmente no es un exploit de corrupción de memoria. Es más a menudo uno de estos:

  • Un CVE conocido contra una versión de servicio obsoleta encontrado durante la enumeración.
  • Una credencial débil o por defecto en un panel de administración expuesto.
  • Una carga de archivo que la aplicación no valida correctamente.
  • Un vector de inyección de comandos en una función que invoca al sistema operativo.

Las "máquinas para principiantes" son para principiantes por una razón. La lección es la metodología, no el exploit. El mismo ciclo de reconocimiento → enumeración → explotación escala hasta el nivel más alto; solo cambia la profundidad.

Fase 4 — Escalada de Privilegios

Una vez que tienes un punto de apoyo como usuario de bajos privilegios, la pregunta se convierte en: ¿cómo me convierto en root? En Linux, mi lista de verificación es:

  • Ejecuta id y whoami. Anota los grupos en los que estás.
  • sudo -l — ¿qué puede este usuario ejecutar como root sin contraseña?
  • Busca binarios SUID: find / -perm -4000 -type f 2>/dev/null
  • Verifica scripts escribibles llamados por cron o temporizadores de systemd.
  • Revisa las variables de entorno, PATH, cualquier cosa inusual en ~/.bashrc.

GTFOBins es la referencia que consulto después de encontrar un binario SUID sospechoso o una entrada sudo -l. El punto no es memorizar; el punto es saber qué buscar y dónde buscarlo.

En Windows, la referencia equivalente es LOLBAS, y la herramienta que usaría después de un punto de apoyo es algo como winpeas para automatizar la fase de descubrimiento.

Lo que Realmente Encajó

Algunas cosas que desearía que alguien me hubiera dicho con más fuerza antes de empezar:

  • Quince minutos de enumeración superan dos horas de adivinanzas. La máquina te está diciendo a qué es vulnerable. Escucha.
  • Toma notas. El tú del futuro es la audiencia. Cada comando, cada salida, cada "huh, eso es raro".
  • No te precies con las pistas. Las habitaciones para principiantes son para aprender, no para demostrar que puedes forzar la respuesta con cero ayuda.
  • Lee el exploit antes de ejecutarlo. Incluso si no lo entiendes del todo. Especialmente si no lo entiendes del todo.
  • La metodología es lo que te llevas, no la flag. Las flags caducan; el ciclo no.

Siguiente Paso

Mi plan para el próximo mes es trabajar en dos o tres habitaciones más para principiantes usando exactamente este ciclo, con el objetivo de ser más rápido en las aburridas partes (reconocimiento, tomar notas) para poder pasar más tiempo en las interesantes (análisis de vulnerabilidades). Una vez que eso se sienta cómodo, pasaré a habitaciones intermedias y empezaré a mirar HackTheBox y PortSwigger Web Security Academy para variedad.

Si también estás empezando: la mejor cosa que puedes hacer es escribir lo que intentaste. La primera vez que lo hagas, te darás cuenta de cuánta tu "memoria" en realidad era una serie de conjeturas afortunadas, y ese es el momento en que realmente comienza el aprendizaje.

En esta página