Bashed

Sistema operativo | Dificultad | Fecha de Lanzamiento | Creador |
---|---|---|---|
Linux | Easy | 09 Deciembre 2017 | Arrexel |
Reconocimiento
Lanzamos una traza ICMP a la máquina objetivo para comprobar que tengamos conectividad.
Enumeración inicial
Realizamos un escaneo con nmap
para descubrir que puertos TCP se encuentran abiertos en la máquina víctima.
nmap -sS -p- --open --min-rate 5000 -Pn -n 10.10.10.68 -oG open_ports -vvv
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 -sCV -p80 -oN services -vvv 10.10.10.68
Explotación inicial
Vemos que es un Blog, el cual habla acerca del proyecto https://github.com/Arrexel/phpbash.
Si hacemos un poco de fuzzing encontramos la ruta /dev
Y bajo esta ruta, el archivo phpbash.php
.
Lanzamos una reverse shell a nuestra máquina, para tener una terminal mucho más interactiva.
Nos ponemos en escucha con netcat.
nc -lnvp 443
Creamos un servidor http con python, para compartir la reverse shell php-reverse-shell.php
Nos movemos a un directorio en el cual podamos escribir, por ejemplo tmp
y descargamos la reverse shell.
Ejecutamos la reverse shell con php php-reverse-shell.php
.
Ganamos acceso al sistema.
Realizamos el tratamiento de la tty.
Leemos el flag de user.txt
.
Enumeración / Movimiento lateral
www-data -> scriptmanager
Elevación de privilegios
Si enumeramos el sistema, encontramos en la raíz un directorio scripts
el cual contiene lo siguiente.
Subimis pspy
a la máquina víctima y lo ejecutamos.
Podemos observar, que se esta ejecutando como el usuario root
todos los scripts de python bajo el directorio /scripts
, el cual somos dueño.
Creamos un pequeño script en python el cual asigne privilegios SUID a la bash.
Leemos el flag de root.txt