Llegamos a ustedes gracias a:



Reportajes y análisis

Herramientas OSINT: Encuentre información pública delicada

Antes de que lo hagan los hackers

[23/10/2019] Durante la década de 1980, los servicios militares y de inteligencia comenzaron a desviar algunas de sus actividades de recopilación de información de actividades encubiertas, como tratar de leer el correo de un adversario o intervenir sus teléfonos para descubrir secretos ocultos. En su lugar, se hizo un esfuerzo por buscar información útil que estuviera disponible gratuitamente, o incluso se publicara oficialmente.

El mundo en ese momento estaba cambiando, y aunque los medios sociales aún no habían hecho su aparición, había muchas fuentes -como periódicos y bases de datos disponibles al público- que contenían información interesante y a veces útil, especialmente si alguien sabía cómo conectar muchos puntos. Este tipo de espionaje se llamaba inteligencia de código abierto, o OSINT.

Cómo se utiliza OSINT en seguridad

Las mismas tácticas OSINT utilizadas para el espionaje, pueden aplicarse ahora a la ciberseguridad. La mayoría de las organizaciones cuentan con amplias infraestructuras de cara al público que abarcan muchas redes, tecnologías, servicios de alojamiento y espacios de nombres. La información puede almacenarse en los escritorios de los empleados, en servidores heredados, en dispositivos BYOD propiedad de los empleados, en la nube, incrustados dentro de dispositivos como webcams, o incluso ocultos en el código fuente de aplicaciones y programas activos.

De hecho, el personal de TI de las grandes empresas casi nunca conoce todos los activos de su empresa, sean públicos o no. Agregue el hecho de que muchas organizaciones también poseen o controlan indirectamente varios activos adicionales -tales como sus cuentas de medios sociales- y hay potencialmente una gran cantidad de información ahí fuera que podría ser peligrosa en las manos equivocadas.

Ahí es donde entra en juego la nueva generación de herramientas OSINT. En su mayor parte, cumplen tres funciones, aunque algunas tienden a concentrarse en áreas específicas.

1. Descubrir los bienes públicos: Su función más común es ayudar a los equipos de TI a descubrir los activos públicos, y mapear la información que cada uno posee y que podría contribuir a una posible superficie de ataque. En general, no intentan buscar cosas como vulnerabilidades de programas o realizar pruebas de penetración. Su trabajo principal es registrar la información que alguien puede encontrar públicamente sobre o acerca de los activos de la empresa, sin recurrir a la piratería informática.

2. Descubrir información relevante fuera de la organización: Una función secundaria que realizan algunas herramientas OSINT es la búsqueda de información relevante fuera de una organización, como por ejemplo en publicaciones de medios sociales o en dominios y ubicaciones que podrían estar fuera de una red estrechamente definida. Las organizaciones que han hecho muchas adquisiciones, trayendo consigo los activos de TI de la empresa con la que se están fusionando, podrían encontrar esta función muy útil. Dado el crecimiento extremo y la popularidad de los medios sociales, buscar información sensible fuera del perímetro de la compañía es probablemente útil para casi cualquier grupo.

3. Recopilar la información descubierta en una forma procesable: Finalmente, algunas herramientas de OSINT ayudan a recopilar y agrupar toda la información descubierta en inteligencia útil y procesable. La ejecución de un análisis OSINT para una gran empresa puede producir cientos de miles de resultados, especialmente si se incluyen activos internos y externos. Reunir todos esos datos, y ser capaz de tratar primero los problemas más graves, puede ser de gran ayuda.

Principales herramientas OSINT

El uso de la herramienta OSINT adecuada para su organización puede mejorar la ciberseguridad al ayudar a descubrir información sobre su empresa, empleados, activos de TI y otros datos confidenciales que podrían ser explotados por un atacante. Descubrir esa información primero y luego ocultarla o eliminarla, podría reducir todo -desde la suplantación de identidad hasta los ataques de denegación de servicio.

A continuación (sin orden particular) se presentan algunas de las principales herramientas utilizadas para OSINT, en qué áreas se especializan, por qué son únicas y diferentes entre sí, y qué valor específico pueden aportar a los esfuerzos de ciberseguridad de una organización.

1. Maltego: Maltego se especializa en descubrir las relaciones entre personas, empresas, dominios e información de acceso público en Internet. También es conocida por tomar la cantidad -a veces enorme- de información descubierta, y graficarla en tablas y gráficos fáciles de leer. Los gráficos hacen un buen trabajo al tomar inteligencia bruta y hacerla procesable, y cada gráfico puede tener hasta 10 mil puntos de datos.

