Exploits web: qué son y cómo defenderse (Parte 1)

Publicado: febrero 18, 2023

Cómo bloquear sitios peligrosos o dañinos de muchas formas

Improving Internet security using FlashStart, Understanding Internet Security

Queríamos dedicar un espacio amplio al tema de “Web Exploit”, un tema que todo gerente de TI debería dominar con familiaridad; por ello, publicaremos dos artículos complementarios.

Protección DNS de última generación, totalmente basada en la nube y en la inteligencia artificial, y fácil de activar.

Vulnerabilidades, exploits web, parches

Para entender qué son los exploits web y para qué se utilizan, es importante comenzar con el concepto de “vulnerabilidad”, que, en cierto sentido, es el factor habilitante para el exploit y permite que este se use. Por lo tanto, vulnerabilidad y exploit están estrechamente relacionados: para que un exploit web actúe debe existir una o más vulnerabilidades.

Las vulnerabilidades (también llamadas “bugs”) son las debilidades encontradas dentro del software: cada software es, por definición, imperfecto, precisamente porque está creado por seres humanos. Para dar una idea de la magnitud: el sistema operativo Microsoft Windows contiene más de 50 millones de líneas de código, el conjunto de todos los servicios de Google, hasta 40 veces más que Google (2 mil millones de líneas).

Es inevitable que dentro de un software tan complejo se escondan algunos fallos, más o menos graves. Estos “fallos” en la seguridad de un programa se denominan, de hecho, vulnerabilidades y pueden explotarse para llevar a cabo un ataque al sistema informático. Prácticamente todos los ataques utilizan vulnerabilidades (ya sean del sistema informático o del factor humano) para entrar en el sistema.

Para entender la importancia que puede tener – o no tener – una vulnerabilidad, debemos evaluar qué tan explotable es realmente. En otras palabras, una vulnerabilidad supone un riesgo solo si la amenaza es capaz de explotarla para ejecutar un ataque.

En realidad, no todas las vulnerabilidades pueden explotarse para la distribución de malware. Algunas pueden no ser explotables porque los sistemas de seguridad impiden que alguien las use, o su explotación puede ser demasiado costosa en comparación con los resultados que se obtendrían.

Una vulnerabilidad aún no descubierta o que solo pocos conocen, pero desconocida para los desarrolladores de software (que entonces tuvieron “cero días” para solucionarla), se llama “Vulnerabilidad de Día Cero.” Estas son las más temidas porque si un atacante -y solo él- lo sabe, tendría en sus manos un arma capaz de causar daños graves. Los exploits de día cero aprovechan precisamente estos fallos.

Cuando la vulnerabilidad se hace pública, se le llama “n-day” (día n), y, en este momento, generalmente se repara mediante una actualización de software. Dicha actualización de seguridad se denomina “parche“. Cuando el parche está disponible (por parte del fabricante del software), la vulnerabilidad puede quedar neutralizada, pero solo si el parche se instala, y esto -como veremos- puede no suceder, dejando el sistema aún vulnerable.

Las vulnerabilidades conocidas se clasifican como Common Vulnerabilities and Exposures, abreviado como CVE (“vulnerabilidades y exposiciones comunes”). La Corporación Mitre, una agencia financiada por los Centros de Investigación y Desarrollo Financiados Federalmente (FFRDC) del Departamento de Seguridad Nacional de EE. UU., mantiene actualizada esta clasificación.

Cada vulnerabilidad se cataloga en el mencionado sitio de MITRE con la clasificación definida como: CVE – año – número secuencial.

Por ejemplo: CVE-2019-0708 es la famosa vulnerabilidad que afecta al Protocolo de Escritorio Remoto (RDP) de Windows, que puede explotarse mediante un ataque de Ejecución Remota de Código (RCE) proveniente del exploit web Bluekeep, del cual hablaremos más adelante.
Las vulnerabilidades se clasifican según el nivel (puntuación) de gravedad.

Uno de los más utilizados es el Sistema Común de Puntuación de Vulnerabilidades (CVSS). Este es un método para identificar las principales características de una vulnerabilidad y producir una puntuación numérica que refleja su gravedad. La puntuación numérica se puede traducir luego en una representación cualitativa (como baja, media, alta o crítica) para ayudar a las organizaciones a evaluar y priorizar adecuadamente sus procesos de gestión de vulnerabilidades.

CVSS es ahora un estándar público utilizado por organizaciones de todo el mundo. Su uso por parte de las agencias estadounidenses fue recomendado por el Instituto Nacional de Estándares y Tecnología (NIST) en “NIST Special Publication (SP) 800-51, Use of the CVE Vulnerability Naming Scheme”, que se publicó inicialmente en 2002.

A continuación, hemos reproducido la tabla CVSS v3.0 Ratings, tomada del sitio NVD del NIST, donde se puede observar que el nivel de gravedad de una vulnerabilidad puede oscilar entre una puntuación de 0.0 hasta 10.0 para las más críticas.


