Maltego II (o cómo conejear a un conejo)

Saludos conejiles!!

Hoy continuamos con la segunda entrega sobre Maltego, la fantástica herramienta de Paterva usada primordialmente para temas de OSINT y forense. Podéis leer la entrada anterior en el siguiente enlace, en el que nos adentramos en lo más básico de esta herramienta.

Sin más, vamos a darle un poco de chicha.

 

 

Integración con Virus total

Continuando con lo visto en la entrada anterior referente a la búsqueda e investigación de dominios, y si hemos configurado la transformada de Virus Total con una API Key, Maltego comprobará si en el dominio objetivo se encuentra algún tipo de información al respecto.

Virus Total, además de proporcionar y realizar informes de escaneos de archivos con multitud de antivirus, analiza los dominios y devuelve un listado de subdominios, muestra un histórico de las IPs del objetivo, y lista archivos relacionados al dominio, como es el caso de referencias a «strings». En este caso vamos a ejecutar la transformada entera de Virus Total para nuestro objetivo (un importante banco español):

                                             

 

Como podemos ver en este caso, al ejecutar la transformada de Virus Total, se nos muestran dominios (hasta 12 al usar la versión no comercial de prueba), la IP de nuestro objetivo, y una entidad de tipo hash:

Detalles de la entidad tipo Hash

 

Si comprobamos que tipo de información se obtiene desde la propia página de Virus Total, en este caso obtenemos información similar. En el caso de los dominios/subdominios, obtenemos el listado completo (por lo cual, desaconsejo el uso de la transformada de Virus Total de Maltego para la obtención de subdominios si tan sólo se dispone de cuenta gratuita de Maltego), un extracto de los últimos ficheros obtenidos desde el dominio, y ficheros relacionados con el dominio. Precisamente sobre estos últimos, hay un fichero relacionado que coincide con el hash que ha descubierto Maltego:

                                   

                                    

 

Si disponemos de cuenta en Virus Total, podremos investigar más sobre el hash en cuestión. Para ello, deberemos acceder al módulo de inteligencia (Intelligence), e ingresar el hash anterior. Este hash ha sido identificado como ‘string referenciado’, por lo que en la sección Strings de Content, debería aparecer el nombre de nuestro objetivo:

Acceso al área de Inteligencia en Virus Total

 

Búsqueda del hash

 

Ejemplo de la indexación del objetivo en los Strings del fichero

 

Podemos concluir entonces, que Maltego está bien para recopilar los hashes, ya que si ejecutamos las transformadas de la entidad hash, no se suele obtener información al respecto. Si quisiésemos más información al respecto de dicho hash, deberemos buscar la información directamente en Virus Total.

 

 

Investigación sobre perfiles

Otra de las funcionalidades de Maltego, es la búsqueda de información pública de una persona; para qué se use, es ya decisión de cada uno. Desde FWHIBBIT recomendamos un uso responsable. En caso de duda, acuda a su farmacéutico.

En este caso, vamos a realizar una prueba para ver el funcionamiento con un personaje público (bastante conejo él). Dentro de la paleta de entidades, tenemos una sección dedicada a perfiles llamada Personal. Dentro de ella, podemos seleccionar entidades como direcciones de correo, nombre de compañía, documentación, imagen, teléfono, alias, o persona:

Paleta de entidades, sección para personas física o compañías

 

Para empezar el descubrimiento, estas dos últimas entidades son las más representativas: Alias y Person. Entendemos como alias el «nickname» (esto suena un poco años 80 xD), por lo que arrastramos las dos entidades y las rellenamos con el nombre de nuestro objetivo. En este caso, ya que nuestro objetivo tiene un nombre artístico, arrastraré dos entidades de persona, una con el nombre real y otra con el artístico:

 

Tras ejecutar todas las transformadas, podemos ver que existen una gran cantidad de falsos positivos. Cuanto más específicos seamos al poner el nombre en la entidad, menos falsos positivos tendremos, pero también cabe la opción de que al ingresar por ejemplo tan sólo un apellido del objetivo estemos perdiendo información. Por mi experiencia, prefiero crear varias entidades para abarcar más posibilidades y obtener el máximo número de resultados, para luego aplicarle un análisis e ir borrando los falsos positivos. En este caso, suprimo los falsos positivos para poder ver la información de una manera más sintetizada, sino, saldría algo como este grafo:

Grafo resultante sin borrar falsos positivos
Grafo tratado sobre el objetivo. Entidades nuevas significativas marcadas

 

Como podemos ver, se nos han interrelacionado los perfiles del objetivo, ya que las entidades que hemos creado comparten otras entidades transformadas. Es significativo que nos aparezcan miembros de la familia del objetivo, como son su padre, sus hijos, y su exmujer (y los hijos previos a su relación). En este caso vamos a volver a eliminar a sus familiares, para poder quedarnos con los datos del objetivo. Es interesante tener instalada la transformada de haveibeenpwned ya que nos analizará si existen datos al respecto de los alias introducidos. En este caso, borraremos también esta entidad ya que no muestra información alguna.

Como podemos ver, Maltego incluso te puede dar una referencia histórica del objetivo:

 

