domingo, 15 de abril de 2012

Exploits







Exploit (del inglés to exploit, explotar o aprovechar) es una pieza de software, es explotador de un sistema que destruye una computadora un fragmento de datos, o una secuencia de comandos con el fin de automatizar el aprovechamiento de un error, fallo o vulnerabilidad, a fin de causar un comportamiento no deseado u imprevisto en los programas informáticos, hardware, o componente electrónico (por lo general computarizado). Con frecuencia, esto incluye cosas tales como la violenta toma de control de un sistema de cómputo o permitir la escalada de privilegios o un ataque de denegación de servicio

El fin del Exploit puede ser 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.

Existen diversos tipos de exploits dependiendo las vulnerabilidades utilizadas y son publicados cientos de ellos por día para cualquier sistema y programa existente pero sólo una gran minoría son utilizados como parte de otros malware (aquellos que pueden ser explotados en forma relativamente sencilla y que pueden lograr gran repercusión).



  • Zero Day (Día cero): Cuando está aplicado a la información, el "Zero Day" significa generalmente información no disponible públicamente. Esto se utiliza a menudo para describir exploits de vulnerabilidades a la seguridad que no son conocidas por los profesionales del tema.
        Se define Zero Day como cualquier exploit que no haya sido mitigado por un parche del vendedor.


Tipos de Ataques




Los Exploits pueden ser escritos empleando una diversidad de lenguajes de programación, aunque mayoritariamente se suele utilizar lenguaje C. También puede aprovecharse de distintos tipos de ataques tales como: 

              **Desbordamiento de búfer 
              **Cross Site Scripting 
              **Uncontrolled Format Strings 
              **Inyección SQL

  • Desbordamiento de búfer: un desbordamiento de buffer (del inglés buffer overflow o buffer overrun) es un error de software que se produce cuando un programa no controla adecuadamente la cantidad de datos que se copian sobre un área de memoria reservada a tal efecto (buffer), de forma que si dicha cantidad es superior a la capacidad preasignada los bytes sobrantes se almacenan en zonas de memoria adyacentes, sobrescribiendo su contenido original.
  • Cross Site Scripting: es un tipo de inseguridad informática o agujero de seguridad típico de las aplicaciones Web, que permite a una tercera parte inyectar código JavaScript en páginas web vistas por el usuario, evitando medidas de control como la Política del mismo origen.
  • Uncontrolled Format Strings: es un tipo de vulnerabilidad de software, descubierta alrededor del año 1999, que puede explotar la seguridad. Antes se pensaba que eran inofensivos, estos pueden ser usados para crashear un programa o para ejecutar código dañino. Un usuario malicioso puede usar el %s y el %x format tokens para imprimir datos de la pila u otros lugares de la memoria.
  • Inyección SQL: es un método de infiltración de código intruso que se vale de una vulnerabilidad informática presente en una aplicación en el nivel de validación de las entradas, se dice que existe o se produjo una inyección SQL cuando, de alguna manera, se inserta o "inyecta" código SQL invasor dentro del código SQL programado, a fin de alterar el funcionamiento normal del programa y lograr así que se ejecute la porción de código "invasor" incrustado, en la base de datos.