Bola, DockerLabs
Herramientas y recursos
En este reto de DockerLabs practicamos.
| Tecnicas | Herramientas |
|---|---|
| scan de puertos | nmap |
| fuzzing directorios | feroxbuster |
| scripting | bash |
| mysql | navegacion basica |
| port forwading | SSH |
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 12345 http, el 22 ssh, sin mas demora revisamos la web y lanzamos un feroxbuster para ver que directorios.
En la web entrando a raiz solo obtenmos un error que nos indica que le pasemos un usuario y revisando los resultados de feroxbuster ya nos hacemos una idea.
1
feroxbuster --url http://172.17.0.2:12345 -T 400 -s 200 -w /usr/share/seclists/Discovery/Web-Content/DirBuster-2007_directory-list-2.3-medium.txt
Ferox nos reporta una lista de url`s que entrando a cada una de ellas nos da un nombre de usuario.
Ahora teniendo en cuenta que disponemos de usuarios y esta ssh activo podriamos extraer todos esos usuarios y probra fuerza bruta a ssh.
Creo un bash script.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash
# Base de la URL
base_url="http://172.17.0.2:12345/user"
# Archivo donde guardaremos los nombres
output_file="usernames.txt"
# Limpiamos el archivo si ya existe
> $output_file
echo "[-] Iniciando extracción de nombres..."
# Bucle del 1 al 20
for id in $(seq 1 20); do
# peticin y extraccion de usuarios
username=$(curl -s "$base_url/$id" | jq -r '.username')
# Si el username no es nulo (por si algún ID no existe)
if [ "$username" != "null" ] && [ -n "$username" ]; then
echo "[+] ID $id: $username"
echo "$username" >> $output_file
else
echo "[!] ID $id: No encontrado o error"
fi
done
echo "[-] Proceso finalizado. Nombres guardados en $output_file"
Resultado:
Trate de hacer una animalada (mucho tiempo sin jugar a estos juegitos) que fue tirar la lista de 20 usuarios contra el rockyou y me daba los errores que veis en imagen de abajo y no se si hay alguna regla de firewall o failtoban o similar y aunque no lo hubiese 20 usuarios contra el rockyou serian unos cuantos años de espera y mas si pones reglas para que no salte esa restriccion asi que hay que ser sigilosos.
Consulten el help de la aplicacion que usen para limitar hilos , consultas y usar waiit si es necesario. Voy a probar con los nombres de usuario en ambos campos.
1
hydra -L usernames.txt -P usernames.txt -t 4 -W 2 -f ssh://172.17.0.2 -vV
- -t 4 : Limito a 4 conexiones a la vez no las 16 que hace por defecto.
- -W 2 : Espero 2 segundos antes de que mande otras conexiones
- -f : Le inidco que pare cuando encuentre la primera coincidencia.
Intrusion y escalada
Suerte en la imagen veis que despues de 7 minutos dio con el user y pass , ahora ssh..
Parece que se olvido de borrar los history , gracias por eso.
Miremos tambien los usuarios a ver que tenemos.
Debemos ir por baluadmin asi que sgui los paso a la inversa del history y voy a mysql.
1
2
3
4
show databases;
use secretito;
show tables;
select * FROM usuarios;
Vemos que hay varios usuaris pero el que nos interesa en baluadmin como habiamos visto en passwd asi que copiamos el hash que aparece.
El hash parece un MD5 dado que contiene 32 caRATERES hexadecimales 0-9 y a-f. hashid no me a sido de ayuda pero le tiro un john y parece que tengo suerte. Me devuelve estrella en alguna otra maquina de Mario tambien esta esta creo recordar
Asi que salgo de mysql y me paso a baluadmin. No borro nada Mario y con lo que veo en este history mas el del otro usuario que me decia lo que cambio de lugar ya esta claro.
Despues de realizar los pasos encontramos la pass de root en el zip como podeis ver en la imagen de arriba.
Somos root,otra maquinita mas y tambien divertida
Despues de revisar sshd_config no encuentro ninguna configuracion que restrinja el ataque no se si a nivel kernel al tirar al maximo hydra lo puede interpretar como un DDOS y cierra el socket, dado que tampoco vi firewall ni failtoban monitoreando /var/log/auth.log que ni existe. Ha ser mas cauteloso e inteligente de ahora en adelante.
Muchas gracias poor leerme, espero que te haya gustado y que te sirva de ayuda.













Comments powered by Disqus.