lunes, octubre 09, 2017

FOCA Open Source

"Todo empezó con una FOCA". Esa es una frase que utilizo muchas veces para explicar el origen de la creación de productos en Informática 64, y luego ElevenPaths. Esa frase emula a un grande de nuestro tiempo que contestaba con "Todo empezó con un ratón" para responder a los orígenes de lo que creó. En nuestro caso fue en el año 2008 cuando comencé a hablaros en el blog de este proyecto, bajo el título de "Criando una FOCA".

Figura 1: FOCA Open Source

De la FOCA original, que no tenía ni logo y se llamaba antes MetaExtractor y el OOMetaExtractor para OpenOffice, y estaba centrada en los Metadatos únicamente, pasamos a la creación de nuestra primera herramienta para limpiar los metadatos en documentos ofimáticos publicados en sitios web: MetaShield Protector en 2009.

Figura 2: Primera presentación de FOCA en público en 2008

FOCA siguió creciendo y se convirtió en una herramienta que nos ayudaba a hacer pentesting, y comenzamos a meterle funcionalidades de escnaneo de redes, de fingerprinting, etcétera. Empezamos a pensar en el concepto de una herramienta automatiizada para hacer las primeras fases de un pentesting mediante la inclusión de opciones que el auditor solo tenía que ir pidiendo.

Figura 3: Primer Logo de FOCA, centrada solo en metadatos.

Figura 4: El segundo logo de la FOCA, diseñado por mí en un rato

De ahí llegaría la famosa FOCA, ya con su logo molón en rosa, y con el lema de "Fear The FOCA". En ese momento FOCA ya tendría opciones de búsqueda de vulnerabilidaes, ejecución de plugins, etcétera. Un herramienta para hacer lo que llamábamos "Pentesting Driven By FOCA".


Figura 5: Pentesting Driven by FOCA en Ekoparty 2010

Evolucionariamos los conceptos para hacer una nueva herramienta de hacking, en este caso con los ataques de red, y crearíamos la Evil FOCA, pero esta sería una herramienta aparte no integrada en nuestra FOCA. Y más FOCAs, también llegaron FOCA Online - que ahora es MetaShield Analyzer - o la popular Forensics FOCA que se convertiría en MetaShield Forensics. Todo empezó por una FOCA.


Figura 6: La antigua Forensics FOCA


Con la creación de la FOCA, migré el concepto de Pentesting Driven By FOCA, al concepto de Pentesting Continuo, Pentesting by Design o Pentesting Persistente, y matamos a nuestra FOCA para convertirla en un servicio en Cloud con, hoy en día, más de 50 servidores en paralelo haciendo miles de escaneos al mismo tiempo en un modelo de Pentesting Continuo. Es nuestro servicio FAAST (FOCA as a Service by Telefónica).

Con la creación de Faast, decidimos liberar el código de Evil FOCA y FOCA para que la comunidad pudiera evolucionarlas, mantenerlas, hacer plugins, etcétera, pero lo cierto es que solo conseguimos limpiar el código de Evil FOCA y hacerla OpenSource.

El código de FOCA... bueno. Tenía zonas que se habían hecho con más cariño, pero con el tiempo se convirtió en un auténtico spaghetti code que había que deslabazar en algún momento, antes de poder hacerla Open Source. Pero lo hicimos, y lo anunciamos en el pasado Security Innovation Day 2017, donde sacamos la FOCA Open Source, que puedes descargar desde nuestro GitHub.

Figura 7: FOCA Open Source en GitHub

El trabajo de reingeniría del código se hizo en el equipo del Laboratorio de ElevenPaths, especialmente de la mano de José Sperk, se trabajó en el refactoring completo de FOCA para poder liberarla, pero no sin antes realizarle unas cuantas mejoras para que la comunidad pueda jugar con ella. Principalmente, el mayor esfuerzo estuvo en la adecuación del código dejando como Core central, las funciones de búsqueda y análisis de metadatos.

A post shared by Chema Alonso (@chemaalonso) on

A partir de este punto de inicio, se plantearon varios desafíos, como por ejemplo, la mejora de la performance. Para resolver esta cuestión y luego de debatir muchas alternativas en la oficina de ElevenPaths Buenos Aires - liderados por Claudio Caracciolo, Team Leader de los CSAs y de la oficina en Buenos Aires -, se optó por pasar a trabajar con una base de datos (SQL Express) mejorando notablemente la estabilidad de FOCA, la agilidad de trabajo con grandes cantidades de archivos, y permitiendo guardar un estado de un proyecto para recuperarlo luego desde la base de datos para continuar en otro momento con nuestro trabajo de análisis. Esto es algo que no habíamos querido meter en el pasado, por no complicar las piezas software, pero al final se hacía más que necesario.

Figura 9: FOCA Open Source Market

Otro gran desafío, era volver a agregarle funcionalidades que nos parecían interesantes pero de manera ágil y optativa, para lo cual hemos decidido poner el sistema de plugins que pueden ser cargados muy facilmente en FOCA creando un Market para poder encontrarlos y descargarlos sin clonar nuevamente el proyecto, y para poder tener un lugar donde ir subiendo nuevos plugins que puedan ser interesantes como el de Certificados Transparentes o el buscador de Git desplegados en los dominios a analizar.

Aprovechando el impulso por el rediseño, hemos decidido también incluir para las búsquedas al famoso Duck Duck Go además de Bing y Google, y a su vez, en la solapa de configuración, dimos la posibilidad de configurar las API Keys como la de Shodan para optimizar las consultas realizadas.


Figura 10: FOCA Open Source in Acction

Y por último, con estos cambios, los equipos de diseño UX nos dieron un poco de color nuevo a los iconos, al look and feel, y al logo. Eso sí, la FOCA sigue siendo rosa y funciona de la misma forma. En el vídeo podéis ver un resumen de todas las características de la FOCA Open Source.

Saludos Malignos!

6 comentarios:

Pedro Sánchez Granda dijo...

Para cuando una version nueva de EVIL FOCA

Jesús M. dijo...

No está nada mal la progresión desde el 2008... Pero, ¿qué sorpresa os vais a guardar para el décimo aniversario? ¿Tendréis que hacer algo aún más espectacular, no? :)

Enhorabuena por el trabajazo que habéis hecho, y gracias por poner la herramienta a disposición de la comunidad.

Un abrazo,
Chen.

Mamuno dijo...

GENIAAAAAAAAL esto revive a la foca!

Unknown dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...

Perfect

Unknown dijo...

alguien podría decirme donde encuentro el enlace de descarga de Evil Foca? Muchas gracias, Saludos

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares