domingo, enero 15, 2017

Odin, identificando el Shadow IT en la era del Big Data. Parte I: Técnicas y Herramientas de footprinting

Durante este año hemos presentado en la edición de RootedCON Madrid, en la edición de la RootedCON Valencia y en la  edición de Navaja Negra el proyecto "Odin",  cuya única misión es impulsar la identificación de todos los activos que una empresa tiene en Internet apoyándose para ello en tecnologías Big Data. Es por eso, que haremos una recopilación del trabajo de un año entero sobre todas las lecciones aprendidas durante el desarrollo de este proyecto para poder compartir así dicho conocimiento.

Figura 1: Odin, identificando el Shadow IT en la era del Big Data. Parte I

Esta recopilación de conocimiento se dividirá en tres partes: introducción y estado del arte de las herramientas existentes, nuevos vectores de identificación de activos de una compañía, y finalmente, cómo las tecnologías Big Data han sido necesarias a la hora de hacer viable la identificación de activos de una compañía en base a la gran cantidad de información existente en la Internet.

En primer lugar, la identificación por completo de todos los activos que una compañía tiene públicos en Internet, es decir, descubrir el Shadow IT de la compañía, no es un problema nuevo. Todo cuenta a la hora de ir incrementando este mal en la empresa, ya sea por culpa de servidores antiguos no inventariados cuyos responsables ya no forman parte de la empresa o nuevos proyectos iniciados por departamentos como Marketing, RRHH u otros, que al contar con sus propios presupuestos dentro de la organización, a veces no informan a los departamentos de IT y/o Seguridad de sus nuevos servicios, dificultando que sean analizados a tiempo, fortificados y se apliquen sobre ellos todas las medidas de seguridad de las que disponga la organización.

Es llamativo que en una sociedad que inventariamos cada prenda de ropa, cada lata de comida o incluso cada persona, no seamos capaces de inventariar cuantos servidores tiene una empresa públicos en Internet, algo que queda patente en los múltiples programas de bug bounty de HackerOne, y en los ejemplos de pentesting persistente que muchas veces vemos por aquí

Figura 2: Servidor olvidado en Pornhub

Si la compañía es de ámbito internacional, compuesta por decenas de empresas, miles de direcciones IP y centenares de dominios, es prácticamente imposible que exista un repositorio único y centralizado con esta información tan básica. Por este motivo, en algunas ocasiones, los métodos de descubrimiento de activos con técnicas de pentesting - la herramienta Faast de ElevenPaths tiene esta característica entre sus mayores fortalezas -, o también llamados de footprinting, son los encargados de alimentar los inventarios internos o bases de datos de gestión de la configuración.

Introducción al footprinting

Desde una perspectiva de ataque externo, el objetivo fundamental del footprinting es aumentar la superficie de exposición, inventariando todas las direcciones IP y dominios que componen la presencia de la organización en Internet, así como el descubrimiento de servicios y versiones que tienen cada una de ellas, con vistas a encontrar “la gacela herida” de la compañía de la que habla tanto Chema Alonso en sus conferencias. Entre las técnicas más relevantes y comúnmente utilizadas para obtener información de una compañía están:
• El uso y abuso de consultas DNS.
• Datos de los Registros Regionales de Internet (RIRs)
• Información de dominios (whois)
Si somos capaces de gestionar la información obtenida durante el footprinting de una compañía en distintos momentos temporales, su valor será mucho mayor ya que aquellos elementos nuevos serán los susceptibles de disponer de vulnerabilidades no gestionadas.

Uso y abuso de consultas DNS

Los servidores DNS no permiten más consultas que las reflejadas en la propia definición del DNS [RFC-1035], lo cual impide búsquedas inversas con el fin de cruzar datos. Para ejecutar dichas búsquedas inversas es necesario utilizar servicios de terceros, como el servicio robtex.com o dnsdumpster.com ya que es requisito tener toda la información indexada previamente para poder saltarse las restricciones de consultas DNS no definidas.

Figura 3: Servicio DNSDumpster

Mediante estos servicios de consultas DNS se buscan todos los dominios y subdominios de una compañía, utilizando para ello distintos métodos complementarios entre sí.
• NS compartido: dado el host de un servidor de nombres conocido, identificar que otros dominios aloja.
• MX compartido: dado el host de un servidor de correo electrónico de entrada, detectar que otros dominios lo comparten.
• SOA compartido: dado el correo electrónico del registro SOA, buscar que otros dominios usan el mismo correo.
• Dominios que apuntan a la misma IP: dada una dirección IP detectar que otros dominios apuntan (registro A) a esa misma dirección IP.
• Subdominios: buscar todos los subdominios existentes, ya sea porque están indexados en la web y son conocidos o porque se buscan mediante fuerza bruta.
Herramientas como FOCA hacen uso intensivo de esta explotación del DNS, buscando también los registros SRV, los Primary Master, haciendo PTR escaningescaneo con Robtex de registros PTR, registros TXT que delatan los servicios de correo, y hasta el análisis de la caché de los servidores DNS, etcétera.

Figura 4: Módulo de DNS Cache Snooping en FOCA

Hacer un uso abusivo de las consultas y opciones de los servicios DNS puede llegar a servir hasta para hacer un fingerprinting del software de los propios servidores DNS, como se explica en este artículo. Todas estas técnicas son también usadas en los módulos de DNSRecon que viene dentro de la distribución para pentesting Kali Linux.

Datos de los Registros Regionales de Internet

