Hacemos el escaneo de nmap: {{pasted_image_20240307125951.png|}} Vemos que esto es lo que corre por el puerto 80: {{pasted_image_20240307130027.png|}} Si hacemos fuzzing web sobre esta ruta vemos un directorio llamado /transmission: {{pasted_image_20240307130124.png|}} Pero no tenemos permiso: {{pasted_image_20240307130159.png|}} Y haciendo fuzzing sobre este directorio no tenemos nada: {{pasted_image_20240307130251.png|}} Visualizamos ahora el puerto 8080 y vemos la misma plantilla de apache: {{pasted_image_20240307130319.png|}} Hacemos fuzzing sobre este directorio y aquí sí nos encontramos con la ruta /stream: {{pasted_image_20240307130359.png|}} Pero sobre este directorio nos ocurre lo mismo de antes, no tenemos acceso y por fuzzing no encontramos nada: {{pasted_image_20240307130509.png|}} {{pasted_image_20240307130525.png|}} Pero estas dos rutas eran una pista del protocolo SCTP: {{pasted_image_20240307130618.png|}} Por lo que hacemos una nueva enumeración de puertos con nmap pero en vez de usar el parametro -sS utilizaremos el parámetro -sY, el cual tiene algunas diferencias: * ''-sY'': Realiza un escaneo utilizando paquetes TCP ACK (Acknowledgment). En este tipo de escaneo, Nmap envía un paquete TCP ACK al puerto de destino y analiza la respuesta para determinar si el puerto está abierto, cerrado o filtrado. * ''-sS'': Realiza un escaneo utilizando paquetes TCP SYN (Synchronize). En este escaneo, Nmap envía un paquete SYN al puerto de destino y analiza la respuesta para determinar el estado del puerto. * - ''-sY'': Útil en situaciones donde otros métodos de escaneo son bloqueados por firewalls. Puede ser menos preciso en algunos casos debido a las variaciones en cómo los sistemas manejan los paquetes ACK. * ''-sS'': Método de escaneo estándar y ampliamente utilizado. Es eficiente y versátil, pero puede ser más fácilmente detectado por sistemas de detección de intrusiones. Por tanto, hacemos un nuevo escaneo utilizando este parámetro y nos encontramos con el puerto 4444 abierto: sudo nmap -p- -sS -sC -sV -sY --min-rate=5000 -n -vvv -Pn 192.168.0.17 {{pasted_image_20240307131430.png|}} Una vez hemos detectado este puerto, si lo hacemos con netcat no va a funcionar porque no está soportado, pero en cambio con ncat sí funciona: {{pasted_image_20240307131622.png|}} Si ejecutamos el comando sudo -l vemos que podemos ejecutar el comando wtfutil como root: {{pasted_image_20240307131714.png|}} Lo ejecutamos y vemos esto: {{pasted_image_20240307131826.png|}} Vemos que al ejecutar este binario se crea un archivo llamado config.yml: {{pasted_image_20240307131940.png|}} Y analizando este archivo podemos ver que por detrás se ejecuta el comando uptime: {{pasted_image_20240307132014.png|}} Por lo que editamos este archivo config para que ejecute este otro comando, donde ejecutará el comando chmod con los siguientes argumentos: {{pasted_image_20240307132142.png|}} Y ahora con el parámetro --config tenemos que pasarle este archivo de configuración que hemos editado: {{pasted_image_20240307132334.png|}} sudo -u root /usr/bin/wtfutil --config=config.yml {{pasted_image_20240307132426.png|}}