FOOTPRINTING
Objetivos
Footprinting es la aplicación de una serie de técnicas de reconocimiento que se
orientan a la obtención de la mayor cantidad de datos relacionados (direcciones
IP, nombres DNS, direcciones de correo electrónico, …) con las redes de una
organización. Generalmente, esta aproximación puede poner en relevancia
vulnerabilidades existentes.
Cualquier organización debe ser consciente de la información disponible sobre su
infraestructura de forma pública. Estos datos pueden ser utilizados por amenazas
externas como punto de partida para realizar ataques.
Esta actividad se centra en describir las técnicas de footprinting más comúnes y
analizar una organización para detectar la información pública disponible.
Herramientas de Footprinting
Footprinting es una búsqueda de información no intrusiva centrada en obtener la
mayor cantidad de información disponible del sistema a analizar desde fuera de la
organización y evitando realizar técnicas que se consideran intrusivas. Por ejemplo,
como ya hemos visto en el módulo, podemos visitar portales de empleo y buscar
ofertas de trabajo relacionadas con la institución. Si existe una oferta por ejemplo
para un desarrollador bajo el servidor web IIS podemos inferir que algún sistema de
nuestra empresa utiliza esta tecnología.
Herramientas de Red
El protocolo DNS es uno de los protocolos de red disponible en todas las redes que
permite la traducción de nombres de dominio a direcciones IP para facilitar la
navegación. Podemos ver DNS como una base de datos distribuida donde cada
asociación nombre de dominio – dirección IP se almacena en un registro. Existen
diversos tipos de registros, los más relevantes son:
• A = Dirección (address). Este registro se usa para traducir nombres de
servidores de alojamiento a direcciones IPv4.
• AAAA = Dirección (address). Este registro se usa en IPv6 para traducir
nombres de hosts a direcciones IPv6.
• CNAME = Nombre canónico (canonical Name). Se usa para crear nombres
de servidores de alojamiento adicionales, o alias, para los servidores de
alojamiento de un dominio. Es usado cuando se están corriendo múltiples
Footprinting
servicios (como FTP y servidor web) en un servidor con una sola dirección IP.
Cada servicio tiene su propia entrada de DNS (como ftp.ejemplo.com. y
www.ejemplo.com.). Esto también es usado cuando corres múltiples
servidores HTTP, con diferentes nombres, sobre el mismo host. Se escribe
primero el alias y luego el nombre real.
• NS = Servidor de nombres (name server). Define la asociación que existe
entre un nombre de dominio y los servidores de nombres que almacenan la
información de dicho dominio. Cada dominio se puede asociar a una
cantidad cualquiera de servidores de nombres.
• MX = Intercambio de correo (mail exchange). Indica que el dominio de
nombre no es un equipo, sino un servidor de correo electrónico.
• PTR = Indicador (pointer). También conocido como 'registro inverso', funciona
a la inversa del registro A, traduciendo IPs en nombres de dominio. Se usa en
el archivo de configuración de la zona DNS inversa.
• SOA = Autoridad de la zona (start of authority). Proporciona información
sobre el servidor DNS primario de la zona.
Además, podemos consultar a DNS para pedir cualquier registro con el tipo ANY. Se
puede consultar una lista completa de los registros DNS en el siguiente enlace:
https://es.wikipedia.org/wiki/Anexo:Tipos_de_registros_DNS
Si nos encontramos en el sistema Windows podemos usar el cliente DNS NsLookup
para realizar nuestras consultas.
Imaginemos que queremos averiguar información sobre una empresa, como
google, de la que conocemos su sitio web:
pág. 2
Footprinting
C:\Users\Llanos>nslookup
Servidor: ns2.uned.es
Address: 62.204.192.21
> set type=any
> www.google.es
Servidor: ns2.uned.es
Address: 62.204.192.21
Respuesta no autoritativa:
www.google.es AAAA IPv6 address = 2a00:1450:4003:801::2003
www.google.es internet address = 216.58.214.163
> set type=mx
> google.es
Servidor: ns2.uned.es
Address: 62.204.192.21
Respuesta no autoritativa:
google.es MX preference = 20, mail exchanger = alt1.aspmx.l.google.com
google.es MX preference = 50, mail exchanger = alt4.aspmx.l.google.com
google.es MX preference = 40, mail exchanger = alt3.aspmx.l.google.com
google.es MX preference = 30, mail exchanger = alt2.aspmx.l.google.com
google.es MX preference = 10, mail exchanger = aspmx.l.google.com
> set type=soa
> www.google.es
Servidor: ns2.uned.es
Address: 62.204.192.21
google.es
pág. 3
Footprinting
primary name server = ns1.google.net
responsible mail addr = dns-admin.google.com
serial = 178724476
refresh = 900 (15 mins)
retry = 900 (15 mins)
expire = 1800 (30 mins)
default TTL = 60 (1 min)
Abrimos una sesión con nslookup, establecemos el tipo de registro que queremos
preguntar con la orden set type y justo después preguntamos por el nombre de
dominio. Lo primero que nos dice es a que servidor DNS hemos preguntado y que
en dirección IP se encuentra ese servidor DNS. Después nos da la respuesta de los
registros que tiene ese servidor en su base de datos.
En este ejemplo como el servidor DNS no es una autoridad DNS, se nos indica que la
respuesta no es autoritativa. Para conocer el servidor DNS autorizado podemos
consultar el nombre de dominio con el tipo SOA. En este ejemplo vemos que es
ns1.google.net y además vemos que hay un correo de una persona responsable
(dns-admin.google.com). Bajo Linux podemos apoyarnos en la herramienta digg,
cuyo funcionamiento es bastante similar.
Otra herramienta similar usando un protocolo distinto a DNS es Whois. WHOIS es un
protocolo TCP basado en petición/respuesta que se utiliza para efectuar consultas
en una base de datos que permite determinar el propietario de un nombre de
dominio o una dirección IP en Internet. Actualmente es un comando para
distribuciones Linux o bien se puede usar mediante páginas web, como por ejemplo
la página web: https://who.is/.
pág. 4
Footprinting
Una vez conocemos un nombre de dominio y su dirección IP podemos detectar los
diversos virtual host alojados en el mismo servidor. Conocer los diversos sitios web
desplegados sobre el mismo servidor es una información interesante. Quizás el sitio
web de la organización principal es bastante seguro, pero quizás alguno de los otros
no sea tan seguro y permita acceder al sistema de ficheros o la base de datos sobre
la misma máquina. Una forma sencilla de averiguar esta información nos la ofrece
el buscador bing con la opción ip:<dirección_ip>.
pág. 5
Footprinting
En este ejemplo vemos tres sitios web alojados en la misma dirección IP junto a dos
anuncios de publicidad.
Ping (http://ping.eu/) es un conjunto de herramientas básicas de seguridad que
ofrecen gran cantidad de información de forma no intrusiva. Cabe destacar la
aplicación traceroute que permite detectar la ruta que se sigue en Internet para
alcanzar una dirección IP o una URI:
pág. 6
Footprinting
Existe una versión por comandos bajo windows con la orden tracert y en linux como
traceroute instalando el paquete del mismo nombre. Sin embargo, suele ser una
medida de seguridad frecuente de seguridad bloquear el tráfico ICMP que usa este
comando. Por tanto, la versión web nos da información de cómo llegar hasta al
menos el firewall de la empresa.
Herramientas en la distribución Kali
La distribución de Linux Kali contiene gran cantidad de herramientas de seguridad.
Se puede descargar desde la web: https://www.kali.org/.
La herramienta theharvester, disponible desde el terminal, permite realizar una
búsqueda detallada en Internet sobre un dominio localizando nombres de
empleados, correos, ….
Se utiliza con la opción -d seguida del dominio y la opción -b para determinar todos
los sitios donde buscar información. Las opciones de -b son: google, googleCSE,
bing, bingapi, pgp, linkedin, google-profiles, people123, jigsaw,twitter, googleplus,
all.
En el ejemplo de abajo por ejemplo hemos encontrado usuarios que en LinkedIn
tienen asociada la web hackthissite.org.
Otra herramienta disponible desde el terminal de Kali es WhatWeb que recaba
información sobre un sitio web concreto.
pág. 7
Footprinting
Por último, otra herramienta útil en la recolección de información es Maltego.
Maltego es una herramienta de inteligencia de código abierto (OSINT)
desarrollada por Paterva. Es una herramienta comercial, sin embargo, la edición
comunitaria viene por defecto junto con Kali Linux. Usaremos la edición de
comunidad para esta demostración.
Maltego se puede iniciar desde la sección Recopilación de información del menú
de aplicaciones de Kali Linux. La primera vez que ejecutemos, Maltego nos pedirá
que nos registremos para obtener la licencia para la edición de la comunidad o
que inicie sesión directamente si ya está registrado. Este paso debe hacerse para
acceder y ejecutar Maltego.
A través del concepto de grafos podemos recabar grandes cantidades de
información sobre diversos objetivos: desde máquinas hasta personas, através de
búsquedas en Internet.
Un ejemplo del grafo que obtenemos tras analizar hackthissite.org se puede ver en
la siguiente imagen:
pág. 8
Footprinting
Como podemos ver se han detectado dominios, direcciones IP, direcciones de
correo electrónico y personas.
Páginas web
Archivo de Internet (https://archive.org/). Imaginemos un servidor web puesto en
pruebas en Internet antes de pasar a producción, cambios en sitios web derivados
de problemas de seguridad, información sensible hecha pública por descuido, … El
archivo de Internet ofrece una copia de sitios web que han desaparecido
ofreciendo copias a lo largo del tiempo. En estas versiones antiguas puedes obtener
direcciones de correo electrónico de empleados directamente en lugar de
direcciones de correo corporativas o bien información de servidores y versiones.
Shodan (https://www.shodan.io/) es un sitio web que permite realizar multitud de
consultas sobre un sitio web y ofrece como escáner gran cantidad de información
asociada. Hay que registrarse para poder acceder a consultas más sofisticadas.
Pero podemos buscar desde modelos de dispositivos, por ejemplo, un router ZTE, o
bien cierto tipos de servidores como Microsoft IIS/8.5.
pág. 9
Footprinting
DNSDumpster (https://dnsdumpster.com/) es una página web que nos permite
detectar subdominios a partir de un dominio. Nos ofrece una información similar a
la que obtenemos con digg o nslookup. Pero además nos ofrece información
detallada de los lugares donde se alojan los subdominios, así como los tipos de
registros DNSs que tiene. En este ejemplo hemos probado con el sitio web
hackthissite.org.
pág. 10
Footprinting
Actividad
Selecciona una organización o bien aplicar esta técnica a tu organización.
También intenta localizar si está publicada alguna política de seguridad en
relación con esta información
• ¿Qué información has podido localizar?
• ¿Cuál de esta información te parece relevante desde el punto de visto de
la seguridad?
• ¿Eras consciente de que esta información estaba disponible?
• Si has conseguido localizar las políticas de seguridad con relación a estos
datos, ¿se cumple esta política o no?
pág. 11