Lookup(Fuerza bruta en login)
Evidencia de un usuario inexistente
Nombre de usuario o contraseña incorrectos. Inténtalo de nuevo. Redireccionando en 3 segundos.

Evidencia de un usuario existente
Contraseña incorrecta. Inténtalo de nuevo. Redireccionando en 3 segundos.

Esto nos llama la atención, por lo que el siguiente paso deberá ser la enumeración de usuarios registrados en la base de datos, para posteriormente realizar ataques automatizados de contraseñas y ganar acceso al aplicativo.
Creamos un pequeño script de Python para realizar la enumeración de usuarios existente:
Cambiar diccionario
Cambiar dominio
Una vez enumerado el usuario “Jose”, retocamos un poco el script y lo volvemos a lanzar para adivinar la contraseña por fuerza bruta:
O----
Podemos usar hydra:
Notas importantes:
Mensaje de error exacto:
Asegúrate de incluir exactamente el mensaje de error:
Wrong password. Please try again.Es sensible a mayúsculas, minúsculas y espacios, así que cualquier diferencia hará que Hydra no funcione correctamente.
GIHUB:
Una vex se tiene las credenciales se ingresa al login;

Miramos la version y es la elFinder 2.1.47
numeré la existencia de otro exploit de Metasploit, este último si que funcionó:
Esto nos genera la revershell:
Mirando el archivo /etc/passwd, vemos que hay un usuario “think” y root.
Podemos echar un vistazo al directorio de inicio de think:
Aquí hay un archivo .passwords que podría ser interesante, pero no tenemos permiso para leerlo.
Busquemos binarios SUID:

El binario /usr/sbin/pwm me llama la atención porque no está allí de forma predeterminada en los hosts Linux.
Este archivo es propiedad de root:
Veamos qué pasa cuando lo ejecutamos:

Interesante. Este binario parece ejecutar el comando “id”, luego extrae el nombre de usuario y lo coloca en “/home/<username>/.passwords” e intenta hacer algo con él.
Si el comando “id” no se especifica con su ruta completa (/bin/id), se encuentra y se ejecuta a través de la variable PATH en nuestro entorno.
Interesante. Este binario parece ejecutar el comando “id”, luego extrae el nombre de usuario y lo coloca en “/home/<username>/.passwords” e intenta hacer algo con él.
Si el comando “id” no se especifica con su ruta completa (/bin/id), se encuentra y se ejecuta a través de la variable PATH en nuestro entorno.
Intentemos engañar al programa para que ejecute un comando “ID” diferente, uno que daría como resultado que el nombre de usuario “think” se extraiga de la salida.
Podemos agregar /tmp a nuestra ruta:

Y ahora crea /tmp/id con el siguiente contenido:

Intentemos volver a ejecutar “pwm”:

¡Bingo!, engañamos al binario para que extrajera “think” como nombre de usuario, ¡y obtuvimos lo que parece ser una lista de contraseñas!
Guardemos esa lista en un archivo en nuestro kali e intentemos forzar brutamente "pensar":
Escalada de privilegios (parte 2)
Al verificar los privilegios sudo de think, podemos ver que puede ejecutar el comando “look” como root:

Podemos consultar GTFOBins para ver si podemos explotar esto de alguna manera:

Según GTFOBins, podemos usar este binario para leer archivos en el sistema, y como podemos ejecutarlo como root, ¡podemos leer cualquier archivo en el sistema!
La victoria más rápida sería la clave SSH privada del root:
Podemos guardar la clave en un archivo en nuestra máquina Kali e iniciar sesión como root:

Last updated