DockerLabs chmod-4755
Para poder hacer uso de esta máquina primero debemos descargar los archivos y así desplegarlo con Docker.
Descargamos el archivo de la página dockerlabs.es/#
Al momento de descargar esta máquina y descomprimir el archivo, en este caso observamos 2 archivos.
Para desplegar el laboratorio ejecutamos de la siguiente manera, así también podemos ver que nos indica la dirección que tendremos, así también el que hacer cuando terminemos este.
Si realizamos el escaneo de la dirección IP podemos observar que solo tenemos 3 puertos disponibles.
Revisamos los recursos que nos comparten y tenemos uno.
Tratamos de ingresar al recurso, pero no es posible, así que listamos usuarios y podemos observar que tenemos uno.
smbuser
Después de unos segundos de ejecutar crackmapexec
observamos el password.
smbuser:fuckit
Ingresamos usando las credenciales al recurso compartido y descargamos el archivo que tenemos allí.
Leemos el archivo y podemos observar lo siguiente.
Probamos conectándonos pode SSH, pero nada de las palabras que encontramos pertenecen intentamos realizando un ataque de fuerza bruta tampoco obtenemos algo positivo.
Usamos enum4linux
para ver si tenemos algún usuario o archivo adicional.
Luego de unos segundos podemos observar que tenemos al usuario rabol
.
Con este usuario volvemos a probar ataques de fuerza bruta, tampoco obtenemos nada, Probando las palabras que obtuvimos, podemos acceder usando el nombre del directorio smb share_secret_only
.
rabol:share_secret_only
Tratamos de leer el archivo, pero podemos observar que tenemos la consola restringida.
Revisamos el PATH
y podemos observar que es muy corto.
Ya que podemos listar archivo veremos que tenemos en este directorio. Luego de listar se puede ver que solo tenemos ls
y python3
.
Como podemos ejecutar python3
abrimos este programa y nos generamos una shell.
Generarnos la Shell ingresaremos un nuevo path
para ejecutar comandos.
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/go/bin:/home/usuario/.local/bin:/opt/nodejs/bin:/opt/conda/bin:/usr/local/heroku/bin:/usr/local/mysql/bin:/usr/local/pgsql/bin:/usr/local/redis/bin:/usr/local/apache-maven/bin:/usr/local/apache-ant/bin:/usr/local/gradle/bin:/usr/local/tomcat/bin:/usr/local/jdk/bin:/usr/local/jdk/jre/bin
Luego de realizar ello, podemos observar que podemos ejecutar comandos con normalidad.
Realizamos un sudo -l
, pero no tenemos permisos.
Probamos si tenemos algún permiso SUID interesante
Leyendo cada uno, notamos que tenemos curl
, Buscando en la página de GTFOBins observamos como escalar privilegios.
Ya que podemos reemplazar archivos lo que haremos es copiar el passwd
.
Luego lo modificaremos quitando la x
de root, para así poder acceder como root
sin un password.
Crearemos las fuentes con las ubicaciones de los archivos.
Ejecutamos el comando y podemos observar que reemplazamos con éxito el contenido del archivo passwd
original.
Ingresamos un su
podemos observar que obtuvimos acceso como root
y de esta manera culminamos esta máquina.
Subscribe to my newsletter
Read articles from Gm4tsy directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by