El pirateo ético consiste en buscar vulnerabilidades y debilidades dentro del sistema de una organización, utilizando métodos y herramientas que los atacantes usarían (con permiso, por supuesto). Los exploits informáticos son programas especializados o fragmentos de código que se aprovechan de una vulnerabilidad de software o una falla de seguridad. Aquí, definiremos los exploits, exploraremos las consecuencias de los exploits en la seguridad informática y te mostraremos cómo una solución de ciberseguridad dedicada puede proteger tu computadora o dispositivo móvil contra ellos.
¿Qué es un exploit?
Un exploit es una pieza de software, datos o secuencia de comandos que se aprovecha de una vulnerabilidad para provocar un comportamiento no intencionado o para obtener acceso no autorizado a datos confidenciales.
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 del software en la web, o puede ser descargado automáticamente por el sistema operativo o la aplicación que lo necesite. No instalar un parche para un problema determinado expone al usuario a una vulnerabilidad de la computadora y a la posibilidad de una violación de la seguridad.
La definición de exploit incluye cualquier cosa, desde aplicaciones de software completas hasta cadenas de código y datos, hasta secuencias de comandos simples.
En otras palabras, un exploit es una herramienta que permite a un pirata informático aprovechar una vulnerabilidad de seguridad para sus propios fines. Si puede programarlo y aprovecha una vulnerabilidad de software o hardware, entonces es una vulnerabilidad de seguridad.
¿Cómo funcionan?
Los exploits de software no podrían existir sin una falla de diseño en el software al que apunta el exploit. Una vez que un pirata informático identifica este defecto, la vulnerabilidad, puede escribir un exploit informático que lo explote.
Muchos piratas informáticos utilizan exploits para distribuir malware. A continuación, se muestra un ejemplo de cómo podría funcionar un ataque de explotación de este tipo: estás navegando por Internet y llegas a un sitio web con un anuncio malicioso. Este anuncio se ve bien, pero en realidad está cargado con un kit de exploits que está escaneando tu computadora en busca de debilidades conocidas.
Si encuentra uno, el anuncio utilizará un ataque de explotación para acceder a tu computadora a través de esa vulnerabilidad de software o falla de seguridad. Luego, deslizará su malware directamente en tu sistema. Cuando se utilizan exploits para instalar malware, el malware se conoce como carga útil.
A nivel técnico, las vulnerabilidades cibernéticas no se consideran malware, ya que no tienen nada intrínsecamente malicioso. El peligro de un exploit proviene de lo que hace su usuario después de usarlo para infiltrarse en tu sistema. No es un ransomware ni un virus, pero los exploits se utilizan con frecuencia para distribuir malware en un ataque de varias etapas.
Una vez que se ha utilizado un exploit, a menudo los desarrolladores de software del sistema o software vulnerable lo conocen, y a menudo se corrige mediante un parche y se vuelve inutilizable.
Esta es la razón por la que muchos ciberdelincuentes, así como agencias militares o gubernamentales, no publican exploits en CVE, sino que optan por mantenerlos privados.
Cuando esto sucede, la vulnerabilidad se conoce como vulnerabilidad de día cero o exploit de día cero.
Un ejemplo famoso de una agencia gubernamental (la NSA) que elige mantener privada una vulnerabilidad de software es EternalBlue.
EternalBlue aprovechó las versiones heredadas del sistema operativo Microsoft Windows que usaban una versión desactualizada del protocolo Server Message Block (SMB).
Los ciberdelincuentes desarrollaron el gusano ransomware WannaCry que explotaba EternalBlue y se extendió a aproximadamente más de 200,000 computadoras en 150 países con daños que van desde cientos de millones a miles de millones de dólares antes de que se parcheara EternalBlue.
A pesar de que los desarrolladores de software emitieron un parche para reparar EternalBlue, esta vulnerabilidad conocida sigue siendo un gran riesgo de ciberseguridad debido a la mala adopción del parche por parte del usuario.
¿Para qué se usan?
Aunque las vulnerabilidades pueden ocurrir de varias formas, un método común es que las vulnerabilidades se inicien 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 malintencionados que se utilizan para exploits informáticos pueden estar equipados con paquetes de exploits, conjuntos de herramientas de software que incluyen software malintencionado que se puede utilizar para desencadenar ataques contra diversas vulnerabilidades del navegador desde un sitio web malintencionado o desde un sitio web que ha sido pirateado. Dichos ataques suelen tener como objetivo software codificado en Java, navegadores sin parches o complementos de navegador, y se utilizan comúnmente para implementar malware en la computadora 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 exploit y el código 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 diseñado para ejecutarse una vez que se ha violado el sistema objetivo. Este código recibe su nombre del hecho de que algunas de estas cargas útiles abren un shell de comandos que se puede utilizar para ejecutar comandos en el sistema de destino.
Un exploit muy usado actualmente es roblox. Es un programa diseñado por desarrolladores y entusiastas de la piratería cuando se trata de juegos. Este exploit puede permitir hacer cosas en el juego que normalmente no estarían permitidas o mal vistas, como aimbot (se fija en las cabezas / cuerpos de los jugadores para garantizar que cada golpe y no fallas sean muy poderosos), así como trucos voladores de paredes de súper salto dinero ilimitado y otras funciones interesantes.
Tipos de exploits
Existen distintos tipos de exploits que vamos a ver a continuación.
Remoto
Un exploit remoto es el que usa 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.
Local
Es un exploit local cuando para ejecutar el exploit se necesita tener antes acceso al sistema vulnerable. Por ejemplo el exploit puede aumentar los privilegios del que lo ejecuta. Este tipo de exploits también puede ser utilizado por un atacante remoto que ya tiene acceso a la máquina local mediante un exploit remoto.
Conocidos
Cuando alguien descubre una vulnerabilidad de software, a menudo alertará al desarrollador del software, quien luego puede corregir la vulnerabilidad de inmediato con un parche de seguridad. También pueden hacer correr la voz sobre la vulnerabilidad en Internet para advertir a otros. De cualquier manera, el desarrollador podrá responder y reparar la vulnerabilidad antes de que un exploit pueda aprovecharla.
Estos parches de seguridad se envían a los usuarios a través de actualizaciones de software, por lo que siempre debe instalar las actualizaciones tan pronto como se entere de ellas. Cualquier exploit que tenga como objetivo una vulnerabilidad ya parcheada se denomina exploit conocido, ya que todo el mundo conoce su correspondiente defecto de seguridad.
De día cero
A veces, las hazañas toman a todos por sorpresa. Cuando un pirata informático descubre una vulnerabilidad e inmediatamente crea un exploit para ella, se denomina exploit de día cero, porque el ataque de exploit ocurre el mismo día en que se encuentra la vulnerabilidad. En ese momento, el desarrollador se enteró de la vulnerabilidad durante «cero días».
Los ataques de explotación de día cero son muy peligrosos, porque no existe una solución obvia o inmediata para la vulnerabilidad. Solo el atacante ha descubierto la vulnerabilidad y solo él sabe cómo explotarla. Para responder al ataque, un desarrollador de software tiene que crear un parche, pero no podrá proteger a aquellos que ya han sido atacados.
Un exploit… ¿es malware?
Usados a menudo en conjunto, «malware» y «exploit» a veces se pueden confundir entre sí. Sin embargo, no son sinónimos y tienen varias distinciones claras.
El malware se refiere a un archivo, programa o cadena de código utilizado para actividades maliciosas, como dañar dispositivos, exigir un rescate y robar datos confidenciales. El malware generalmente se entrega a través de una red, aunque también se puede entregar a través de medios físicos, y se clasifica según la carga útil o la acción maliciosa que realiza. Las clasificaciones de malware incluyen gusanos, troyanos, botnets , spyware y virus.
Aunque cada cepa de malware se comporta de forma única, el comportamiento de propagación automatizado se asocia más comúnmente con gusanos. La mayor parte del malware actual se envía por correo electrónico a través de un enlace o archivo adjunto, pero cada vez más adversarios están comenzando a aprovechar las plataformas de comunicación que no son el correo electrónico, como las redes sociales y la mensajería instantánea, para la entrega de malware.
Un exploit es un fragmento de código o un programa que se aprovecha de una debilidad (también conocida como vulnerabilidad) en una aplicación o sistema. Los exploits generalmente se dividen en el comportamiento resultante después de que se explota la vulnerabilidad, como la ejecución de código arbitrario, la escalada de privilegios, la denegación de servicio o la exposición de datos.
A diferencia del malware, los exploits no son intrínsecamente maliciosos, pero es probable que se utilicen con fines nefastos. La conclusión clave aquí es que el código de explotación puede usarse para entregar malware, pero el código no es el malware en sí. Aunque el malware y los exploits se utilizan en combinación para múltiples tipos de objetivos maliciosos, presentan problemas distintos que deben examinarse individualmente para brindar una seguridad completa.
Ejemplos de exploits
En los últimos años, se han utilizado muchas vulnerabilidades de alto perfil para cometer violaciones masivas de datos y ataques de malware. En 2016, por ejemplo, Yahoo anunció que un hack con exploit había provocado la filtración de datos de 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 desactualizado.
EternalBlue
Uno de los exploits más conocidos de los últimos años es EternalBlue, que ataca una falla parcheada en el protocolo de bloqueo 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 fue utilizado por los actores de amenazas en los ataques de ransomware WannaCry y NotPetya.
Wannacry
WannaCry es un ejemplo de ransomware criptográfico, un tipo de software malicioso (malware) utilizado por los ciberdelincuentes para extorsionar dinero.
El ransomware hace esto ya sea encriptando archivos valiosos, para que no puedas leerlos, o bloqueándolo fuera de tu computadora, por lo que no puedes usarlo.
El ransomware que utiliza cifrado se denomina cripto ransomware. El tipo que lo bloquea fuera de tu computadora se llama ransomware de casilleros.
Al igual que otros tipos de cripto-ransomware, WannaCry toma tus datos como rehenes y promete devolverlos si pagas un rescate.
WannaCry apunta a computadoras que usan Microsoft Windows como sistema operativo. Cifra datos y exige el pago de un rescate en la criptomoneda Bitcoin para su devolución.
Petya
Petya explota la vulnerabilidad CVE-2017-0144 en la implementación de Microsoft del protocolo Server Message Block. Después de aprovechar la vulnerabilidad, este ataque cifra el registro de arranque maestro, entre otros archivos. Envía un mensaje al usuario para que realice un reinicio del sistema, después de lo cual el sistema es inaccesible. Esto hace que el sistema operativo sea incapaz de localizar archivos y no hay forma de descifrar los archivos, lo que convierte a Petya en un limpiador en lugar de un ransomware, como se creía en un principio.
La nueva variante ha aumentado aún más sus capacidades al agregar un mecanismo de propagación similar al que vimos en WannaCry en mayo de 2017. Microsoft lanzó un conjunto de parches críticos para eliminar la vulnerabilidad subyacente en las versiones compatibles de Windows.
BlueKeep
BlueKeep (CVE – 2019 hasta 0708) es una vulnerabilidad de seguridad que fue descubierto en Microsoft ‘s Remote Desktop Protocol aplicación (RDP), que permite la posibilidad de ejecución de código remoto.
Reportado por primera vez en mayo de 2019, está presente en todas las versiones de Microsoft Windows sin parches basadas en Windows NT desde Windows 2000 hasta Windows Server 2008 R2 y Windows 7. Microsoft emitió un parche de seguridad (incluida una actualización fuera de banda para varias versiones de Windows que han llegado al final de su vida útil, como Windows XP ) el 14 de mayo de 2019. El 13 de agosto de 2019, vulnerabilidades de seguridad relacionadas con BlueKeep, en conjunto llamado DejaBlue, se informó que afecta a las versiones más recientes de Windows, incluido Windows 7 y todas las versiones recientes hasta Windows 10 del sistema operativo, así como las versiones anteriores de Windows.
Síntomas de un ataque de exploit
Es posible que no te des cuenta de que se ha producido un exploit, una vez introducido el malware, sin duda percibirás los efectos. A continuación se indican algunos de los signos habituales de una infección por malware:
- rendimiento lento,
- bloqueos o cuelgues frecuentes,
- cambios de configuración inexplicables,
- infinidad de ventanas emergentes o anuncios en lugares improcedentes,
- pérdida de espacio de almacenamiento.
Si percibes cualquiera de estas señales de alerta, debes realizar inmediatamente un análisis de virus con una herramienta antivirus reputada.
Cómo protegerse para evitar que tu equipo sea infectado
La buena noticia es que, en muchos casos, puedes protegerte contra las vulnerabilidades. Al practicar hábitos inteligentes de seguridad informática, puedes recorrer un largo camino para protegerte de los ataques de explotación. Aquí hay una breve lista de tus mejores tácticas y técnicas anti-exploit:
- Actualiza siempre tu software. Cualquier experto en ciberseguridad te dirá que una de las mejores formas de protegerte contra las vulnerabilidades es utilizar solo software actual. Si tu dispositivo permite actualizaciones de software automáticas, como la mayoría lo hace, habilita ese proceso o usa un actualizador de software automático. Si necesitas instalar manualmente una actualización, hazlo tan pronto como recibas una notificación.
- Realiza una copia de seguridad de tus archivos. Si bien el software actualizado te protegerá contra ataques de explotación conocidos, no hay mucho que hacer cuando un pirata informático descubre una vulnerabilidad de día cero. Pero con una nueva copia de seguridad de todos tus archivos más importantes, estarás protegido en caso de que un ciberdelincuente utilice un exploit para atacar tu computadora con ransomware u otro tipo de malware que dañe los archivos.
- Utiliza software de proveedores de confianza. Este consejo se aplica tanto a aplicaciones independientes como a extensiones y complementos del navegador. Los desarrolladores de software confiables se aseguran de que sus productos sean lo más a prueba de exploits posibles. Y si surge un exploit de día cero, responderán lo antes posible con un parche de seguridad.
Herramientas anti-exploit
Para estar seguro, es necesario utilizar una herramienta antivirus con función anti-exploit. Aquí te dejamos las mejores herramientas anti-exploit.
Protección contra amenazas avanzadas de Windows Defender
La herramienta de seguridad predeterminada de Windows 10 es lo suficientemente poderosa como para manejar virus y malware. Tiene casi todo lo que necesitas para proteger tu computadora de virus y amenazas. Algunas de las funciones de seguridad útiles de Windows Defender incluyen protección basada en reputación, protección contra exploits, protección contra ransomware, protección contra manipulaciones, etc.
Anti-Exploit de Malwarebytes
Malwarebytes Anti-Exploit ahora es parte de Malwarebytes Premium, y es uno de los más completos en la sección de seguridad. La herramienta Anti-Exploit no solo protege tu computadora de las amenazas emergentes, sino que también evita que tus programas se utilicen en tu contra. Entonces, Malwarebytes Anti-Exploit es otra mejor herramienta anti-exploit que puedes usar en tu computadora con Windows 10.
IObit Malware Fighter
Es un software anti-exploit que está diseñado para proteger el PC de los ataques en línea. Además, también obtiene protección contra malware, troyanos y virus que pueden invadir tu PC mientras navegas por la web.
Cuenta con un motor anti-ransomware. Esta es una herramienta útil ya que los ataques de ransomware se están volviendo más populares.
IObit bloquea los enlaces maliciosos que se envían por correo electrónico. Incluso bloquea los exploits que intentan acceder a tu cámara web.
ComboFix
Es un software anti-exploit gratuito desarrollado por sUB que escanea tu PC, detecta amenazas y las elimina.
Este software fue diseñado principalmente como un programa antivirus, pero ahora se puede utilizar como software anti-exploit. Protege tu PC contra los ataques de los piratas informáticos y contra las infecciones virales.
Este programa es ideal para un proceso de limpieza expansivo en el PC. Sin embargo, ComboFix solo es compatible con sistemas Windows XP, Vista y 7 de 32 y 64 bits; pero no es compatible con Windows 8.1 y 10 PC.
Microsoft EMET
También conocido como Enhanced Mitigation Experience Toolkit, es uno de los software anti-exploit más antiguos que existen. Este programa gratuito está dirigido a administradores de sistemas que pueden implementar este software en varios PC en una gran red informática.
Este software utiliza el refuerzo de aplicaciones que evita la explotación de diversas vulnerabilidades de aplicaciones de software.
Además, EMET utiliza 12 mitigaciones de seguridad diferentes para proteger otras aplicaciones de software y procesos en ejecución en el PC.
Bases de datos de exploits
La base de datos de exploits es mantenida por Offensive Security, una empresa de formación en seguridad de la información que ofrece diversas certificaciones de seguridad de la información, así como servicios de pruebas de penetración de alto nivel. Exploit Database es un proyecto sin fines de lucro que Offensive Security proporciona como servicio público.
La base de datos de exploits es un archivo compatible con CVE de exploits públicos y el software vulnerable correspondiente, desarrollado para su uso por probadores de penetración e investigadores de vulnerabilidades. Su objetivo es servir la colección más completa de exploits recopilada a través de envíos directos, listas de correo y otras fuentes públicas, y presentarlas en una base de datos de fácil navegación y disponible de forma gratuita.
La base de datos de exploits es un repositorio de exploits y pruebas de conceptos en lugar de avisos, lo que la convierte en un recurso valioso para quienes necesitan datos procesables de inmediato.
Por otro lado, está Common Vulnerabilities and Exposures (CVE). Es una lista de vulnerabilidades y exposiciones de seguridad de la información divulgadas públicamente.
CVE fue lanzado en 1999 por la corporación MITRE para identificar y categorizar vulnerabilidades en software y firmware. CVE proporciona un diccionario gratuito para que las organizaciones mejoren su seguridad cibernética . MITRE es una organización sin fines de lucro que opera centros de investigación y desarrollo financiados con fondos federales en Estados Unidos.