exploit informático
Un exploit informático, o exploit, es un ataque a un sistema informático, especialmente uno que se aprovecha de una vulnerabilidad particular que el sistema ofrece a los intrusos. Usado como verbo, exploit se refiere al acto de realizar con éxito un ataque de este tipo.
Un exploit se aprovecha de una debilidad en un sistema operativo, una aplicación o cualquier otro código de software, incluidos complementos de aplicaciones o bibliotecas de software. Los propietarios del código suelen emitir una corrección, o parche, en respuesta. Los usuarios del sistema o aplicación son responsables de obtener el parche, que generalmente se puede descargar del desarrollador de software en la web, o puede ser descargado automáticamente por el sistema operativo o la aplicación que lo necesita. La falta de instalación de un parche para un problema determinado expone al usuario a un exploit informático y a la posibilidad de una brecha de seguridad.
Tipos de exploits informáticos
Los exploits de seguridad vienen en todas las formas y tamaños, pero algunas técnicas se utilizan con más frecuencia que otras. Algunas de las vulnerabilidades de seguridad basadas en la web más comunes incluyen ataques de inyección SQL, scripts entre sitios y falsificación de solicitudes entre sitios, así como abuso de código de autenticación roto o configuraciones erróneas de seguridad.
Los exploits de computadora se pueden clasificar de varias maneras diferentes, dependiendo de cómo funcionan los exploits y qué tipo de ataques son capaces de lograr. El tipo de exploit más conocido es el exploit de día cero, que aprovecha una vulnerabilidad de día cero. Una vulnerabilidad de día cero ocurre cuando una pieza de software, generalmente una aplicación o un sistema operativo, contiene una vulnerabilidad de seguridad crítica de la que el proveedor no es consciente. La vulnerabilidad solo se conoce cuando se detecta a un hacker explotando la vulnerabilidad, de ahí el término exploit de día cero. Una vez que se produce un exploit de este tipo, los sistemas que ejecutan el software quedan vulnerables a un ataque hasta que el proveedor lanza un parche para corregir la vulnerabilidad y el parche se aplica al software.
Los exploits informáticos se pueden caracterizar por el resultado esperado del ataque, como denegación de servicio, ejecución remota de código, aumento de privilegios, entrega de malware u otros objetivos maliciosos. Los exploits informáticos también pueden caracterizarse por el tipo de vulnerabilidad que se está explotando, incluidos los exploits de desbordamiento de búfer, inyección de código u otros tipos de vulnerabilidades de validación de entrada y ataques de canal lateral.
¿Cómo se producen los exploits?
Aunque los exploits pueden ocurrir de varias maneras, un método común es que los exploits se lancen desde sitios web maliciosos. La víctima puede visitar un sitio de este tipo por accidente, o puede ser engañada para que haga clic en un enlace al sitio malicioso dentro de un correo electrónico de phishing o un anuncio malicioso.
Los sitios web maliciosos utilizados para ataques informáticos pueden estar equipados con paquetes de exploits, conjuntos de herramientas de software que incluyen software malicioso que se puede usar para desencadenar ataques contra diversas vulnerabilidades del navegador desde un sitio web malicioso o desde un sitio web que ha sido pirateado. Estos ataques suelen dirigirse a software codificado en Java, navegadores sin parches o complementos del navegador, y se utilizan comúnmente para implementar malware en el ordenador de la víctima.
Los exploits automatizados, como los lanzados por sitios web maliciosos, a menudo se componen de dos componentes principales: el código de exploits y el código de shell. El código de explotación es el software que intenta explotar una vulnerabilidad conocida. El código de shell es la carga útil del exploit software software diseñado para ejecutarse una vez que el sistema objetivo ha sido violado. El código del shell recibe su nombre del hecho de que algunas de estas cargas útiles abren un shell de comandos que se puede usar para ejecutar comandos contra el sistema de destino; sin embargo, no todo el código del shell en realidad abre un shell de comandos.
Vulnerabilidades y exploits famosos
En los últimos años, se han utilizado muchos exploits de alto perfil para cometer violaciones de datos masivas y ataques de malware. En 2016, por ejemplo, Yahoo anunció que un hackeo que había ocurrido años antes había causado la filtración de datos de 1 mil millones de usuarios. Los atacantes obtuvieron acceso a las cuentas de correo electrónico de los usuarios porque las contraseñas estaban protegidas por MD5, que es un algoritmo de hash débil y obsoleto.
Uno de los exploits más conocidos en los últimos años es EternalBlue, que ataca una falla parcheada en el protocolo de bloque de mensajes de Windows Server. El exploit, que ha sido atribuido a la Agencia de Seguridad Nacional, fue hecho público por el grupo Shadow Brokers este año y luego utilizado por los actores de amenazas en los ataques de ransomware WannaCry y NotPetya.
Más recientemente, la firma de informes de crédito Equifax sufrió una brecha de datos masiva después de que los atacantes explotaran una vulnerabilidad crítica en el marco de Apache Struts, que se utilizó en una de las aplicaciones web de la compañía. Un parche fue lanzado a principios de este año para el defecto crítico, que estaba siendo explotado en la naturaleza, pero Equifax no actualizó su aplicación web hasta después de que se detectaran los atacantes.