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.