Exploit
Exploit es una palabra inglesa que significa explotar o aprovechar, y que en el ámbito de la informática es un fragmento de software, fragmento de datos o secuencia de comandos o acciones, utilizada con el fin de aprovechar una vulnerabilidad de seguridad de un sistema de información para conseguir un comportamiento no deseado del mismo. [1]
Su uso principal es como vector para la inyección de una carga útil (en inglés payload) que ofrezca al atacante algún tipo de acceso y/o control del equipo comprometido.[2] Un payload puede ser utilizado por varios exploits y un mismo exploit puede utilizar varios payloads.[3]
Clasificación
Según la forma en la que el exploit contacta con el software vulnerable:[4]
- Exploit 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.
- Exploit local. Si 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.
55 6072 6643
- Exploit en cliente.[1] 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 exploit está dentro de ficheros interpretados por este tipo de aplicaciones y que 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 abra cierto archivo o que haga clic 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 exploit (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.
Según el propósito de su ataque:[4]
- Curiosidad
- Fama personal
- Beneficio personal
- Espionaje
Entornos de trabajo para exploits
Los entornos de trabajo o frameworks para exploits son paquetes software de apoyo que contienen módulos que ayudan para la construcción de exploits.[5][1] Estos frameworks permiten la reutilización del código, la estandarización de los exploits y la simplificación del proceso de ataque. Ejemplos de este tipo de frameworks son Metasploit Framework, Core Impact,[6] xploitz[7] o Inmunity Canvas.
Exploits en los videojuegos
En los videojuegos existen vulnerabilidades o fallos en el código o en la jugabilidad que permiten a los jugadores aprovecharse de una funcionalidad para obtener beneficios exponencialmente mayores a puntos irreales. Tales son los casos de obtener dinero virtualmente infinito repitiendo una acción que, durante una partida normal, no se permitiría. Mientras que en partidas de un solo jugador esto es normal de ver, esto es típicamente castigado en salas multijugador dada la naturaleza injusta del fenómeno.
Existe una controversia acerca de lo que es o no un exploit: mientras que en un caso específico algunos jugadores podrían decir que algo está siendo injustamente explotado para un beneficio inmenso a un jugador, otros podrían defenderlo argumentando que es parte de la jugabilidad y que, en ese caso, los programadores están al tanto de su existencia porque lo han publicado así.
Hasta ahora uno de los juegos en Internet más afectados por estos comandos maliciosos es Roblox, que es afectado en los servidores publicados en la red. Un cracker con ayuda de un programa especial edita los códigos del servidor activo, causando desde la aparición de nuevos elementos en el juego, hasta la desconexión de todos los jugadores y robo de su información actual en el sitio.
Tipos de exploits
- Duping (duplicación): consiste en la duplicación de un elemento cuya multiplicación por medios no legítimos es considerada injusta. Un ejemplo de esto es la multiplicación de monedas en un juego donde la obtención de dinero es algo que conlleva un moderado esfuerzo.
- Lag: el lag o latencia es retardo entre el cliente y el servidor del que, entre otras cosas, puede funcionar como un recurso aprovechable para otorgar ventajas injustas a ciertos jugadores por sobre otros. Un ejemplo de ello es la saturación de una sala multijugador para que los otros jugadores no tengan la velocidad de respuesta que deberían tener, poniéndolos en desventaja.
- Geometría: algunos jugadores pueden aprovecharse de la forma de un mundo en un videojuego para saltarse espacios físicos o acceder a zonas que no fueron diseñadas para ser exploradas u observadas. Normalmente esto muestra sectores incompletos del mapa o áreas con objetos sueltos dejados por los desarrolladores durante el diseño del juego a modo de pruebas.
- Twinking: esto puede considerarse más un truco social que un exploit, y consiste en engañar a otros jugadores de que uno mismo es menos habilidoso de lo que aparenta a través de mostrarse con equipamiento y aspecto menos complejo y avanzado de lo que el juego ofrece a esas alturas. Un ejemplo de esta situación es un jugador de alto nivel no vistiendo nada de armadura ni llevando armas, a veces incluso comportándose como si ignorara el funcionamiento del juego, sólo para después demostrar lo contrario a través de sus habilidades y nivel reales.
- Bunny hopping: traducido como "saltos de conejito", consiste en aprovecharse de la forma en la que el movimiento de un jugador fue programado para moverse más rápidamente. En la mayoría de juegos esto se logra saltando constantemente en vez de hacer correr al personaje, y de ahí el nombre. Esta táctica es utilizada frecuentemente durante speedruns, donde el objetivo es terminar un videojuego o un segmento de este en el menor tiempo posible.
- Zonas seguras: se trata de un segmento del mapa en donde un jugador puede atacar a otras entidades (IA u otros jugadores) sin sufrir el riesgo de ser atacado de vuelta. Un ejemplo de esto es disparar a otros jugadores desde una zona donde éstos tienen prohibido acceder.
- Cheesing: es una forma atacar repetidamente de una manera en la que el oponente no puede atacar por la frecuencia y rapidez con la que estos ataques tienen lugar. Un ejemplo claro de esto es atacar a un oponente en un juego de pelea contra los límites de la pantalla, de manera que no pueda moverse ni contraatacar.
Bases de datos de exploits
Las principales bases de datos de exploits son:[8]
Véase también
- Wikcionario tiene definiciones y otra información sobre exploit.
- Ataque de denegación de servicio
- Desbordamiento de búfer
- Desbordamiento de pila
- Error de software (bug)
- Gusano (informática)
- HoF
- Inseguridad informática
- Ping de la muerte
- Shellcode
- Seguridad informática
- Subdesbordamiento de búfer
- Troyano
Referencias
- ↑ Federico G. Pacheco, Hector Jara, "Ethical Hacking 2.0". Ed. Fox Andina 2012
- Tests de intrusión y explotación de vulnerabilidades: Uso básico de Metasploit. 24 de octubre de 201
- Exploits. Josep Vañó Chic. Universitat Oberta de Catalunya. Septiembre de 2014
- ↑ Andrew Cencini et ali., "Software Vulnerabilities: Full-, Responsible-, and Non-Disclosure". Diciembre de 2005.
- Chris McNab,"Network Security Assessment: Know Your Network". Ed. O'Reilly 2004
- Core Impact
- xploitz
- Top 8 Exploit Databases for Security Researchers. SecurityTrails.com. 11 de febrero de 2020