En el mismo sitio también está disponible una práctica Calculadora del Sistema Común de Puntuación de Vulnerabilidades para calcular la puntuación.

Un Exploit es un código (programa) creado para explotar una vulnerabilidad con el fin de llevar a cabo un ataque a un sistema informático: la “explotación” informática es precisamente el aprovechamiento de una vulnerabilidad.

Si el exploit se crea para una vulnerabilidad de día cero, estamos hablando de exploits de día cero. Estos son obviamente los más temidos porque todavía no existe un parche que haya cerrado esa vulnerabilidad.

Solo el atacante ha descubierto esa vulnerabilidad, y solo él sabe cómo explotarla. Para responder al ataque, el desarrollador de software debe crear y lanzar un parche, que podrá proteger solo a quienes lo instalen, obviamente solo después de su lanzamiento y después de que la vulnerabilidad se haya hecho pública.

Es precisamente por esto que las vulnerabilidades de día cero pueden tener un enorme valor comercial: las más valiosas se cotizan hasta en 2.5 a 3 millones de dólares. Podemos ver esto en el sitio web de la empresa Zerodium, fundada por Chaouky Bekrar, quien anteriormente creó Vupen y que cotiza una vulnerabilidad de cero clics para Android hasta en 2.5 millones de dólares.

Hay muchas empresas que -con mayor o menor transparencia- comercian con estas vulnerabilidades.
Entre ellas se encuentra Crowdfense, una empresa con sede en Dubái liderada por el italiano Andrea Zapparoli Manzoni (miembro de Clusit), que lanzó su primer “Programa de Recompensas por Errores (Bug Bounty Program)” en abril de 2018, asignando un presupuesto de 10 millones de dólares para comprar vulnerabilidades de día cero. En 2019, el programa se amplió con 15 millones de dólares adicionales.

El precio reconocido por cada envío individual de vulnerabilidad varía entre 100.000 y 3 millones de dólares estadounidenses. El programa está dirigido a investigadores de software y tiene principalmente como clientes a la policía, los servicios de inteligencia y los gobiernos. El propósito declarado de Crowdfense es hacer que el mercado de compra y venta de vulnerabilidades y exploits sea transparente y legal.

Protección DNS de última generación, totalmente basada en la nube y en la inteligencia artificial, y fácil de activar.

Kits de exploits

El mercado de exploits web se ha industrializado y es cada vez más articulado. Los kits de exploits han surgido: son herramientas de software que permiten automatizar la explotación de una vulnerabilidad y ejecutar un código malicioso.

Debido a su naturaleza altamente automatizada, los kits de exploits se han convertido en uno de los métodos más populares para distribuir malware masivo o herramientas de acceso remoto (RAT) por parte de grupos criminales, reduciendo la barrera de entrada para los atacantes.

Los creadores de kits de exploits ofrecen estos programas en la Web y, especialmente, en la Darkweb, junto con una interfaz de gestión y un conjunto de vulnerabilidades explotables, además de un conjunto de funciones que hacen que los ciberataques sean sencillos y efectivos y, en la mayoría de los casos, también automatizados.

Por lo tanto, hoy en día convertirse en ciberdelincuente es fácil, incluso si no se tienen grandes habilidades técnicas: se pueden “alquilar” kits de exploits de las plataformas que los gestionan: este es el fenómeno del Cibercrimen como servicio.

Entre los kits de exploits históricos y más famosos podemos mencionar: Angler, Neutrino, Nuclear. Estos ya están desactualizados, pero tuvieron una historia importante en años anteriores y a menudo se usaron para propagar ransomware.

Muchos kits de exploits web están diseñados para explotar vulnerabilidades en programas específicos: el muy atacado Adobe Flash Player, un complemento del navegador, ampliamente utilizado hasta hace unos años y conocido por ser una “mina” de vulnerabilidades, que fueron explotadas, por ejemplo, por Neutrino (¡y más!). Afortunadamente, desde finales de 2020, el propio Adobe lo ha abandonado.

Ahora que Flash ya no está en uso, y los navegadores modernos admiten actualizaciones automáticas (¡el navegador más popular, Chrome, recibe un promedio de una actualización por semana!), los kits de exploits son en general menos efectivos.

