Maltego es una aplicación muy útil en las primeras fases de una auditoría, tanto para la ingeniería social como para el pentesting es necesario poder recolectar información y hacernos una idea de la estructura que esta sigue. Maltego lo que hace es minar la información que le pedimos, tanto de redes, DNS, personas, correos, redes sociales,… y mostrárnosla en forma de mapa (aunque también tiene la opción de mostrarla en lista). Está desarrollada por el grupo Paterva, en Java, por lo que tiene capacidad de correr tanto en Linux, Mac y Windows.
Esta aplicación cuenta con dos versiones, una gratis (Community Edition), y una de pago, nosotros para este tutorial utilizaremos la versión gratis en un entorno Linux. Concretamente utilizaremos Kali Linux, que ya la trae instalada por defecto, también la traen instaladas otras distribución de seguridad como su predecesora BackTrack, o Bugtraq, Blackbuntu,…
El primer paso para utilizar la versión gratuita es registrarnos en la web de Paterva, por el contrario no podremos usar correctamente el programa, ya que no dispondremos de la paleta con las herramientas. Para ello, cuando ejecutamos el programa, se nos abrirá un diálogo en el que debemos seguir los pasos hasta que nos pide el login, sino disponemos de él debemos clickar sobre «registrer here» (https://www.paterva.com/web6/community/maltego/), y una vez completado el proceso nos identificamos y ya podremos finalizar el diálogo.
Ahora crearemos un nuevo trabajo, para ello nos dirigimos a la parte superior izquierda y pulsamos sobre el botoncito de «New», o pulsamos Ctrl+T.
Podemos ver que la pantalla está dividida en varios paneles, en la parte izquierda tenemos la paleta, donde dispondremos de herramientas para agregar información. En la parte central tendremos el mapa que se va, y vamos, formando a partir de la información obtenida. En la parte derecha tenemos unos paneles que nos muestran la información que contiene el objeto seleccionado en el mapa, una visión del mapa, y las propiedades del objeto, y en la parte superior un menú con varios paneles, los cuales nos dan la posibilidad de cambiar la distribución del mapa (Organize), utilizar las transformadas (Manage),…
Por si te lo estás preguntando, las transformadas son las distintas acciones que se aplican sobre los objetos de información que tenemos (dominio, correo,..) para obtener a partir de ellos nueva información que nos permita expandir las relaciones del mapa.
Vamos a comenzar con un ejemplo, para ello añadiremos un dominio arrastrándolo desde la paleta hasta el mapa, y modificando la url desde el panel inferior de la derecha (Property View -> Domain Name):
Y ahora pasaremos a la acción aplicándole transformadas al objeto del mapa, para ello hacemos click derecho sobre el objeto concreto y nos situamos sobre Run Transform, donde veremos las listas de las distintas posibilidades que nos ofrece Maltego sobre la minería de información. Para este caso, vamos a utilizar, por ejemplo, DNS from Domain -> To DNS Name – NS (Name Server), con la que obtendremos los servidores de nombres de dominio (DNS).
Como vemos en la segunda imagen nuestro mapa ha sido ampliado y ahora disponemos de más objetos, sobre los cuales podemos aplicar más transformadas, y así sucesivamente. Pero hay que tener cuidado de obtener los datos más precisos, ya que sino podremos obtener un mapa demasiado engorroso que nos dificulte el trabajo.
En el panel ya mencionado de la derecha, debajo de la visión del mapa, y encima de las opciones del objeto, disponemos de una caja (Detail View), donde Maltego nos muestra la información que contiene el objeto que seleccionemos del mapa. Vuelvo a mencionarlo ya que es muy importante para poder ver con detalle qué contiene cada objeto.
Maltego puede obtener datos de documentos ofimáticos (metadatos), para ello dispone de una transformada Files and Documents from Domain -> To Files (Office) para obtener los archivos, sobre los cuales podemos obtener los metadatos aplicando otra transformada Other transforms -> Parse meta information.
También disponemos de otra posibilidad bastante útil, y es el hecho de poder ejecutar unos pseudoscripts, los cuales se ejecutan de manera remota (en servidores llamados máquinas) que se encargan de cumplir una determinada tarea para obtener información. También sería posible crear máquinas por el propio editor. Las máquinas por defecto en la versión gratuita son las siguientes:
- Company Stalker: Esta máquina intentará obtener todas las direcciones de correo de un determinado dominio y averiguará cuales ofrecen resultados en redes sociales. Además obtiene los documentos alojados en el dominio y extrae los metadatos. Requiere como dato de entrada el dominio a analizar.
- Footprint L1: realiza un footprint de nivel 1 (rápido, básico) sobre un dominio.
- Footprint L2: Realiza un footprint de nivel 2 (medio) sobre un dominio.
- Footprint L3: Realiza un footprint de nivel 3 (intensivo) sobre un dominio. Requiere de tiempo y consume muchos recursos. Se recomienda usarlo con cuidado.
- Person – Email Adress: Intenta obtener las direcciones de correo de una determinada persona y averigua los sitios webs en los que aparecen. Requiere como dato de entrada una dirección de correo inicial.
- Prune Leaf Entities: Elimina las entidades sin nodos dependientes.
- Twitter Digger: Busca una determinada frase como un alias de Twitter. Es posible que esta máquina se vea bloqueada por la API de Twitter al ejecutarse en varias ocasiones.
- Twitter Geo Location: Intenta encontrar la geolocalización de una determinada persona en Twitter utilizando diferentes técnicas.
- Twitter Monitos: Monitoriza Twitter en busca de los hashtags, y entidades mencionadas que aparecen en torno a una determinada frase.
- URL To Network Add Domain Information: A partir de una URL obtiene información de la red y del dominio al que pertenece.
Para usar estas máquinas debemos ir a la parte superior, cerca de donde se localizaba New, y clickar sobre el icono rojo:
También podríamos haber creado un proyecto usando la información de alguna de estas máquinas a través del diálogo inicial, justo al final nos da esta opción.
Bueno, espero que os sirva esta enorme herramienta y le sepáis sacar provecho, cualquier duda o problema lo resuelvo en los comentarios, un saludo 😉