Maltego is a unique platform developed to deliver a clear threat picture to the environment that an organization owns and operates. Maltego’s unique advantage is to demonstrate the complexity and severity of single points of failure as well as trust relationships that exist currently within the scope of your infrastructure.
The unique perspective that Maltego offers to both network and resource based entities is the aggregation of information posted all over the internet – whether it’s the current configuration of a router poised on the edge of your network or the current whereabouts of your Vice President on his international visits, Maltego can locate, aggregate and visualize this information.
Maltego offers the user with unprecedented information. Information is leverage. Information is power. Information is Maltego.
What does Maltego do?
Maltego is a program that can be used to determine the relationships and real world links between:
Source: http://paterva.com/web6/products/maltego.php
Maltego Homepage | Kali Maltego Teeth Repo
Maltego es una de las herramientas mas completas y mejor implementadas que existen actualmente en el mercado enfocada sobre todo en la recolección de información y minería de datos, su valor añadido con respecto a las herramientas existentes en el mercado actualmente: La representación de la información en una forma simbólica, es decir, la información es presentada en distintos formatos de forma visual y enseñan las distintas relaciones encontradas entre la información presentada, por otro lado Maltego permite enumerar información relacionada con elementos de red y dominios de una forma bastante comprensible, así como también permite enumerar información relacionada con personas, datos tales como direcciones de email, sitios web asociados, números de teléfono, grupos sociales, empresas asociadas, etc.
Ademas de lo anterior, Maltego es multiplataforma ya que se encuentra escrito en Java, como resultará obvio uno de los requisitos para que funcione adecuadamente es necesario tener una maquina virtual de Java correctamente instalada y al ser una aplicación gráfica, en sistemas operativos GNU/Linux es necesario tener instalado un administrador de ventanas X11. Por otro lado, Maltego cuenta con dos tipos de distribuciones, una distribución comercial y una comunitaria, la diferencia entre ambas esta principalmente en que la comunitaria tiene ciertas restricciones que limitan su uso de forma considerable en entornos empresariales, de hecho, la versión comunitaria no puede ser utilizada para uso comercial, ademas de que solamente se pueden retornar 12 resultados por transformación (sobre transformaciones en Maltego se verá mas adelante) por este motivo y algunos otros, si se intenta utilizar esta herramienta para fines distintos a los meramente educativos, es necesario adquirir una licencia del producto.
Para utilizar Maltego es necesario descargarlo, descomprimirlo y posteriormente ejecutarlo, para descargarlo seguir el siguiente enlace: http://www.paterva.com/web5/client/download.php, para ejecutar maltego es necesario lanzar el ejecutable ubicado en el directorio “bin” de instalación, con esto se abrirá un asistente sencillo de cuatro pasos para la primera ejecución donde entre otras cosas se solicita una cuenta de usuario registrado en la comunidad de Maltego.
Ahora bien, como se trata de un herramienta visual, lo mas lógico es indicar pantallas que faciliten la comprensión de su uso y las principales características de esta herramienta, por este motivo se indican paso a paso sus principales potencialidades con algunas imágenes ilustrativas que enseñan la interfaz y sus funcionalidades:
1. Con maltego se pueden ejecutar búsquedas por datos personales de un individuo o datos relacionados con una organización, cada una de estas opciones se encuentran ubicadas en la paleta ubicada a la izquierda bajo las opciones de “infraestructura” y “personal”
2. Las opciones incluidas aquí como puede apreciarse incluyen una buena colección de objetos que pueden ser empleados con la única finalidad de recolectar información sobre un objetivo determinado, todos estos elementos pueden relacionarse entre si y son elementos que se mueven desde la paleta hacia en contenido del panel central donde se pueden personalizar las propiedades especificas de cada uno. Cabe anotar que los elementos de “infraestructura” y “personal” también se relacionan con frecuencia, en especial en aquellos casos en los que una empresa hace publica información de algunos de sus empleados, esta información puede ser capturada y representada por Maltego con el objeto correspondiente.
3. Del mismo modo que se representa un objeto persona, también es posible definir otro tipo de objetos relacionados con la infraestructura de un sitio web, un servidor DNS, una localización especifica, un servidor de correo, etc.
4. Por otro lado, toda esta información tiene distintos formatos de visualización que permiten que el usuario seleccione la que mas significativa le resulte.
5. En el panel derecho, como se ha visto anteriormente, se incluyen propiedades sobre los objetos que se manipulan en el panel central, enseñando detalles, propiedades y un mapa con la ubicación de los elementos utilizados en el panel central.
6. Ahora viene la parte interesante y es lo que da potencia y dinamismo a Maltego, la utilización de Transformaciones. Una transformación es una unidad conceptual que realiza determinadas búsquedas con el fin de recolectar la mayor información posible sobre un elemento dado, las transformaciones se separan por funcionalidades y abarcan ámbitos muy específicos en base a cada tipo de objeto, por ejemplo, a un objeto Persona, se le pueden aplicar solamente las transformaciones relacionadas con este objeto como son “To Phone Number”, “To Email Address [PGP]”, “To WebSite [Using Search Engine]”, etc. Estas transformaciones retornar información relacionada con su contexto, por ejemplo, la trasformacion “To Phone Number” busca en internet información indexada sobre números de telefono relaciados con el nombre y apellido de la persona. Para ejecutar una transformación deseada es necesario pulsar click derecho sobre uno de los objetos del panel central y en la opción “Run Transformations” ejecutar una o todas las transformaciones que se encuentran asociadas al objeto seleccionado.
7. Una vez que una transformación es ejecutada, los resultados generan mas objetos que también permiten la ejecución de mas transformaciones, de esta forma se pueden generar estructuras complejas de información que le permiten a un auditor o pentester tener una imagen mucho mas clara y completa del objetivo
8. En la imagen anterior se puede apreciar que tras aplicar un par de transformaciones sobre un objeto persona y un objeto WebSite, los objetos generados se han relacionado de forma tal que es posible posteriormente ejecutar transformaciones sobre estos objetos, por ejemplo, en este caso se pueden aplicar todas las transformaciones disponibles sobre el objeto IPV4 Address, como puede apreciarse en la imagen la cantidad de información retornada es bastante lo que lleva a otra característica del paso correspondiente al Footprinting: La adecuada organización de la información, para este fin es posible utilizar herramientas como Dradis, para ver mas detalles sobre instalación y uso de esta herramienta ver el post anterior aquí: https://thehackerway.wordpress.com/2011/03/22/dradis-framework-y-metasploit/
9 Por otro lado, es posible que algunos objetos se relacionen entre si, aunque ninguna de las transformaciones ejecutadas logren capturar dicha relacion, en estos casos es posible agregar dichas relaciones manualmente, simplemente arrastrando una flecha que se encuentra ubicada justo al lado de cada objeto y desplazándola hacia el objeto relacionado, es algo muy sencillo y creo que no hace falta indicar una imagen para enseñar esto.
10. También existen algunas otras opciones relacionadas con la visualización de los elementos ubicada en la parte superior de la interfaz y permiten realizar operaciones muy básicas tales como aumentar/disminuir el zoom, seleccionar objetos relacionados e inclusive crear relaciones entre objetos contenidos en el panel central.
11. En la parte superior de la interfaz también aparece otra opción que es bastante interesante, llamada “Manage” que permite administrar los elementos globales de la interfaz de Maltego, así como la creación y modificación de transformaciones y otros objetos personalizados.
12. Maltego es robusto y flexible, una de las razones de esto es que le permite a los usuarios crear tipos u objetos personalizados que pueden incluirse en las categorías de Infraestructure o Personal, el asistente permite indicar paso a paso las características de este nuevo objeto.
Como se puede ver se ha creado un objeto adicional llamado “Facial”, para que este objeto tenga algún significado, es necesario crear/importar y ejecutar alguna transformación. Cuando se crea una transformación es necesario tener un Script en Python, Perl u otro lenguaje que ejecute la lógica de la transformación junto con sus parámetros (si los tiene) en el caso de la importación de una transformación se utilizan una o varias de las existentes en los repositorios de Maltego para tal objetivo.
Una vez se han descubierto e importado las transformaciones, es posible aplicarlas al objeto creado, de este forma se pueden agregar mas objetos de los que actualmente existen en Maltego y realizar un proceso de Footprinting/FigerPrinting mucho mas preciso y con información mucho mas exacta y valiosa.
https://thehackerway.com/2011/08/02/conceptos-basicos-avanzados-y-herramientas-de-footprintingfingerprinting-%E2%80%93-maltego/
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:
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.