MAQUINA CHMOD 4755 (BRUTE FORCE SAMBA - ESCAPAR DE RBASH - CURL PARA ESCALADA DE PRIV)
Comienzo iniciando la Maquina que funciona atravez de docker.

Una vez que esta lista la maquina obtengo la ip y con el comando ping verifico si tengo conectividad con esa IP.

Utilizo nmap con el fin de realizar un reconocimiento de los puertos que corren en esta MAQUINA como también utilizo unos scripts de reconocimientos básicos para ver las versiones de estos servicios.

Como puedo ver solo tengo 3 puertos abiertos: 22 SSH y 139/445 Samba.
A simple vista observo que el puerto 22 tiene una versión muy reciente la cual al no tener ningun tipo de credencial no me es accesible.
Luego tengo el puerto 139/445 donde corre un servicio Samba smbd 4.6.2.
Ya teniendo el servicio busco a través de searchsploit si tiene alguna vuln.

Al parecer es vulnerable a carga de módulo arbitraria con METASPLOIT, pero ya aviso que no funciono.
Hago otro reconocimiento esta vez agregándole el comando -sU para ver si hay algún puerto UDP abierto, pero tampoco.

Con crackmapexec identifico ante que es lo que me estoy enfrentado, y como resultado me muestra que estoy ante un windows 6.1

Con smbclient y smbmap no me deja listar las carpetas compartidas, así que opte por usar crackmapexec pasándole los comandos de la imagen.

Dentro del samba noto que hay una carpeta inusual compartiéndose: share_secret_only, pero no tengo permiso de lectura utilizando una null sesion.
Luego con la herramienta enum4linux realice un reconocimiento completo para ver si me encuentra cosas interesantes del cual aprovechar.



Al terminar el reconocimiento de la herramienta encontré muchas cosas interesantes: usuarios del sistema, grupos del sistema y lo que al parecer es una política de contraseñas la cual me indica lo siguiente:
Detalles Claves
Longitud Mínima de Contraseña: 5 caracteres
Esto indica que las contraseñas deben tener al menos 5 caracteres, lo cual es bastante bajo y puede ser considerado como una debilidad en términos de seguridad.
Edad Máxima de Contraseña: 37 días 6 horas 21 minutos
La política requiere que las contraseñas se cambien al menos cada 37 días. Esto es razonable, pero en comparación con algunas políticas más estrictas, puede ser visto como un punto débil si la longitud mínima es baja.
Complejidad de Contraseña: 000000
La falta de flags de complejidad de contraseña (
Domain Password Complex: 0) indica que no se requiere una combinación de caracteres especiales, números y letras mayúsculas/minúsculas. Esto facilita el uso de contraseñas simples.
Políticas de Bloqueo de Cuenta
Tiempo de Bloqueo de Cuenta: 30 minutos
Restablecimiento del Contador de Bloqueo de Cuenta: 30 minutos
No hay un umbral para el bloqueo de cuentas (
Account Lockout Threshold: None), lo que significa que no hay un límite configurado para el número de intentos fallidos de inicio de sesión antes de bloquear una cuenta. Esto podría permitir a un atacante realizar intentos de fuerza bruta sin consecuencias inmediatas.
Forzado de Desconexión: 37 días 6 horas 21 minutos
Esta política indica que las sesiones de usuario se desconectan forzosamente después de un período prolongado, pero puede ser menos relevante si no hay otros controles de seguridad implementados.

Esto es interesante ya que la contraseña solo tiene un máximo de 5 caracteres.
Al tener 2 usuarios y la información antes dicho, lancé un ataque de fuerza bruta al servicio samba para ver si encontraba alguna contraseña valida.
Primero probé con rabol, encontré una contraseña pero no tenia permisos de lectura.

Luego probé con smbuser el cual me encontró un usuario validó y tiene permisos de lectura de los archivos samba. (No subí la foto perdón, intentes ustedes).
Ahora puedo entrar con smbclient a los archivos de samba.

Dentro de la carpeta me tope con una nota la cual la descargue y la leí pero no me dio ningun detalle de nada.

Hasta acá todo bien, luego probé si las credenciales eran validad para adentrarme al SSH pero ¡no! no funciona.
En este punto no sabia que hacer ya que de verdad no tenia ni idea que hacer, busque exploit pero no funcionaron. Luego de un tiempo estancado, iluminado por dios en algún momento agregue el nombre de la carpeta que se compartía en samba "share_secret_only" al archivo donde almacenaba las credenciales para la fuerza bruta.
Como les dije fui iluminado por que lance un ataca de fuerza bruta con hydra y me tome con esto:

Encontré una credencial valida, la cual directamente me fui al SSH y me logre loguear como el usuario rabol.

Hora hasta acá genial, directamente pensé vamos a realizar la escalada de priv. asi que ejecute comandos y me tope que esta ejecutado una "RBASH" en vez de una bash normal.

Con la ayuda de google y varios artículos: https://exploit-notes.hdks.org/exploit/network/protocol/restricted-shell-bypass/ logre ejecutar el comando export, y según el post que indique si puede ejecutar el export, voy a poder exportar alguna shell.

Bueno lo intente xD pero nada, sigo estando en la rbash.

Luego observe que la carpeta BIN tiene python así que me fui a mis apuntes y tome el comando de python3 para importar un bash, pero no funciono.
Hasta que directamente exporte al PATH la carpeta "bin" y logre escapar de la RBASH.


Ahora si realice un reconocimiento del sistema.


Luego liste los permisos SUID y el comando mas interesante es el comando CURL...

Que en GTFObins tiene unos comando para poder abusar de el y realizar la escalada de privilegios pero ¿como?.
Utilizando curl puedo suplantar la primera linea del /etc/passwd para quitarle la "x", la "x" quiere decir que la contraseña esta encriptada.
Así que realice los siguientes pasos y luego ejecute el comando SU y listo ya soy root.

Last updated