A pesar de que las medidas de seguridad han mejorado, especialmente en lo que respecta a la navegación web, algunos kits de exploits web siguen siendo herramientas utilizadas para el cibercrimen.
Veamos un ejemplo de un exploit en acción en un ataque denominado “drive-by-download” (o “descarga al paso”):

  • El exploit comienza a partir de un sitio web comprometido. La página comprometida desviará el tráfico web hacia otra página. Dentro de la página de destino hay un código (inyectado por el atacante que comprometió el sitio) que perfila el dispositivo de la víctima en busca de aplicaciones basadas en navegador vulnerables. Si el dispositivo está completamente parcheado y actualizado, el exploit se detiene. Si, en cambio, hay vulnerabilidades, el sitio web comprometido redirige silenciosamente el tráfico de red hacia el exploit.
  • El exploit utiliza una aplicación vulnerable para ejecutar malware en secreto en un host. Las aplicaciones más atacadas son Adobe Flash Player, Java Runtime Environment y Microsoft Silverlight. También puede usar el navegador web: el exploit web se envía como código dentro del tráfico web.
  • Si el exploit tiene éxito, envía una carga útil (payload) para infectar el host. La carga útil puede ser un descargador de archivos que recupera otro malware o el malware en sí. En kits de exploits más sofisticados, la carga útil se envía a través de la red como un binario cifrado que, una vez que llega al host de la víctima, se descifra y se ejecuta. La carga útil más común hoy en día es el ransomware, pero hay muchas otras, incluyendo malware de botnets, infostealers y troyanos bancarios.
  • En conclusión, el exploit web es la herramienta encargada de ser el portador del ataque real (payload).

Exploits web: algunos casos famosos y dónde encontrarlos

Revisemos la historia de algunos exploits web famosos. Comenzaremos con algunos casos históricos y ahora inactivos.

Neutrino fue uno de los kits de exploits más populares, comenzando en 2016. Explotaba principalmente vulnerabilidades de Flash conocidas como CVE-2016-4117 y CVE-2016-1019. Se utilizó como vector para propagar algunos tipos populares de ransomware como Crypwall, Cerber y Locky.

Angler, además de las crónicas vulnerabilidades de Flash, explotó las de Microsoft Silverlight, como CVE-2016-1034. Este también se utilizó como vector para propagar ciertos tipos de ransomware.

Veamos ahora algunos de los exploits web más recientes y famosos responsables de ataques históricos.

Protección DNS de última generación, totalmente basada en la nube y en la inteligencia artificial, y fácil de activar.

En cuestión de solo unos días, el ransomware WannaCry golpeó en 150 países de todo el mundo, con más de 300.000 ataques detectados. Uno de los países más afectados fue el Reino Unido, donde WannaCry hizo colapsar al menos veinticinco hospitales y puso en crisis al Servicio Nacional de Salud (NHS).

La peculiaridad de WannaCry, en comparación con otros ransomware, fue precisamente el uso del exploit EternalBlue, que aprovechaba una vulnerabilidad en SMBv1 (un protocolo de compartición de archivos en red, Server Message Block, utilizado por los sistemas Microsoft Windows).

La vulnerabilidad clasificada como CVE-2017-0144 (MS17-010 por Microsoft) ya había sido cerrada por Microsoft el 14 de marzo de 2017.

Sin embargo, los sistemas Windows XP y Windows Server 2003 ya no estaban protegidos (fin del soporte a partir del 8 de abril de 2014) y, por lo tanto, sin parchear, fueron fácilmente vulnerados por EternalBlue.
El asunto WannaCry tiene un giro adicional: parece que EternalBlue fue creado por la NSA (la Agencia de Seguridad Nacional de EE. UU.).

Sin embargo, a la NSA le robaron el exploit un grupo de hackers llamado The Shadow Brokers (TSB), que lo difundió en la Darkweb, poniéndolo a disposición de los atacantes que lo utilizaron. En este caso, el ataque fue realizado por el grupo de hackers patrocinado por el estado de Corea del Norte conocido como Lazarus.

WannaCry y EternalBlue deberían habernos hecho comprender la importancia de las actualizaciones de seguridad. En cambio, -parece increíble- hoy, seis años después, hay sistemas que todavía tienen instalados Windows XP y Windows Server 2003 y que, por lo tanto, son fácilmente atacables mediante este exploit que sigue activo y en uso.

Otro exploit web popular es Bluekeep: aprovecha una vulnerabilidad de ejecución remota de código (RCE) identificada como CVE-2019-0708 que afecta a los Servicios de Escritorio Remoto de Windows y puede permitir a los hackers criminales acceder a una máquina vulnerable incluso sin autenticación.

Permite abrir una brecha en una LAN de modo que el malware pueda propagarse a todos los PC conectados.
Los sistemas operativos vulnerables a Bluekeep son: Windows Server 2003, Windows XP, Windows Vista, Windows 7, Windows Server 2008 y Windows Server 2008 R2, todos sistemas ya declarados obsoletos por Microsoft y que ya no se pueden actualizar.

Hoy en día, los exploits web y los kits de exploits están fácilmente disponibles -de pago y, a veces, incluso gratis- en foros de la dark web, pero no solo ahí.

Muchos de ellos son ahora de dominio público, y cualquiera puede descargarlos desde sitios web conocidos. Uno de los más populares es https://www.exploit-db.com/ donde también se pueden encontrar EternalBlue y Bluekeep listos para descargar… ¡y muchos otros!

La segunda parte del artículo saldrá pronto….

Puedes activar la protección FlashStart® Cloud en cualquier tipo de router y firewall para proteger dispositivos de escritorio, móviles y dispositivos IoT en redes locales.

Giorgio Sbaraglia

Information & Cyber Security Advisor