martes, 31 de enero de 2017

MozDef. Un framework de recolección, visualización y gestión de incidentes todo en uno. Woooow

Estimados amigos de Inseguros!!!

Hemos visto varias herramientas de gestión de eventos de la información en este blog. Tenemos herramientas que generan logs. Tenemos herramientas que interpretan, gestionan alertas, exportan datos. Tenemos herramientas que importan eventos (Malcom) y nos permiten realizar informes para completar una respuesta a incidentes, mi favorito MIPS.

En esta ocasión os presentamos la herramienta The Mozilla Defense Plataform. El proposito del proyecto como ellos dicen:

Provide a platform for use by defenders to rapidly discover and respond to security incidents.

Automate interfaces to other systems like MIG, flowspec, load balancers, etc

Provide metrics for security events and incidents

Facilitate real-time collaboration amongst incident handlers

Facilitate repeatable, predictable processes for incident handling

Go beyond traditional SIEM systems in automating incident handling, information sharing, workflow, metrics and response automation 

Todo el sistema se articula por un conjunto de json de distintas fuentes y sus respectivas funciones de colas, alertas, procesamiento etc.

El funcionamiento por parte del usuario es muy sencillo. Tenemos eventos, los podemos categorizar como investigaciones o incidentes, con todos sus campos para formalizar la información.

Tenemos varios dashboard en formato Kibanna también para configurar a nuestro gusto.



Si ponchamos sobre una ip nos habilita la posibilidad de realizar ciertas consultas, incluso con un servidor CIF !!!! ( has venido a alguna de mis charlas sobre CIF?). Esta parte no aparece en el código fuente, aunque veo ficheros de configuración para estos plugins y no son muy sencillos. No se por qué lo ponen como opción y no meten el plugin...

En este ejemplo, podemos blockearlo a nivel de enviarlo a Threat Intelligence de facebook o los sinkhole que maneja Mozilla.








El formato modular proporciona todo tipo de posibilidades para integrar eventos de distintas fuentes, como puede ser Suricata

Mira que vista mas chula de los atacantes que detecta:


Sin duda, un framework muy interesante para trastear y configurar con nuestros sistemas de inteligencia. Yo creo que si ya tenemos todos los plugins para nuestros siems/threat intelligence, pegarle una salida json y ver como se visualizan aquí estará bonito.

Espero que os haya gustado el artículo.

Gracias por leerme !!!


lunes, 30 de enero de 2017

Infection Monkey: Suelta el mono y a ver hasta donde infecta. Sencillo

Estimados amigos de Inseguros!!!


Hoy os traigo una maravillosa herramienta para jugar con nuestras infraestructuras, y por qué no?, incorporarlo en nuestros procesos de auditoria interna o pentesting... La herramienta se llama Infection Monkey y el concepto es sencillo: Suelta un "virus" controlado, el mono, en una isla, déjalo que escanee la red y a ver hasta donde llega con clásicos exploits y "misconfigurations" o malas configuraciones. Te gusta?.

El funcionamiento es muy sencillo. Basta con descargar el binario (Debian funciona bien) solventar sobre la marcha alguna dependencia de Pyhton y poco más. Ejecutas la aplicación.



Ahora despliego un Monkey por la red para ver hasta donde llega con sus "maldades".





Se le pueden añadir algunas configuraciones por fichero o por la opción de json del menú gráfico, como la ip del C&C, el usuario del dominio, el nombre, la lista de password que va a atacar.

Como es normal, en un entorno minimamente securizado y aislado no debe encontrar nada, pero nos puede servir para ver alguna mala configuración vigente o vaya usted a saber,

Espero que os sirva de ayuda y que el proyecto crezca con nuevos módulos y exploits, y sobre todo GPLv3 xD

Gracias por leerme !!!







miércoles, 11 de enero de 2017

Controla tu Keepass desde Powershell. PSKeePass

Estimados amigos de Inseguros !!!

Desde el comienzo de Internet hemos lidiado con el problema del usuario y la contraseña. Creo que poco más se puede aportar al respecto. Todos los días lidiamos con esta gestión.

Al parecer, una de las alternativas más empleadas es el usar un repositorio "seguro" de contraseñas, y usar contraseñas tan complejas para el atacante como para el usuario, lo que requiere de usar estos gestores de contraseñas como apoyo en nuestra administración diaria. Yo soy uno de esos.

A todos mis amigos y clientes les recomiendo KeePass. Una aplicación gratuita que te permite organizar tus contraseñas, para uso personal o para toda una empresa. La dinámica es muy sencilla, dejamos al gestor que cree una contraseña de 20 caracteres con dígitos, caracteres y todo tipo de premisas de seguridad, que NUNCA te acordarás, y que deberás hacer copy/paste para usarla. Aunque aún los hay reticentes, la mayoría emplean este técnica, ya sabes, un poco decrece la funcionalidad pero aumenta mucho la seguridad.

Bien, después de todo este rollo que ya sabías, viene la gracia. Podemos usar una API que nos proporcionan los desarrollodores, y una fantástica librería de funciones en powershell del señor JKDBA y su proyecto PSKeePass.

Es tannn fácil. Importas el módulo desde la Powershell Gallery. Creas una conexión al fichero, proporcionandole una key, que puede estar en USB, en un directorio protegido o cualquier que sea tu técnica de autenticación contra keepass, incluida la clave, o la integración con Active Directory.

Una vez que tienes la conexión abierta, le pides datos o los introduces. Ejemplo oficial

Aquí algún ejemplo.



Ahora cuando hagas un deploy de una máquina virtual, puedes usar tu librería para que tu KeePass genere una contraseña fuerte, la uses en powershell, y te olvides documentar el añadido. Por supuesto también lo podemos hacer al revés, leer el dato de contraseña de un campo almacenado en KeePass, MUY interesante, tenemos un "ldap" de andar por casa xD.

Las posibilidades que se me ocurren sin infinitas. Según tengas configurados registros en KeePass, podrías hacer un script para conectarse a tus sistemas favoritos: Wordpress, ERP, Mail y lo que te permita administración remota por comando o POST/REST... y unificar el proceso de cambio de contraseña con el proceso de registro, y todo con datos automáticos.

Puedes sincronizar tu base de datos Mysql con registros en KeePass y almacenar al menos el hash, porque usas el hash verdad? resetear el password desde KeePass y que se sincronice en ...

Gran trabajo de este desarrollador. Por supuesto, las medidas de seguridad para fortificar el fichero key deben ser extremadamente concienzudas, igual que cuando confiamos en la seguridad por contraseña, esta debe ser muy segura. Estamos poniendo toda la seguridad de nuestras cuentas bajo un mecanismo de seguridad ( lo mejor es usar una key en usb + clave o ActiveDirectory)

Espero que os sirva de ayuda, gracias por leerme !!!

PD: Existe más integraciones de este tipo, en concreto para los amantes de Perl y linux he visto este proyecto: http://kpcli.sourceforge.net/ Muy interesante también, pero para la orquestación de mis sistemas me gusta PowerShell.



viernes, 6 de enero de 2017

Burp Proxy Free Vs Zap proxy. Intruder.

Estimados amigos de Inseguros !!!

Durante un proceso de auditoria encontré un escenario típico de un directorio con documentos, en esta caso facturas de clientes, con la nomenclatura www.sitio.com/cosas/facturas/factura123456.pdf.  Buscando a mano encontré algunas y pasé a documentar el hallazgo en el informe.

En estos casos se recomienda, si por lógica de negocio es un requisito ofrecer las facturas de esta manera, crear un proceso de borrado periódico al menos, y minimizar el impacto que podría sufrir una empresa a la que descubran el recurso. Siiiiiiiiii, hay miles formas de hacerlo mejor, pero recordar que las necesidades del negocio a veces, casi siempre, suelen ser MUY distintas a las que a nosotros, como auditores de seguridad o administradores de sistema nos gustaría.



Para hacer más formal el documento, utilizo la opción de INTRUDER de Burp para hacer un brute force al nombre del fichero, con el fin de encontrar todas las facturas. Es decir:

www.sitio.com/cosas/facturas/factura111111.pdf
www.sitio.com/cosas/facturas/factura111112.pdf
www.sitio.com/cosas/facturas/factura111113.pdf
www.sitio.com/cosas/facturas/factura111114.pdf
www.sitio.com/cosas/facturas/factura111115.pdf
www.sitio.com/cosas/facturas/factura111116.pdf

De esta manera, tras 999.999 de intentos, podría haber recorrido todos los documentos que hubieran cumplido la expresión. Como consecuencia del ataque, añado al informe que el sistema no detecta los ataques de este tipo, ni ninguna otra medida de QOS para controlar Fuzzing, Brute force o un simple DOS por IP.

Mediante Burp es muy sencillo, capturo la petición, botón derecho, envío al intruder, selecciono el dato que quiero usar como variable, selecciono el Payload Brute force y le indico que el rango son números, y que la longitud es 4, 5, 6 lo que quiera.




Como puedes ver en la última captura, el control de hilos y tiempos está restringido a la versión de pago de Burp, que aún no pago. Hago una prueba pero que vaaaaaa, hace unas 3/4 peticiones por segundo. Algo impensable para un nervioso como yo :-)

Retomo el asunto instalando Zap Proxy , la herramienta de proxy por excelencia de Owasp, y de software libre. El funcionamiento que he probado es muy similar al de Burp.

Añado la url original con la petición del documento, lo paso a Fuzz, identifico la variable, pero en este caso, en vez de añadir BRUTE FORCE, añado como payload una regexpressión, que es simplemente decirle "numeros y tamaño". Al no tener la limitación de la versión gratuita de Burp, el análisis se ejecuta a todo trapo, pudiendo elegir el número de hilos y tiempos según nuestro equipo y capacidad de conexión.






Para este sencillo escenario me ha venido muy bien en ahorrarme las pesetillasde Burp, aunque imagino que al final lo compraré, no es caro, y ya estoy algo acostumbrado.

Para la salida o resultado, en este caso, me basta con ordenar la columna por el código http 200, ya que el resto es un 404 muy claro. En burp puedo usar las opciones de Grep para filtrar por una salida concreta, como en el caso de un brute force http y un login ok o cualquier mensaje revelador. Con Zap no me he puesto mucho, todo es según necesidades, recuerda, soy de Murcia, me gusta el sol y la calle !! :-)