Exploit (del inglés to exploit, explotar o aprovechar) es un programa informático malicioso, o parte del programa, que trata de forzar alguna deficiencia o vulnerabilidad de otro programa (llamadas bugs)., uno de las herramientas mas utilizadas para realizar este tipo de ataque informatico es el Metasploit que se encuentra en su ultima version, El fin del Exploit puede ser la destrucción o inhabilitación del sistema atacado, aunque normalmente se trata de violar las medidas de seguridad para poder acceder al mismo de forma no autorizada y emplearlo en beneficio propio o como origen de otros ataques a terceros.
Un "exploit" es usado normalmente para explotar una vulnerabilidad en un sistema y acceder a él, lo que es llamado como "rootear" tener privilegios de root (administrador). Tambien es utilizado por los testers de seguridad informatica para mejorar la seguridad de las companias.
Algunas versiones españolas de programas lo han traducido como "Oportunista".
Tipos de exploits
Los exploits se pueden clasificar según las categorías de vulnerabilidades utilizadas:
* De desbordamiento de buffer.
* De condición de carrera (race condition).
* De error de formato de cadena (format string bugs).
* De Cross Site Scripting (XSS).
* De Inyección SQL.
* De Inyección de Caracteres (CRLF).
* De denegación del servicio
* De Inyección múltiple HTML (Multiple HTML Injection).
* De ventanas engañosas o mixtificación de ventanas (Window Spoofing).
Cual es la diferencia entre un Exploit y un Xploit???
Los exploits, son las formas de explotar un bug (como recien hemos mencionado), en cambio un Xploit es un soft diseñado para robar passwords de diferentes servicios tal como msn, yahoo, etc. Consiste en una ventana o web falsificada que pide los datos de su cuenta al usuario pretendiendo que es la verdad web o servicio de mensajeria instantanea. Luego los datos son enviados al q envio el Xploit
Los bugs son fallos en el diseño / implementacion de software (fallos en la programacion normalmente) o hardware (fallos de diseño o de montaje). Estos fallos pueden comprometer al soft/hard, permitiendo que un atacante consiga algun privilegio, alguna informacion, o realize alguna accion para lo que el sistema no estaba programado / implementado.
Por ejemplo, el bug UNICODE de los windows (mas bien en los IIS...), permitia a los que visitaban una web pudieran acceder al directorio principal del disco duro donde estaba alojada la web, y ejecutar una shell con sus respectivos comandos.
Normalmente, los bugs en si no dan nada a los hackers, sino que estos programan "exploits" con los que atacar estos bugs. Nuevamente, como ejemplo, las contraseñas de los Windows usando LM (LanManager) tienen varios bugs de diseño y algoritmizacion, que hacen que la contraseña no sea tan dificil de romper como deberia. Muchos crackeadores se basan en estos bugs para crackear dichas contraseñas rapidamente. El bug en si no permite nada, pero un exploit basado en ese bug si que lo permite.
Hay bugs en los que el hacker no puede conseguir nada (informacion, privilegios) pero puede atacar a la maquina, provocando un mal funcionamiento o incluso su caida o reinicio. Esto es llamado DoS (Denial of Service, Denegacion de Servicio).
La palabra "bug" es "bicho" en ingles, y viene de que una polilla (otros hablan de cucarachas) se instalo en la valvula de vacio de un ordenador antiguo (esos que ocupaban una habitacion entera) debido al acogedor calor que emitia. De ahi tambien viene Debug. En maquinas, se refiere a la depuracion en ejecucion de un programa para encontrar los fallos del mismo.
FUENTE:
http://phreackers-world.com/index.php/topic,684.0.html
Autor: rufiopunkrock