Si queremos saber de dónde viene uno de los datos encontrados, podremos hacerlo seleccionando la entidad y viendo sus propiedades, o bien haciendo doble click sobre la entidad, y después en la sección Properties:

 

Tendremos que seguir tirando un poco del hilo… por lo que ejecutaremos todas las transformadas de las entidades generadas.

Al realizar las transformadas de un perfil de Twitter, nos muestra tanto un nuevo alias, como una gran cantidad de tuits referentes al perfil público de nuestro objetivo. Por otra parte, y gracias a la entidad de PeopleMon, nos vuelve a salir información de sus familiares, así como su fecha de cumpleaños, los años que tiene, el símbolo del zodiaco, la ubicación de nacimiento (reside en Miami, tal y como indica su Twitter), así como una página de noticias americana, que dispone de un perfil de nuestro objetivo:

 

A continuación, podemos ejecutar las transformadas del alias que se generó anteriormente, lo que nos trae (además de muchos falsos positivos) el perfil de Facebook del objetivo:

 

Del perfil de Facebook, hemos podido conseguir su perfil de Google+:

 

Y de su perfil de Google+, volvemos a obtener los falsos positivos anteriores, por lo que podríamos dar por finalizada nuestra investigación.

Como análisis en general del perfil público de una persona, no está nada mal, pero por ejemplo no se ha llegado a relacionar su cuenta oficial de Instagram, por lo que recomiendo que siempre que se quiera realizar una investigación sobre un objetivo, primero se intente obtener los perfiles más importantes mediante buscadores (o al menos sus Alias), para así no perder información por el camino:

 

Twitter

Normalmente, en toda herramienta que usa Twitter se suele necesitar crear una aplicación para poder tener acceso a la API. En el caso de Maltego, tan sólo nos hará falta registrarnos con una cuenta y autorizar a la aplicación de Maltego el uso de Twitter:

 

 

Tips útiles

Selección de entidades por tipo

En muchas ocasiones, querremos por ejemplo recoger los datos que ha arrojado Maltego para nuestros «informes». Imaginemos por ejemplo que estamos buscando Malware de un objetivo. Tras varias ejecuciones de las transformadas para los dominios principales y los generados desde sus transformadas, podemos hacer uso de la funcionalidad Select by Type del panel de opciones superior para seleccionar todas las entidades del mismo tipo. En este caso, seleccionamos Hash:

 

Copiar bloques de información resultante

En este momento, se nos seleccionarán todas las entidades de tipo hash, lo que podemos ver tanto en el grafo (se realizará un zoom para abarcar todas las entidades), y se nos mostrará su información en el panel derecho de Detail View. Precisamente en este panel, podremos seleccionar todos los hashes (seleccionando el primero y arrastrando o pulsando ctrl+a), y copiar los resultados a nuestro editor de texto favorito (ctrl+c y ctrl+v):

 

 

Tipos de servidores

Como hemos podido ver, Maltego es una poderosa herramienta que es usada a menudo por delincuentes analistas individuos para recopilar información sobre personas y empresas. Este uso no comercial, y limitado en cuando a los resultados de las búsquedas, es suficiente para hacernos a la idea de un objetivo y tener un vistazo rápido.

Sin embargo, uno de los grandes inconvenientes de Maltego es cuando se usa de manera comercial en empresas dedicadas a ciberseguridad (Maltego XL y Maltego Classic). Por lo general, la política de las empresas del sector es de no compartir ni la información que se está buscando, ni la información obtenida. Es bien sabido que aplicaciones de este estilo, recopilan la información de las IPs que la están usando, y de los resultados que obtienen, para así retroalimentar su propia base de datos.

Para evitar esto, Maltego nos ofrece tres alternativas a consultar la información al servidor público:

  • CTAS: servidor privado con todas las ventajas de utilizar una infraestructura propia donde alojarlo, y con acceso a las fuentes de información pública.
  • iTDS: servidor de distribución donde las transformadas personalizadas pueden ser administradas, compartidas y distribuidas por una organización y sus integrantes, y con acceso a las fuentes de información pública, así como a fuentes de información propias de la organización.
  • Comms: servidor privado que permite compartir grafos en distintas sesiones.

Tened esto bien en cuenta, ya que si usáis Maltego con la licencia gratuita en una empresa, y os hacen una auditoria podríais tener problemas; y si usáis una licencia comercial y las políticas de vuestra empresa especifican que no se debe compartir la información de los objetivos, tendríais que contratar uno de estos servidores dependiendo de vuestras necesidades.

 

Descripción general de los servidores

 

 

Y nada más por hoy!! Al final me ha salido una entrada un poco grande…, espero que terminéis de leerla y os pueda aportar algo para mejorar vuestra labor «juankeriana». Cualquier duda será bien recibida y atendida (por comentario, telegram, …), y si queréis que se escriba sobre algo más relacionado con Maltego no tenéis más que comentarlo!!

En la próxima entrada sobre Maltego contaré con la colaboración de un gran compañero de trabajo, y hablaremos de cómo automatizarlo: a todos nos apetece de vez en cuando tener una aplicación de botón gordo e ir a desayunar…

Y si queréis leer más entradas relacionadas con OSINT, os dejamos por aquí una entrada muy interesante de nuestro compañero Marcos sobre OSRFramework.

 

 

 

Gonx0