[HACKTHEBOX] MACHINE — ORION (FÁCIL) [HACKTHEBOX] MACHINE — CAP (FÁCIL) [HACKTHEBOX] MACHINE — REACTOR (FÁCIL) [HACKTHEBOX] MACHINE — DEVHUB (MEDIO)
HACKTHEBOX • WRITE-UP

CAP.

Enumeración con Nmap, fuzzing con Wfuzz para encontrar un archivo .pcap, análisis con Wireshark/Tshark para obtener credenciales en texto plano, acceso por SSH y escalada de privilegios mediante capabilities mal configuradas en Python.

PlataformaHackTheBox
DificultadFÁCIL
Vector inicialFuzzing con Wfuzz → .pcap con credenciales → SSH
EscaladaCapability mal configurada en Python → root
Autorkeltich · KeltichCibSec
Nmap → Fuzzing (Wfuzz) → .pcap → Wireshark → Credenciales → SSH (user) → Python capability → root
// 01

Reconocimiento

En primer lugar haremos un ping -c 1 a la IP víctima para verificar que hay conectividad.

En primer lugar haremos un ping -c 1 a la IP víctima para verificar que hay conectividad.
En primer lugar haremos un ping -c 1 a la IP víctima para verificar que hay conectividad.

Si nos fijamos en la captura vemos que hemos enviado solamente un paquete ICMP y hemos recibido el ACK. También podemos ver que hay datos como el TTL el cual nos indica que es una máquina Linux debido al 63.

Posteriormente a esto, es una buena idea realizar empleo de la herramienta “nmap” esta herramienta nos servira para trackear la estructuración de la red, los puertos abiertos, los servicios que corren por dichos puertos, puertos filtrados, y demás.

Escaneo Nmap — puertos abiertos y protocolos
Escaneo Nmap — puertos abiertos y protocolos

Aquí podemos ver que he ingresado empleo de nmap pero con unos parametros muy curiosos :

-p- Escanea todos los puertos TCP

--open Muestra únicamente puertos abiertos

-sS Realiza un SYN Scan

--min-rate 5000 Obliga a nmap a enviar 5000 paquetes por segundo

-vvv Nivel de verbosidad muy alto en pocas palabras muestra información durante el escaneo

-n Desactiva la resolución DNS

-Pn No hace ping previo, escanea directamente

-oG allPorts Guarda resultados en formato grepeable

Ahora a continuación seguiremos con un escaneo más potente por así decirlo, empleando nuevamente nmap, pero esta vez viendo que hay dentro de los puertos reportados en el anterior escaneo

A continuación emplearemos una técnica de ataque llamada fuzzing. El fuzzing sirve para descubrir a través de prueba y error páginas webs o redirecciones que existan en un servidor. Consiste en enviar peticiones hacía cada una de las páginas que aparece en un determinado diccionario para poder ver si dicha página existe dentro del servidor o no.

Ahora vamos a la parte ofensiva, debemos de usar una herramienta de Fuzzing como puede ser Wfuzz el cometido de esta herramienta es como bien comente hacer fuzzing y usaremos el siguiente comando :

wfuzz --hc 404 -c -w ./big.txt -t 200 -u http://10.129.25.47/FUZZ

Este comando lo que hace parte por parte es lo siguiente :

--hc 404 Oculta el error 404

-c Formatea la salida a color

-w Indica la ruta del diccionario

-t Usa hilos para enviar muchas peticiones simultáneamente

-u Es la URL de la página que vamos a fuzear

En la siguiente captura vemos un poco como se emplea la herramienta wfuzz obteniendo el 0.pcap que debemos analizar en wireshark en la siguiente parte para obtener datos comprometedores

// 02

Explotación

Si nos vamos a la página de la máquina podemos ver diferentes cosas, entre ellas un botón de download este botón si lo presionamos nos suelta un archivo llamado 1.pcap que si usamos fuzzing con la herramienta anteriormente mencionada, también nos aparece. La cosa esta en que ese archivo dándole al botón esta vacío el que queremos es el archivo 0.pcap que se consigue con la forma anteriormente mencionada.

Dentro del archivo 0.pcap podemos obtener contraseña de usuario, junto con el username. Para poder ver este archivo de forma más visual, podemos hacerlo mediante 2 principales herramientas : Wireshark y Tshark

Por otro lado podemos ver que la contraseña de SSH del usuario nathan es la misma para tanto el propio inicio de sesión en la página de la máquina, como realizar una conexión SSH. En la captura podemos ver como podemos conectarnos por SSH al servidor de la página.

Al meternos por SSH podemos llegar al servidor y vemos que hay un archivo .txt el cual contiene la flag del usuario nathan. En la siguiente captura lo podemos observar :

USER FLAG
cb4c0f3d5d556724a905ad2194770b15
// 03

Escalada de privilegios

Tras esta captura de la user flag, debemos de iniciar la captura de la root flag una vez dentro del usuario nathan por SSH procederemos a ver las capabilities para escalada de privilegios. Para ver las capabilities del sistema debemos de utilizar el comando siguiente visto en la captura adjunta :

Por último nos aprovecharemos de la cap de python la cual tiene permiso para convertirse en cualquier usuario, incluyendo root.

Por último para obtener la root flag debemos entrar en el directorio del usuario root :

Una vez aquí, aquí podemos ver la root flag :

ROOT FLAG
274f113fcef81fc4cbf3bfd1de842b3f
root@keltich:~/HackTheBox/CAP
root@keltich:~$

COMANDOS

← Volver a Artículos