El programa Maltego funciona automatizando la búsqueda de diferentes fuentes públicas de datos, de modo que los usuarios pueden hacer clic en un botón y ejecutar múltiples consultas. Un plan de búsqueda se llama "acción de transformación" por el programa, y Maltego viene con bastantes por defecto, que incluyen fuentes comunes de información pública como los registros DNS, los registros whois, los motores de búsqueda y las redes sociales. Dado que el programa utiliza interfaces públicas para realizar sus búsquedas, es compatible con casi cualquier fuente de información que tenga una interfaz pública, por lo que es fácil añadir más búsquedas a una acción de transformación o crear una nueva.

Una vez recopilada la información, Maltego realiza conexiones que pueden desenmascarar las relaciones ocultas entre nombres, direcciones de correo electrónico, alias, empresas, sitios web, propietarios de documentos, afiliaciones y otra información que pueda resultar útil en una investigación, o para buscar posibles problemas futuros. El programa se ejecuta en Java, por lo que funciona con plataformas Windows, Mac y Linux.

Existe una versión gratuita del programa con características limitadas llamada Maltego CE. Las versiones de escritorio de Maltego XL cuestan 1.999 dólares por instancia. Las instalaciones de servidores para uso comercial a gran escala comienzan en 40 mil dólares, y vienen con un programa de entrenamiento completo.

2. Recon-ng: Los desarrolladores que trabajan en Python tienen acceso a una poderosa herramienta en Recon-ng, que está escrita en ese idioma. Su interfaz se parece mucho al popular Metasploit Framework, que debería reducir la curva de aprendizaje para aquellos que tienen experiencia con él. También tiene una función de ayuda interactiva, de la que carecen muchos módulos de Python, por lo que los desarrolladores deberían ser capaces de captarla rápidamente.

Recon-ng automatiza las actividades de OSINT que consumen mucho tiempo, como cortar y pegar. Recon-ng no afirma que toda la recolección de OSINT puede ser conducida por su herramienta, pero puede ser usada para automatizar muchos de los tipos más populares de recolección, dejando más tiempo para las cosas que aún deben ser hechas manualmente.

Diseñada para que incluso los desarrolladores más jóvenes de Python puedan crear búsquedas de datos disponibles públicamente y obtener buenos resultados, tiene un marco de trabajo muy modular con una gran cantidad de funciones incorporadas. Tareas comunes como la estandarización de la salida, la interacción con bases de datos, la realización de solicitudes web, y la gestión de claves de API, forman parte de la interfaz. En lugar de programar Recon-ng para realizar búsquedas, los desarrolladores simplemente eligen qué funciones quieren que realice y construyen un módulo automatizado en pocos minutos.

Recon-ng es gratuita y de código abierto. El wiki disponible incluye información completa para empezar a utilizar la herramienta, así como las mejores prácticas para utilizarla.

3. theHarvester: Una de las herramientas más simples de utilizar en esta lista, theHarvester está diseñada para capturar información pública que existe fuera de la red de una organización. También puede encontrar cosas incidentales en las redes internas, pero la mayoría de las herramientas que utiliza están orientadas hacia el exterior. Sería eficaz como paso de reconocimiento antes de las pruebas de penetración o ejercicios similares.

Las fuentes que theHarvester utiliza incluyen motores de búsqueda populares como Bing y Google, así como otros menos conocidos como dogpile, DNSdumpster y el motor de metadatos Exalead. También utiliza Netcraft Data Mining y el AlienVault Open Threat Exchange. Incluso puede tocar el motor de búsqueda de Shodan para descubrir puertos abiertos en hosts descubiertos. En general, la herramienta reúne correos electrónicos, nombres, subdominios, IPs y URLs.

TheHarvester puede acceder a la mayoría de las fuentes públicas sin necesidad de preparativos especiales. Sin embargo, algunas de las fuentes utilizadas requieren una clave API. También debes tener Python 3.6 o superior en su entorno.

Cualquiera puede obtener theHarvester en GitHub. Se recomienda usar un virtualenv para crear un entorno aislado de Python cuando lo clone desde allí.

4. Shodan: Shodan es un motor de búsqueda dedicado que se utiliza para encontrar información sobre dispositivos -como los miles de millones que componen la Internet de las cosas (IoT)- que no se pueden buscar con frecuencia, pero que hoy en día se encuentran en todas partes. También se puede utilizar para encontrar cosas como puertos abiertos y vulnerabilidades en sistemas específicos. Algunas otras herramientas de OSINT como theHarvester lo utilizan como fuente de datos, aunque la interacción profunda con Shodan requiere una cuenta pagada.

El número de lugares que Shodan puede monitorear y buscar como parte de un esfuerzo de OSINT es impresionante. Es uno de los pocos motores capaces de examinar la tecnología operativa (OT), como la que se utiliza en los sistemas de control industrial, en lugares como las centrales eléctricas y las instalaciones de fabricación. Cualquier esfuerzo de recolección de OSINT en industrias que despliegan tanto tecnología de la información como OT, perdería una gran parte de esa infraestructura sin una herramienta como Shodan.

Además de los dispositivos de IoT -como cámaras, sensores de edificios y dispositivos de seguridad-, Shodan también puede ser utilizada para ver cosas como bases de datos -para ver si alguna información es accesible al público a través de rutas distintas a la interfaz principal. Incluso puede funcionar con videojuegos, descubriendo cosas como Minecraft o Counter-Strike: Servidores globales ofensivos que se esconden en redes corporativas donde no deberían estar, y qué vulnerabilidades generan.

Cualquiera puede adquirir una licencia Freelancer y utilizar Shodan para escanear hasta 5.120 direcciones IP al mes, con una devolución de hasta un millón de resultados. Eso cuesta 59 dólares al mes. Los usuarios serios pueden comprar una licencia corporativa, que proporciona resultados ilimitados y escaneo de hasta 300 mil IPs mensuales. La versión corporativa, que cuesta 899 dólares al mes, incluye un filtro de búsqueda de vulnerabilidades y soporte premium.

5. Metagoofil: Otra herramienta disponible gratuitamente en GitHub, Metagoofil está optimizada para extraer metadatos de documentos públicos. Metagoofil puede investigar casi cualquier tipo de documento al que pueda acceder a través de canales públicos, incluyendo .pfd, .doc, .ppt, .xls y muchos otros.

La cantidad de datos interesantes que Metagoofil puede reunir es impresionante. Las búsquedas devuelven cosas como los nombres de usuario asociados con los documentos descubiertos, así como nombres reales si están disponibles. También mapea las rutas de cómo llegar a esos documentos, lo que a su vez proporcionaría cosas como nombres de servidores, recursos compartidos, e información del árbol de directorios sobre la organización anfitriona.

Todo lo que Metagoofil encuentra sería muy útil para un hacker, que podría usarlo para hacer cosas como lanzar ataques con contraseña por fuerza bruta, o incluso correos electrónicos de phishing. Las organizaciones que quieren protegerse a sí mismas podrían tomar la misma información recopilada por el OSINT y protegerla u ocultarla antes de que un actor malicioso pueda tomar la iniciativa.

6. searchcode: Para aquellos que necesitan profundizar en la compleja matriz de la recopilación de OSINT, searchcode es un motor de búsqueda altamente especializado que busca inteligencia útil dentro del código fuente. Este potente motor es sorprendentemente el trabajo de un solo desarrollador.

Debido a que es necesario añadir un repositorio de código al programa antes de que se pueda realizar una búsqueda, el código de búsqueda se extiende a ambos lados de la línea entre una herramienta OSINT y otra diseñada para encontrar cosas que no sean información pública. Sin embargo, todavía puede ser considerada una herramienta OSINT, porque los desarrolladores pueden usarla para descubrir problemas asociados con tener información sensible accesible dentro del código, ya sea en aplicaciones en ejecución o en aquellas que aún están en desarrollo. En este último caso, esos problemas podrían solucionarse antes de su despliegue en un entorno de producción.

Aunque cualquier cosa que involucre código va a requerir más conocimiento que, digamos, una búsqueda en Google, el código de búsqueda hace un gran trabajo al hacer que su interfaz sea tan fácil de usar como sea posible. Los usuarios simplemente escriben en sus campos de búsqueda, y el código de búsqueda devuelve los resultados relevantes con los términos de búsqueda resaltados en las líneas de código. Las búsquedas sugeridas incluyen nombres de usuario, fallas de seguridad como llamadas eval $_GET, funciones activas no deseadas como re.compile, y caracteres especiales que pueden ser usados para lanzar ataques de inyección de código.

La mayoría de las veces, los resultados devueltos por el código de búsqueda son autoexplicativos. Sin embargo, es posible hacer clic en esos resultados para encontrar información más profunda o problemas de concordancia si es necesario.

Cerrar las lagunas de la inteligencia de código abierto

No todos los hackers o intrusiones implican amenazas avanzadas persistentes o penetraciones profundas y sofisticadas. Los hackers, como todos los demás, tomarán el camino más fácil hacia sus objetivos. No hay necesidad de tratar de romper la ciberseguridad a través de muchos meses de esfuerzo, si la información que quieren está disponible a través de un canal de acceso público. Como mínimo, la información confidencial puede utilizarse como un atajo para obtener credenciales válidas, o para ayudar a planificar una intrusión eficaz con menos esfuerzo o riesgo.

Las herramientas OSINT pueden ayudar a las organizaciones a controlar qué información está disponible sobre ellas, sus redes, datos y usuarios. Encontrar esa información rápidamente es clave, ya que permitiría su eliminación antes de que alguien pueda explotarla. Estas herramientas pueden ser un gran impulso durante la carrera más crítica.