19 junio 2012

Charly y la política de contraseñas de chocolate

Hola a todos! En este post voy a presentar un par de tools, que seguramente no sean las mejores ni más eficientes, pero si que son funcionales y bastante útiles a la hora de enfrentarnos a ciertas situaciones durante una auditoria. Por un lado presentaremos mutator, que como su propio nombre indica realiza permutaciones sobre una lista de palabras y genera otra lista basándose en ciertos patrones sobre los que en más ocasiones de las que nos creemos nos basamos para poner una contraseña, como puede ser transformaciones 1337, añadir guiones bajos, años, etc. En cuanto a la otra herramienta llamada BasicAuthBF se trata de un programa muy simple que hace fuerza bruta en servicios de tipo HTTP Basic Authentication y es multihilo

Cuando estamos realizando algún tipo de auditoría o test de intrusión normalmente los servicios más vulnerables son los que están desactualizados y por donde es más fácil tomar una maquina, por lo que un pensamiento bastante generalizado hace pensar que si estamos actualizados estamos seguros, y esto es bastante incorrecto sobre todo si carecemos de una política seria de contraseñas o nos la pasamos por el arco del triunfo. Por otro lado también es bastante común ahora con la moda de las cámaras de video vigilancia y los smartphones, ipads etc que muchas empresas tengan estos servicios abiertos en una ip pública y podamos ver los logins si miramos en los puertos adecuados.

Con lo contado hasta ahora podemos entrar un poco a describir donde en que tipo de servicios nos encontramos este tipo de autenticación:
  • Routers Cisco: Si conseguimos un login de nivel 15 (poderes de supervaca) nos podemos hacer con el control total de la red con lo que ello supone).
  • Cámaras: Como comentamos más arriba cada vez es más frecuente encontrarse este tipo de servicios en muchas ips en internet, en el mejor de los casos el firmware es seguro y no tiene ningún fallo, cosa poco habitual todo sea dicho de paso, y poseen muchas veces una login del tipo que nos interesa.
  • Logins de webs protegidos por un HTTP Basic Auth. es muy común también sobre todo en compañías que tienen en su sitio web un CMS wordpress o joomla tener protegido el panel de administración con un panel de este tipo.
  • Tomcats: Sin duda mi preferido, es muy común durante una auditoría encontrarse un panel de administración expuesto hacia internet o mucho más normal encontrarselo en una auditoria interna en la que este tipo de servidores tienen dos patas de red, una hacía la parte de usuarios de la red y otra hacia la zona de red protegida, donde se encuentran otro tipo de maquinas más jugosas. En la red interna es donde es más común encontrarse un password inseguras, repetidas, por defecto, etc. Vamos una autentica fiesta.
De técnicas de fuerza bruta se ha hablado mucho y además es una de las especialidades de Alex, uno de los autores de este blog, por lo que es innecesario que entremos en ese campo. Mi resumen rápido es que hacer bruteforce de un servicio y sacar la contraseña después de 5millones de peticiones no tiene gracia ni se puede considerar vulnerabilidad de ningún tipo, la gracia viene cuando aplicamos algún tipo de técnica, ya sea usando diccionarios o como comentaremos aquí usando listas de palabras que se relacionan con nuestro objetivo que permutaremos para sacar una lista de posibles password.



Pasamos a la 'chicha' del post, la parte practica:

Instalamos mutator:
  • git clone https://bitbucket.org/alone/mutator.git
  • make
Instalamos BasicAuthBF:
  • git clone https://bitbucket.org/dan1t0/basicauthbf.git
  • make
Una vez instaladas las tools realizamos un PoC sobre una empresa llamada por ejemplo Banquia y un tomcat con el panel de administración disponible:

- Generamos un diccionario con un par de palabras por ejemplo (banquia, estafa, bankia) y las permutamos con mutator despues de añadirlas al archivo palabras.txt
- Ejecutamos mutator: ./mutator -o dic.txt palabras.txt (hemos generado 3600 combinaciones). Si quereis ver la lista de palabra generadas aquí os las dejo.

 

- Ahora crearemos una lista de usuarios, como no vamos a complicarnos excesivamente usaremos solo tres, por ejemplo (chorizo, bankiero, rodrigo) a este archivo le llamaremos user.txt

- Posteriormente procedemos a bruteforcear el servicio con BasicAuthBF: ./BasicAuthBF -i 127.0.0.1 -p 8080 -z /manager/html -U user.txt -P dic.txt -t 10


- Como vemos el usuario y la pass han sido localizadas.

Como muchos sabréis existen otras herramientas que hacen estas tareas como hydra y john the ripper; entre muchas otras, pero en el caso de mutator es mucho mas sencillo generar un diccionario que entender el sintaxis klingon que usa john. En el caso de BasicAuthBF es un programa muy sencillo en el que es muy fácil de entender lo que pasa en cada momento y como trabaja contra el servicio a atacar y por supuesto nos dejamos la razón más importante: estas tools las hemos hecho nosotros y siempre es más divertido y didáctico romper algo sabiendo que la herramienta que has usado es tuya aun sabiendo que hay competencia suficiente (feel like a hacker).

- Mutator by @AloneInTheShell
- BasicAuthBF by @dan1t0

---------------------------------------------
Contribución por Dani Martinez

8 comments :

Madrikeka dijo...

La foto de Willy Wonka es genial!
Me ha encontado el aporte, a ver si me dejan hacerle esto, en cierto sitio a cierta máquina, que le tengo muchas ganas...y que seguro que cae.....
Pero no, por desgracia, hay veces que ciertas cosas son sagradas y no me dejan tocarlas...como tu comentas....el tema de las contraseñas se las pasan por el arco del triunfo.
Muchas gracias por el post!!

neongeniuses dijo...

Muy bueno

it dijo...

Si no les funciona como auditores, pueden dedicarse al requeton() xD!

☠ Dani Martinez ☠ dijo...

Muchas gracias a todos
@it efectivamente, si usas BasicAuthBF -r puedes disfrutar componiendo requeton del bueno, eso lo quise dejar para otro post en forocani :)

ig0r dijo...

Lo mejor de todo ha sido la empresa ficticia y la lista de usuarios. EPIC.

bnmmnb dijo...

"por supuesto nos dejamos la razón más importante: estas tools las hemos hecho nosotros"

ya se agrandaron...

Andres dijo...

Estoy buscando información en lnternet acerca de un asunto de seguridad de datos grabados en un pendrive USB. No he encontrado nada que resuelva mi duda. Me he encontrado con este blog de especialistas en seguridad informática, y he pensado que, a lo mejor, me podríais indicar una pista sobre el "estado de la ciencia" referido a lo siguiente: ¿Cómo puedo evitar que se puedan copiar los archivos grabados en un pendrive USB para llevárselos a otro dispositivo de almacenamiento? ¿Es posible esto? Perdonad por la intromisión en este post y muchas gracias por adelantado. Recibid un cordial saludo.

Zion3R dijo...

muy bueno ;)