Footprinting with Maltego
En esta práctica veremos como usar Maltego para realizar un footprinting.
En esta práctica usaremos Maltego en su versión gratuita (Community Edition) para entender como podemos, utilizando esta herramienta, llevar a cabo un footprinting de una web objetivo.

Instalando Transforms

En Maltego los "Módulos" se llaman Transforms cada uno de ellos aporta funcionalidades y diversos tipos de scans que podemos utilizar.
Para instalar transforms, Maltego dispone de una sección llamada transform hub:
El hub es una suerte de store o market donde podemos encontrartransforms pagos, gratuitos y algunos que ofrecen free trials (pruebas gratuitas). Disponemos de filtros para refinar nuestra búsqueda. En este caso en particular usaremos todos transforms gratuitos para hacer nuestra práctica de reconocimiento web.
En mi caso voy a utilizar los siguientes transforms gratuitos:
La instalación de los transforms es sencilla, basta con clickear cada una y elegir la opción install. Luego una ventana se abrirá para comenzar la instalación.
Algunos transforms como el de Shodan, requieren una API Key para funcionar y pedirán la misma durante la instalación:

Reconocimiento web con Maltego

El objetivo de esta práctica es generar un reconocimiento web usando Maltego y los transforms que instalamos previamente.

Creando un nuevo scan

Para iniciar generamos un nuevo graph desde el menú de Maltego:
Una vez creado vemos que disponemos de una suerte de canvas vacío donde vamos a poder organizar los elementos de nuestro scan. Estos elementes en Maltego se llaman Entities. Podemos ver una lista de cada una en el panel a la izquierda de nuestro canvas, diferenciados por categorías.

Definiendo el Dominio (Entities)

Las Entities nos permiten ubicar en el canvas los distintos tipos de dispositivos, eventos, infraestructuras, locations, Personal, etc.
Para comenzar nuestro scan, buscamos en la lista de entidades la entidad llamada Domain:
Para agregar nuestra entidad al canvas, basta con arrastrarla y soltarla sobre el mismo. Por default esta entidad apunta a paterva.com. Necesitamos ajustar ese valor y apuntarlo a nuestro objetivo. Para ello disponemos de 2 formas:
  • Opción 1: Hacer doble click en el texto de la entidad y cambiar el valor al dominio objetivo:
  • Opción 2: Editar el dominio usando el panel de propiedades de la entidad (este panel es genérico a cualquier entidad que tengamos seleccionada):
En mi caso utilizaré como objetivo una web de noticias online:
  • https://semanarionuestragente.com/

Realizando el primer scan Manual

En Maltego cada entity nos ofrece diversos tipos de scan (en realidad también son llamados transforms). Los mismos son habilitados por los transforms que tengamos instalados. Cada entidad puede contener distintos tipos de scans disponibles según su tipo. Para ver los scans disponibles, podemos hacer click derecho sobre la entidad:
Vemos que el menú contextual que se despliega es llamado Run Transforms. El mismo nos presenta cada transform instalado, podemos hacer click sobre alguno en particular o bien hacer click en All Transforms para ver la lista completa de opciones disponibles:
Comenzaremos por hacer un scan del tipo whois. Podemos usar la barra de búsqueda del menú contextual para refinar la lista y por ejemplo ver los scans de tipo whois que están disponibles:
En este caso probaremos el transform (scan) llamado to DNS - NS (Name Server). Al hacerle click el scan/transform seleccionado es ejecutado. Vemos que luego de un momento 2 nuevas entidades aparecen en nuestro canvas. También podemos ver que cada transform/scan genera un log al ejecutarse que se muestra en la ventada de output debajo del canvas:
De esta manera vemos que obtenemos ambos Name Servers que están vinculados a nuestro objetivo. Estas nuevas entidades nos permiten correr scans adicionales. Veamos cuales están disponibles para ns69.domaincontrol.com:
Probemos correr el transform llamado To Domains [Sharing this NS] y al correr vemos que nos actualiza el canvas con todos los dominios que también utilizan ese mismo Name Server:
Ya nos podemos ir dando una idea del potencial de Maltego para hacer reconocimiento de nuestros objetivos.
Tomemos para nuestro próximo scan a jamibgoode.com y corramos el transform llamado To Email Address [from whois info]:
Vemos que de esta manera logramos listar el correo que esta especificado en los registros de whois para ese dominio. De esta forma podemos comenzar a obtener información sobre nuestro objetivo, pero Maltego también nos ofrece otra forma automatizada de realizar escaneos de footprinting usando lo que se llama machines.

Usando Machines para Footprinting Automático

Maltego pone a nuestra disposición diferentes machines que son una suerte de scans pre-seteados que podemos ejecutar automáticamente para el dominio objetivo que hemos definido. Veamos como podemos usar machines para hacer footprinting, esta vez para el dominio kimballoon.com:
Primero ubicamos la machine que deseamos ejecutar, para esta práctica usaremos la llamada Footprint L1. Basta con hacer click en la machine deseada para ejecutarla:
En la versión community de Maltego esta limitada la funcionalidad y potencia de estas machines.
Luego de ejecutar la machine, en la parte superior derecha de la pantalla de Maltego vemos el resultado de los scans/transforms ejecutados por dicha machine. Y al ver el canvas vemos que tenemos múltiples nuevas entidades, cada una de las cuales nos sigue proveyendo de información adicional para nuestro esfuerzo de footprinting:
Vemos que en este caso el footprinting realizado nos genera en nuestro canvas una considerable cantidad de nuevas entidades de variados tipos. Cada una de las cuales nos permite seguir utilizando transforms adicionales para intentar conseguir información y detalles adicionales que luego podemos recopilar para tener un panorama lo más completo posible de nuestro objetivo.
Como podemos observar el poder de Maltego es considerable y la facilidad de uso que nos ofrece la convierte en una herramienta formidable para nuestros esfuerzos de footprinting y reconocimiento.
Durante esta simple práctica vimos algunas de las funcionalidades que Maltego ofrece, ciertamente hay muchas más por descubrir, aprender y utilizar. Espero que este texto sea útil y sirva para comenzar a explorar esta poderosa herramienta.