Los Registros Regionales de Internet son los organismos encargados de asignar y gestionar el direccionamiento IP en Internet. Están divididos por zonas geográficas, RIPE para Europa, ARIN para América del Norte, APNIC para Asia y Oceanía, LACNIC para América Latina, y AfriNIC para África.

Figura 5: Registros Regionales de Internet

Consultando estas bases de datos es posible identificar los rangos que tiene asignados una compañía, ya sea preguntando por una dirección IP para obtener el rango al que pertenece o haciendo la consulta sobre un nombre de compañía para obtener todos los rangos de los que dispone.

Figura 6: Uso de operador net: en Shodan

Estos datos pueden ser cruzados después con los motores de búsqueda, y hacer un poco de hacking con buscadores con Google o Shodan, para haciendo uso de los comodines en Google o el NetRange en Shodan, cualificar los servidores que ya han sido descubiertos por los bots de estos buscadores dentro del rango de la empresa.

Información de dominios (whois)

Cada vez que se compra un dominio nuevo, el registrador almacena en su propia base de datos información del propietario, como son los correos electrónicos del personal “administrativo”, “técnico” y “registrante” o la información de los servidores DNS que se encargarán de su resolución.

Estos datos son usados para hacer búsquedas inversas, es decir, dado un correo electrónico conocido de un dominio, encontrar otros dominios registrados con la misma dirección. Para este tipo de consultas hay servicios online como whoisology.com o viewdns.info

Figura 7: Servicio de ViewDNS.info

Además, se pueden utilizar los servicios avanzados que muestran no son los datos actuales en las bases de datos, sin los datos de los registros whois históricos en herramientas como whois.ws o domaintools.

Figura 8: Datos del registro Whois de Apple en 2009 y 2013 (derecha)

Juntando todos estos datos, es posible obtener y cruzar información de muchas fuentes que a día de hoy no están cruzadas.

Estado del arte de las herramientas de footprinting

En la actualidad ya existen decenas de herramientas para llevar a cabo el footprinting de forma manual y también de forma automática. Algunas son pequeñas utilidades y otras son grandes proyectos. La gran mayoría de estas aplicaciones utilizan servicios de terceros y se alimentan de la información que estos les proveen.

Si observamos las utilidades más significativas, ninguna de ellas tiene como único objetivo llevar a cabo el footprinting y abarcan tareas mucho más complejas como el descubrimiento de vulnerabilidades, la inteligencia de fuentes abiertas (OSINT) o la investigación de información relacionada a una IP, como por ejemplo el análisis del origen de un malware. Entre algundas de las utilidades más significativas que ya conocemos, podemos destacar las siguientes (aunque hay muchas más y cualquiera que dejes en los comentarios será bienvenida)
FOCA: herramienta que permite obtener el direccionamiento y dominios de una compañía, además de algunas vulnerabilidades y metadatos. Su método de uso es prácticamente automático. Si no has visto esta charla en DefCON sobre FOCA, toca verla hoy - además es un plus ver a un Chema Alonso de hace 8 años sin gorro dando una conferencia -

Figura 9: [2008] The FOCA Strikes Back

Spiderfoot: utilidad que obtiene información de decenas de fuentes distintas y modulables, muy activa y extensivamente utilizada. Su uso también es automático.
Maltego: aplicación gratuita y comercial que permite llevar a cabo investigaciones o footprintings. Representa gráficamente los resultados pero está orientado a un uso manual y mucho más exhaustivo. Es una plataforma de investigación completa que puede usarse para cualquier tarea de investigación. Los datos de las apps que recoge la base de datos TACYT (Direcciones IP, URLs y direcciones de e-mail) también se pueden integrar con la herramienta.
Figura 10: Integración de datos de Tacyt en Maltego

La complejidad de las plataformas tecnológicas y cómo se relaciona la información DNS, con la información de empleados y con otros datos de la compañía, puede provocar que estas herramientas automáticas, mezclen datos, confundan e interpreten erróneamente las respuestas, dando lugar siempre a la necesidad de revisar manualmente los datos obtenidos. Estas situaciones se dan por ejemplo en los siguientes casos:
• Un empleado usa su correo profesional para registrar un dominio privado.
• La compañía usa un hosting compartido con otras empresas.
• El uso de redes CDN, con configuraciones compartidas entre empresas y configuraciones DNS complejas.
• Una empresa de nombre similar tiene información en un RIR.
Finalmente, tras realizar un estudio previo, identificamos en este proyecto que se necesitaba aportar nuevas ideas en cuanto a vectores de footprinting mediante un sistema que estuviera focalizado única y exclusivamente en este objetivo de descubrimiento de activos de una compañía.

También es por todos sabido, que la cantidad de falsos positivos de las herramientas actuales es proporcional al nivel de automatización de la herramienta, por lo que era necesario pensar en un automatismo controlado de tal forma que si un analista de inteligencia utilizara el proyecto, le fuera sencillo podar los árboles de búsqueda para minimizar dichos falsos positivos. En las siguientes entradas abordaremos tanto los nuevos vectores de footprinting como la solución propuesta para realizar dicho proyecto.

***************************************************************************************************
- Odin Parte 1: Técnicas y Herramientas para footprinting
- Odin Parte 2: Las búsquedas inversas a implementar
- Odin Parte 3: El Big Data y el Servicio de investigación
***************************************************************************************************

Autores: Elías Grande (3grander) Alejandro Ramos (@aramosf) escritor de "Hacker Épico"

1 comentario: