Faraday
Hoy tenia ganas de escribir en mi blog, ya que hace mucho no pasaba por estos pagos, y sentía que me estaba fallando en mi misión de educar a las personas sobre la importancia de la seguridad informática y la protección de los datos que dejamos por internet.
Que es Faraday?
Faraday es un framework que nace de la necesidad de realizar pruebas de penetración de forma cooperativa, cosa que de momento solventaban algunas aplicaciones como Dradis, que generaban un entorno similar a Sharpoint de Microsoft, donde cada pentester podía dejar constancia de su trabajo y compartir las vulnerabilidades que encontraba.
Faraday presenta un futuro en el Pentesting Grupal, ya que por medio de CouchDB y un sistema de replicación de datos, permite de forma instantánea y en tiempo real compartir los datos de una intrusión, reduciendo al mínimo la perdida de tiempo al momento de generar reportes y distribuir la información entre el grupo de pentesters.
Esquema de como funciona
Pentester 1<---------------Servidor CouchDB--------------->Pentester 2
Couch Replica 1--------------------->|<---------------------Couch Replica 2
El servidor CouchDB brinda un espacio de almacenamiento compartido similar a un SVN el cual alimenta las replicas en las bases de datos locales de cada pentester. A su vez, a medida que Faraday Encuentra diferencias entre las DB Replicas y la DB Servidor, actualiza el Servidor con los datos nuevos de las replicas, disparando nuevamente el ciclo de actualización para el resto de las replicas
Por ejemplo, dado un Servidor nuevo vació, 2 pentester se conecta, se genera una replica vacia en su entorno local de trabajo.
El Pentester 1 encuentra un SQL Injection, automaticamente se actualiza el Servidor y por consecuencia se actualiza la replica local del Pentester 2
A su vez, el Pentester 2 encuentra un XSS, esto dispara la actualizacion del Servidor y por consecuencia la actualizacion de la replica del Pentester 1. Una maravilla de los sistemas distribuidos!!!
Como se trabaja con Faraday?
Para auditar con Faraday no necesitas ningún cambio de concepto, simplemente utilizas las herramientas que acostumbras y ataques manuales, el Framework captura las respuestas de las herramientas en su terminal y va generando un patrón de datos que se almacena en CouchDB.
Además, como todos sabemos, los pentester que nos arrimamos a la profesionalidad del trabajo, solemos auditar de forma manual, y Faraday también contempla esto, permitiéndonos añadir Notas, Vulnerabilidades y Credenciales de forma manual con un simple click derecho!!!
Por lo que podemos auditar Cooperativamente, utilizando herramientas como Nmap, Sqlmap, nikto, etc dejando que la herramienta trabaje sola y capture las respuestas, mientras que a la vez, auditamos manualmente y agregamos notas, como datos de VPN, contraseñas de correos electrónicos, información social, comentarios, vulnerabilidades que no encuentran los scanners, acotaciones, hasta exploits codeados por nosotros mismos.
Además de su increíble versatilidad, me deslumbra su poderosa flexibilidad, ya que si no estamos a gusto o simplemente queremos incluir una nueva herramienta que Faraday no captura, podemos nosotros mismos codear el plugin I/O y agregarlo al Framework
Existen 2 tipos de versión en desarollo:
Comunity Edition & Professional Edition
Esta ultima permite generar reportes modulares web para realizar presentaciones a nuestros clientes.
Invito a todos los interesados a probar su Comunity Edition, yo estoy sorprendido por el potencial de esta herramienta
Dejo algunas capturas:
Documentación Oficial: http://www.faradaysec.com/
Github: https://github.com/infobyte/faraday/