¡Bienvenido al manual de Pentesting para principiantes! En este manual, te guiaré a través de los pasos necesarios para realizar un pentesting en la máquina RootMe de TryHackMe. Aprenderás los conceptos básicos y las herramientas clave utilizadas en el pentesting. ¡Comencemos!

Requisitos previos:

  • Conocimientos básicos de Linux y línea de comandos.
  • Entorno de trabajo configurado con las herramientas necesarias.
Rootme De Tryhackme

Paso 1: Crear directorio de trabajo

Para mantener todos los documentos organizados y accesibles, crea un directorio en tu escritorio llamado “RootMe” o cualquier otro nombre que prefieras. Este directorio será tu ubicación central para almacenar todos los archivos utilizados durante el pentesting.

Paso 2: Configurar el archivo hosts

Es recomendable agregar una entrada en el archivo hosts para facilitar la identificación de la máquina objetivo. Abre el archivo hosts (ubicado en /etc/hosts en Linux o C:\Windows\System32\drivers\etc\hosts en Windows) y agrega la siguiente línea:

ip_máquina rootme.thm

Reemplaza “ip_máquina” con la dirección IP real de la máquina RootMe.

Paso 3: Escaneo de puertos y detección de servicios en RootMe de TryHackMe

El primer paso en un pentesting es identificar los puertos abiertos y los servicios que se ejecutan en la máquina objetivo. Utilizaremos la herramienta Nmap para realizar esta tarea. Abre una terminal y ejecuta el siguiente comando:

nmap -p- --open -sC -sV -sS --min-rate 5000 -vvv -n -Pn ip_máquina -oN nmap_rootme

Este comando escaneará todos los puertos (-p-), buscará los puertos abiertos y los servicios asociados (-sV), ejecutará scripts de enumeración de servicios comunes (-sC), realizará un escaneo sigiloso (-sS), establecerá una velocidad mínima de envío de paquetes (--min-rate 5000), mostrará la información detallada (-vvv), utilizará direcciones IP en lugar de resolución de nombres (-n), y evitará la resolución de nombres (-Pn). El resultado se guardará en el archivo “nmap_rootme” en el directorio de trabajo.

Captura De Pantalla 2023 05 30 A Las 17.36.00

Paso 4: Análisis de resultados del escaneo

Después de completar el escaneo de puertos, analiza los resultados en el archivo “nmap_rootme”. Identifica los puertos abiertos y los servicios correspondientes. En el caso de RootMe, los puertos 22 y 80 están abiertos.

Paso 5: Enumeración de directorios web

La enumeración de directorios web es un paso importante para descubrir posibles puntos de entrada. Utilizaremos la herramienta Gobuster para este propósito. Ejecuta el siguiente comando en la terminal:

gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 100 -q -u ip_máquina

Este comando iniciará el escaneo de directorios con Gobuster, utilizando el archivo “directory-list-2.3-medium.txt” como lista de palabras para la búsqueda. La opción -t 100 indica el número de hilos utilizados para el escaneo (puedes ajustarlo según tus recursos). El parámetro -q se utiliza para el modo silencioso, y la opción -u especifica la URL de la máquina objetivo. Reemplaza “ip_máquina” con la dirección IP real de la máquina RootMe.

Captura De Pantalla 2023 05 30 A Las 17.35.10

Paso 6: Descubrimiento de directorio oculto

Durante la enumeración de directorios, es posible que encuentres directorios ocultos que no son fácilmente accesibles. En el caso de RootMe, se ha descubierto el directorio “/panel/”.

Paso 7: Acceso al directorio oculto

Ahora, accedamos al directorio oculto “/panel/”. A continuación, realizarás los siguientes pasos dentro del directorio:

  1. Crea un archivo PHP reverse shell con el nombre “php_reverse_shell.php” y cárgalo en el directorio. Asegúrate de cambiar la IP dentro del archivo por la IP de tu propia máquina. Si el servidor rechaza la carga de archivos PHP, cambia la extensión del archivo a “.phtml”.
  2. Abre un netcat listener en tu máquina con el comando nc -nvlp 1234.
  3. Abre el archivo “php_reverse_shell.php” en el navegador de la máquina objetivo.
  4. ¡Ahora estás dentro de la máquina objetivo y puedes ejecutar comandos!
Captura De Pantalla 2023 05 30 A Las 17.33.43
Captura De Pantalla 2023 05 30 A Las 17.34.04

Paso 8: Escalada de privilegios en RootMe de TryHackMe

El siguiente paso es buscar posibles vulnerabilidades que nos permitan escalar privilegios en la máquina. Ejecuta el siguiente comando en la terminal:

Copy codefind / -perm -4000 2>/dev/null

Este comando buscará archivos con el bit SUID activado, lo que podría indicar posibles oportunidades de escalada de privilegios. En el caso de RootMe, se encuentra el directorio “/usr/bin/python” que puede ser utilizado para este propósito.

Paso 9: Exploración de binarios SUID

Utilizaremos la página web https://gtfobins.github.io/gtfobins/python/ para encontrar una forma de utilizar el binario SUID encontrado. Busca en la lista de binarios SUID y encuentra el acceso a Python.

Paso 10: Ejecución del comando de escalada de privilegios

Desde el directorio “/usr/bin/”, ejecuta el siguiente comando:

./python -c 'import os; os.execl("/bin/sh", "sh", "-p")'

Este comando utilizará Python para ejecutar el shell /bin/sh con privilegios elevados. Ten en cuenta las instrucciones adicionales mencionadas en la página de GTFOBins, especialmente si la shell sh por defecto se ejecuta con privilegios SUID.

¡Felicidades! Ahora tienes privilegios de root en la máquina RootMe.

Captura De Pantalla 2023 05 30 A Las 17.34.29

Paso 11: Búsqueda de la bandera final RootMe de TryHackMe

Como último paso, busca la bandera final dentro de la máquina para completar el pentesting.

Resumen de pasos para la máquina RootMe de TryHackMe:

  1. Crea un directorio de trabajo en el escritorio.
  2. Configura el archivo hosts con la entrada correspondiente a la máquina RootMe.
  3. Escaneo de puertos y detección de servicios con Nmap.
  4. Analiza los resultados del escaneo de puertos para identificar los puertos abiertos.
  5. Enumera los directorios web utilizando Gobuster.
  6. Descubre directorios ocultos, como “/panel/”.
  7. Accede al directorio oculto y realiza los pasos necesarios para cargar un PHP reverse shell y obtener acceso a la máquina objetivo.
  8. Realiza una búsqueda de binarios con el bit SUID activado para identificar posibles oportunidades de escalada de privilegios.
  9. Utiliza el binario SUID encontrado, en este caso “/usr/bin/python”, y sigue las instrucciones de GTFOBins para ejecutar comandos con privilegios elevados.
  10. Busca la bandera final dentro de la máquina RootMe.

¡Únete a DCSeguridad!

DCSeguridad es una empresa de seguridad cibernética comprometida con la protección de tus sistemas. Si estás interesado en mejorar la seguridad de tu empresa y obtener servicios de pentesting y consultoría, te invitamos a ponerte en contacto con nosotros. Nuestro equipo de expertos está listo para ayudarte.

Además, te animamos a unirte a nuestro canal de Telegram, donde compartimos información actualizada sobre seguridad cibernética, consejos prácticos y noticias relevantes del campo. Únete a nuestra comunidad y mantente al tanto de las últimas tendencias y avances en el mundo de la seguridad.

¡DCSeguridad te acompaña en tu camino hacia una mayor protección y seguridad cibernética!