En una entrada anterior ya se ha tratado el tema de las vulnerabilidades que hay en algunos programas informáticos y en los sistemas operativos.
Una de las herramientas de las que disponen tanto los expertos de seguridad informática (o ciberseguridad) como los ciberdelincuentes es el explotador ("exploit", en inglés). Los primeros lo utilizan para realizar pruebas en equipos informáticos y/o en sus redes para buscar vulnerabilidades en todo el sistema y poder arreglarlas; los segundos lo emplean para lo mismo que los anteriores, mas su finalidad es la de aprovecharse de estas, o explotarlas, para poder manejar a su antojo parte o la totalidad de un sistema informático.
Una de las herramientas de las que disponen tanto los expertos de seguridad informática (o ciberseguridad) como los ciberdelincuentes es el explotador ("exploit", en inglés). Los primeros lo utilizan para realizar pruebas en equipos informáticos y/o en sus redes para buscar vulnerabilidades en todo el sistema y poder arreglarlas; los segundos lo emplean para lo mismo que los anteriores, mas su finalidad es la de aprovecharse de estas, o explotarlas, para poder manejar a su antojo parte o la totalidad de un sistema informático.
En el ámbito de la informática, un explotador es un fragmento de software, fragmento de datos o secuencia de comandos o acciones, utilizado con el fin de aprovechar una vulnerabilidad de seguridad de un sistema de información para conseguir un comportamiento no deseado del mismo. Entre estos comportamientos se encuentran, por lo general, la toma del control de un sistema, la concesión privilegios de administrador al intruso o el lanzamiento de un ataque de denegación de servicio (DoS o DDoS).
Su uso principal es como vector para la inyección de una carga útil ("payload", en inglés) que ofrezca al atacante algún tipo de acceso y/o control del equipo comprometido. Una carga útil puede ser utilizada por varios explotadores y un mismo explotador puede utilizar varias cargas útiles.
TIPOS
Según la forma en la que el explotador contacta con el software vulnerable, existen los siguientes tipos:
- Explotador remoto: Si utiliza una red de comunicaciones para entrar en contacto con el sistema víctima. Por ejemplo, puede usar otro equipo dentro de la misma red interna o tener acceso desde la propia Internet.
- Explotador local: Si para ejecutar el explotador se necesita tener antes acceso al sistema vulnerable. Por ejemplo, el explotador puede aumentar los privilegios del que lo ejecuta; este tipo de explotadores también puede ser utilizado por un atacante remoto que ya tiene acceso a la máquina local mediante un explotador del tipo anterior.
- Explotador en cliente: Aprovechan vulnerabilidades de aplicaciones que típicamente están instaladas en gran parte de las estaciones de trabajo de las organizaciones. Ejemplos típicos de este tipo de software son aplicaciones ofimáticas (p. ej. Microsoft Office, Open Office...), lectores de PDF (p. ej. Adobe Acrobat Reader), navegadores (p. ej. Internet Explorer, Firefox, Chrome, Safari), reproductores multimedia (p. ej. Windows Media Player, Winamp, iTunes). El explotador está dentro de ficheros interpretados por este tipo de aplicaciones y llega a la máquina objetivo por distintos medios (p. ej. mediante un correo o en una memoria USB). El archivo será usado por el programa y si no es detenido por ningún otro programa (p. ej. cortafuegos o antivirus) aprovechará la vulnerabilidad de seguridad. Las peculiaridades de este tipo de ataques son: Requieren la intervención del usuario del lado del cliente (por ejemplo, necesitan que se abra cierto archivo o que se pulse en cierto enlace); es un ataque asincrónico porque el momento en que se lanza no es el mismo en que se consigue ejecutar el explotador (ya que necesita la acción del usuario); se lanza a ciegas, no se sabe qué aplicaciones y versiones de esta utiliza el objetivo real.
También es posible realizar una clasificación en base a las motivaciones del atacante, o el propósito de su ataque, con lo que se tienen los siguientes tipos:
- Pruebas legítimas de vulnerabilidades en sistemas informáticos.
- Curiosidad.
- Obtención de fama personal.
- Obtención de algún beneficio personal.
- Espionaje.
DÍA 0
Las vulnerabilidades de Día Cero son las brechas de seguridad en el software desconocidas hasta el momento del ataque. Desde ese punto hasta que la vulnerabilidad es suprimida se entra en el momento en el que los piratas informáticos pueden explotarla para lograr el máximo impacto en programas, datos, ordenadores adicionales o en toda una red.
Así, los explotadores dirigidos contra ese tipo de vulnerabilidades se denominan explotadores día-cero ("zero-day exploits", en inglés), o ataques día-cero. Cuanto más masivo sea el ataque y menos días hayan transcurrido desde ese Día Cero, mayor será la probabilidad de que no se haya desarrollado ninguna solución o mitigación y los daños pueden ser más extensos. E, incluso, después de haber desarrollado la corrección, esos primeros días no todos los usuarios de software habrán podido aplicarla.
El caso de WannaCry fue paradigmático en este sentido: el programa malicioso se aprovechaba de un explotador de Windows desarrollado por la Agencia de Seguridad de Estados Unidos y revelado en las semanas previas por Wikileaks. Aunque los primeros días el problema fue corregido por Microsoft mediante una actualización, todos los equipos que no hubieran realizado la puesta al día los días posteriores seguían siendo vulnerables. La activación el lunes de estos equipos que no habían sido utilizados durante el fin de semana inició una segunda oleada de propagación.
ENTORNOS DE TRABAJO
Los entornos de trabajo ("frameworks", en inglés) para explotadores son paquetes software de apoyo que contienen módulos que ayudan para la construcción de explotadores. Estos programas permiten la reutilización del código, la estandarización de los explotadores y la simplificación del proceso de ataque. Ejemplos de este tipo de entornos de trabajo son Metasploit Framework (puede descargarse del siguiente enlace), Core Impact, xploitz o Inmunity Canvas.
Por otra parte, también pueden entenderse como entornos de trabajo algunos programas y sistemas operativos, normalmente virtuales, que se emplean para probar los explotadores, del que el más popular es Metaesploitable (sistema operativo de Linux que ha sido diseñado con el objetivo de ser vulnerado con sencillez y gracias a esto poder llevar a cabo cientos de pruebas de penetración para mejorar la seguridad y prevenir ataques a corto, mediano o largo plazo; puede descargarse en el siguiente enlace).
BASES DE DATOS
Las principales bases de datos de explotadores, donde también es posible descargarse este tipo de software, son:
- Exploit DB.
- Rapid7.
- CXSecurity.
- Vulnerability Lab.
- 0day.
- SecurityFocus.
- Packet Storm Security.
- Google Hacking Database (proyecto de Exploit DB que obtiene la información usando Google).
UNA AMENAZA OCULTA
Cuando un explotador se hace público, los autores del software afectado toman medidas: la vulnerabilidad se arregla (a menudo a través de un parche) y el explotador se vuelve inutilizable. Por esa razón algunos delincuentes informáticos, así como los piratas informáticos de agencias militares o servicios de inteligencia, no publican esas incursiones sino que las mantienen en privado para continuar explotándolas.
Muchos explotadores están diseñados para proporcionar acceso a un sistema informático como administrador o superusuario del mismo. Sin embargo, también es posible que los piratas informáticos utilicen varios explotadores diferentes para este mismo fin: primero para obtener acceso de bajo nivel, luego para escalar privilegios repetidamente hasta llegar al nivel administrativo más alto (también, a menudo, llamado "root").
Aguardo que la presente entrada haya sido interesante para el lector. Si es así, espero que éste la comente y/o la comparta, por favor.
No hay comentarios:
Publicar un comentario
Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.