Poison

Poison
Sistema operativo Dificultad Fecha de Lanzamiento Creador
Linux Medium 24 Marzo 2018 Charix

Reconocimiento

Lanzamos una traza ICMP a la máquina objetivo para comprobar que tengamos conectividad.

Poison

Vemos que responde al envío de nuestro paquete, verificando de esta manera que tenemos conectividad. Por otra parte, confirmamos que estamos frente a una máquina Linux basandonos en el TTL (Time To Live) 63.

Enumeración inicial

Realizamos un escaneo con nmap para descubrir que puertos TCP se encuentran abiertos en la máquina víctima. Lanzamos una serie de script básicos de enumeración propios de nmap, para conocer la versión y servicio que esta corriendo bajo los puertos.

nmap -sS -sCV -p- -Pn -n --min-rate 5000 10.10.10.84 -oN scan -vvv

Poison

Enumeración de servicios

Si ingresamos a la web que esta corriendo bajo el puerto 80, nos encontramos con lo siguiente:

Poison

Por medio de un formulario, podemos ingresar algunos de los nombre de scripts mencionados y ver su contenido.

Por ejemplo, si ingresamos phpinfo.php podemos observar que nos muestra lo siguiente:

Poison

Si ingresamos, ini.php podemos ver lo siguiente:

Poison

Si ingresamos info.php, vemos lo siguiente:

Poison

Y si ingresamos listfiles.php lo siguiente:

Poison

Poison

Si observamos el contenido de este archivo, podemos ver que se listan todos los scripts php, además de un archivo pwdbackup.txt. El cual, en principio no se hizo mencion alguna en el formulario inicial.

Explotación inicial

Si miramos el contenido de pwdbackup.txt, nos encontramos con lo siguiente:

Poison

Copiamos la supuesta contraseña a un archivo de nuestra máquina atacante y lo decodificamos con base64.

Probamos decodificarla y como resultado nos devulve otra cadena en base64.

Poison

Por lo que al parecer deberemos aplicar este proceso 13 veces. Para ello, creamos un simple oneliner que realize esto por nosotros.

pass=$(base64 -d pwdbackup.txt); for i in $(seq 1 12); do pass=$(echo "$pass"| base64 -d); done; echo $pass

Poison

Genial, logramos decodificar la cadena y encontramos un posible usuario y contraseña.

charix:Charix!2#4%6&8(0

Usuario charix

Nos conectamos como el usuario charix por SSH.

Poison

Leemos el flag de user.txt

Poison

Elevación de privilegios

Observamos que en el home del usuario charix existe un archivo secret.zip. Descargamos este archivo a nuestra máquina.

Poison

Intentamos descomprimir el archivo pero nos solicita una passphrase.

Poison

Si continuamos enumerando la máquina, podemos observar que internamente esta corriendo el puerto 5901 (VNC). Si investigamos un poco, nos encontramos con que este puerto pertenece a VNC.

https://book.hacktricks.xyz/network-services-pentesting/pentesting-vnc

Por lo que podemos conectarnos a este utilizando conmo contraseña el archivo secret anterior. Para ello, en primer lugar debemos exponer este puerto y lo haremos usando ssh.

ssh charix@10.10.10.84 -L 5901:127.0.0.1:5901

Poison

Nos conectamos utilizando la herramienta: vncviewer.

Poison

Poison

Leemos el flag de root.txt

Poison