0% encontró este documento útil (0 votos)
147 vistas12 páginas

Informe Exploit

El documento discute exploits y cómo aprovechan vulnerabilidades de sistemas para infectarlos silenciosamente. Los exploits se escriben para vulnerabilidades recién descubiertas y engañan a usuarios para que visiten sitios maliciosos. Una vez ingresado, el código malicioso puede robar información u ocasionar otros daños. El documento también explica índices de explotabilidad y sistemas para calificar la severidad de vulnerabilidades.

Cargado por

Angelo Carrasco
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
147 vistas12 páginas

Informe Exploit

El documento discute exploits y cómo aprovechan vulnerabilidades de sistemas para infectarlos silenciosamente. Los exploits se escriben para vulnerabilidades recién descubiertas y engañan a usuarios para que visiten sitios maliciosos. Una vez ingresado, el código malicioso puede robar información u ocasionar otros daños. El documento también explica índices de explotabilidad y sistemas para calificar la severidad de vulnerabilidades.

Cargado por

Angelo Carrasco
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

INACAP Santiago Sur Ingeniera en informtica Tecnologa de informacin y comunicacin (IN0524/308)

Exploit

Nombre Alumno: Angelo Carrasco Nombre Profesor: Carlos Leighton Fecha: 07-05-2012

INTRODUCCIN Este documento discute el problema de los exploits, y los peligros asociados con ellos. Tambin detalla las precauciones que deberan tener en cuenta los usuarios para minimizar su exposicin a los riesgos causados por estos programas que se aprovechan de las vulnerabilidades del sistema. Desde la aparicin de buffer overflows y un sin nmero de diferentes Vulnerabilidades ms, palabras como: Exploits y Shellcodes son comnmente escuchadas en varios medios. Si bien no existe una definicin universal de exploit, esencialmente el trmino se refiere a cualquier cdigo diseado para exponer las vulnerabilidades de otras aplicaciones, o aprovecharse de ellas. Los exploits trabajan aprovechndose de las fallas de los navegadores o sus complementos, y de otros programas, como por ejemplo Microsoft Word, Adobe Acrobat y otras aplicaciones de uso habitual. Estas amenazas pueden tomar muchas formas diferentes: descargas forzadas, instalacin de cdigos maliciosos ocultos, infecciones silenciosas o automatizadas, pero todas tienen el mismo resultado: el ordenador se infecta solamente navegando por Internet, sin que sea necesario hacer nada especial como, por ejemplo, descargar un archivo. Los exploits permiten que los cdigos maliciosos se instalen silenciosamente en el sistema, sin el conocimiento del usuario. Esto puede tener como consecuencia el robo de informacin, el mal funcionamiento del ordenador y otros problemas serios.

CMO FUNCIONAN Tan pronto como los delincuentes informticos se enteran de la existencia de una vulnerabilidad, comienzan a escribir cdigos maliciosos para aprovecharse de ella. Esto podra implicar el esfuerzo colectivo de varios grupos de piratas o el trabajo de un solo individuo altamente cualificado, que en algunas ocasiones es tambin el descubridor del error. En ocasiones, se lanzan a la venta en el mercado clandestino paquetes de herramientas para crear exploits. Estas aplicaciones cuestan entre 350 y 700 euros y cuentan con un servicio de actualizaciones de muy bajo coste, que son distribuidas a los usuarios cada vez que aparecen exploits nuevos y se agregan automticamente al paquete, siguiendo el mismo mtodo que las aplicaciones legtimas. Los ejemplos ms destacados de tales paquetes incluyen los programas WebAttacker, de origen ruso, y MPack. Estos conjuntos de herramientas contienen un grupo de exploits que se aprovechan de las vulnerabilidades conocidas en complementos desarrollados por otras compaas, o en funciones del navegador (las cuales van desde la vulnerabilidad del cursor animado de Microsoft, hasta la sobrecarga de la memoria intermedia de QuickTime de Apple, o mltiples errores descubiertos en los controles ActiveX, JavaScript, y otras extensiones de Internet Explorer). Una vez que los atacantes obtienen un exploit, necesitan esconderlo de forma tal que los usuarios que visitan ciertos sitios ya sea de manera deliberada, o accidentalmente sean infectados automticamente, y sin que tomen conocimiento de esto. Existen varias formas de atraer vctimas a un sitio malicioso, pero tpicamente los piratas usan uno o ms de los siguientes recursos: 1) Envan mensajes de correo electrnico no solicitados para hacer que los usuarios visiten un sitio mantenido por el delincuente informtico. Para conseguir este objetivo tambin se utilizan otras tcnicas sofisticadas, como la suplantacin de direcciones DNS (Domain Name Service, servicio de nombres de dominio), los ataques de ingeniera social y otras tcticas predatorias. 2) Crean una serie de sitios infecciosos cuyos nombres sean similares a los de entidades legtimas, registrando direcciones en Internet que apenas se diferencien de las originales (por ejemplo, microsooft.com o dowload.com). 3) Infectan sitios web pertenecientes a entidades legtimas, infiltrando los cdigos maliciosos antes de que sus administradores puedan bloquear la intrusin. El Banco de la India sufri un ataque de este tipo recientemente. 4) Ponen enlaces a elementos multimedia en sitios de encuentros sociales, tales como Facebook o MySpace, que en realidad apuntan a cdigos maliciosos externos. Estos se aprovechan de las vulnerabilidades de los complementos desarrollados por otras empresas y que son necesarios para ejecutarlos.

FASE DE INGRESO AL SISTEMA Una vez que se realiza la etapa de descubrimiento de vulnerabilidades, el prximo paso suele ser el ingreso al sistema que se define como objetivo. En caso de que la fase se est dando en el marco de una simulacin de ataque o una penetracin de prueba realizado por profesionales, muchas veces se toma la decisin de no intentar tomar control sobre el sistema, sino simplemente llegar hasta el conocimiento de las vulnerabilidades y su posible solucin. Para el caso de un atacante real, esta fase ser quizs la que produzca la mayor descarga de adrenalina, ya que aqu se utilizan todos los recursos y conocimientos de manera extremadamente condensada. Tal es el vrtigo que produce el saber que se est tomando el control sobre el sistema, que en ocasiones el atacante disfruta fisiolgicamente de esta emocin, sintiendo el sudor fro propio de los momentos de mximo estrs, previo a la meta que persigue, que le producir finalmente el gran estallido de satisfaccin. Cuando un investigador de seguridad informa la existencia de una vulnerabilidad a un desarrollador de aplicaciones, sin difundir este dato a otras personas, se reduce enormemente la probabilidad de que la falla del programa sea aprovechada con fines maliciosos. Despus que la vulnerabilidad ha sido corregida con el parche correspondiente, se pueden divulgar los detalles del error sin poner en riesgo a los usuarios, siempre que estos hayan actualizado sus sistemas. Las investigaciones muestran que aquellos usuarios que no instalan prontamente los ltimos parches disponibles, corren un alto riesgo de que sus ordenadores se infecten con algn exploit que circula por la red. EXPLOTACIN DE VULNERABILIDADES El termino EXPLOIT proviene del mismo vocablo ingles que significa explotar o aprovechar. En informtica es una PIEZA DE SOFTWARE , un fragmento de datos o una secuencia de comandos que aprovecha un error, fallo o vulnerabilidad, a fin de causar un comportamiento no deseado en un sistema o aplicacin, pudiendo forzar cambios en su flujo de ejecucin con posibilidad de ser controlados a voluntad. Los exploits se clasifican de distintas maneras en base a diferentes criterios, como pueden ser de la manera en que el exploit contacta al sistema objetivo (local o remoto), el tipo de vulnerabilidad que explota (stack overflow, heap overflow, etc.) y la accin del exploit (DoS, ejecucin arbitraria de cdigo, etc.). Los exploits son creados por especialistas en el tema llamados exploit writers (escritores de exploits), que conocen muy en detalle las caractersticas del software y hardware con el que trabajan. A fines de 2008, Microsoft introdujo una nueva poltica con la que intenta mejorar sus boletines de seguridad, incorporando un nuevo valor llamado ndice de explotabilidad (exploitability index), que indica las posibilidades de que se cree un exploit para cada vulnerabilidad. Sus valores posibles son: -Consistent exploit code likely: es probable la creacin de un exploit consistente. -Inconsistent exploit code likely: es probable la existencia de un exploit inconsistente. -Functioning exploit code unlikely: es improbable la existencia de un exploit funcional.

La palabra consistencia se refiere a las probabilidades que funcione bajo la mayora de las circunstancias y la mayor parte de las veces. Esta forma de puntuar el riesgo es exclusiva de Microsoft y evaluada solo por su parte. Microsoft se resiste sin embargo a utilizar sus boletines de valor COMMON VULNERABILITY SCORING SYSTEM (CVSS) de cada vulnerabilidad, que es un estndar que grada la severidad de manera estricta a travs de frmulas establecidas, y que ya siguen ORACLE, NIST y cisco; entre otros. CVSS es una iniciativa pblica concebida por la National infraestructure Assurance COUNCIL (NIAC) de estados unidos, bajo la custodia del forum for international response teams (firts). El CVSS provee: Una puntuacin estndar: es neutro desde el punto de vista de las aplicaciones, permitiendo que distintas organizaciones asignen una puntuacin a sus vulnerabilidades a travs de un nico esquema. Una puntuacin contextualizada: la puntuacin asignada por una organizacin corresponde al riesgo que la vulnerabilidad representa para ella. Un sistema abierto: todos los detalles sobre los parmetros usados en la generacin de cada puntuacin permitiendo comprender tanto el razonamiento que sustenta una calificacin como el significado de diferencia entre puntuaciones. Las puntuaciones asignadas por CVSS derivan de tres grupos de mtricas: -Base (inmutables en el tiempo). -Temporales (cambian con el tiempo). -Medioambientales (dependientes de los ambientes de uso).

Las bases incluyen mtricas de explotabilidad (vector de acceso local o remoto, complejidad de ataque alta o baja y nivel de autenticacin requerida) y de impacto (impacto en la confidencialidad, en la integridad y en la disponibilidad). Las mtricas temporales modifican la puntuacin base segn la disponibilidad del exploit, el tipo de solucin existente (oficial, temporal o de contingencia) y el nivel de confianza de vulnerabilidad. Las medioambientales varan la puntuacin obtenida en base al dao colateral y el porcentaje de sistemas vulnerables. El CVSS fue diseado para que sea fcil de entender por el pblico en general y para permitir a una organizacin priorizar el orden en que deben abordar las vulnerabilidades que la afectan. Cabe aclarar que CVSS no es un repositorio como BUGTRAQ o una base de datos de vulnerabilidades como OPEN SOURCE VULNERABILITY DATABASE (OSVDB), ni es un sistema de clasificacin de vulnerabilidades como COMMON VULNERABILITIES and EXPOSURES (CVE). EXPLOITS ZERO-DAY Un exploit zero-day implica la existencia de una exploit que an no se ha hecho pblico. Puede estar asociado a una vulnerabilidad zero-day (aun no publicada) o no. Los ataques con exploits zero-day ocurren cuando aparece lo que se denomina una ventana de vulnerabilidades entre el momento en que se encuentra una debilidad y el tiempo en el que el proveedor publica la solucin (a modo de parche o actualizacin, por ejemplo). Esta ventana puede durar das o hasta meses, con un promedio de cuatro semanas en la actualidad. En este periodo, solo un pequeo y selecto grupo de personas conocen de la existencia del nuevo problema, por lo que el resto es potencialmente permeable a un ataque que utilice dicho exploit. En caso de que la explotacin de la vulnerabilidad tenga consecuencias potencialmente muy graves, crticas y masivas se acuerda entre las distintas partes implicadas que no se har pblica la forma de explotar, hasta que no se encuentre corregido el problema, a fin de evitar catstrofes informticas y el abuso indiscriminado de esta. SHELLCODES Un shellcode es una serie de comandos escrita generalmente en el lenguaje ensamblador, que se inyecta en alguna parte de la memoria de un proceso en ejecucin para conseguir que el software reaccione entregando al atacante una consola de operacin, que puede ser la del sistema operativo en si con su intrprete de comandos. El vector de caracteres de un shellcode se obtiene al desensamblar el cdigo en assembler (ensamblador) luego de compilado. De esta forma, conseguimos un cdigo de mquina escrito en notacin hexadecimal, que posteriormente utilizaremos embebido en programas escritos en lenguajes de ms alto nivel, como es el lenguaje C. Es lgico pensar que un shellcode debe ser lo ms corto posible para poder ser inyectado con mayor facilidad en pequeos espacios de memoria, en el marco de un ataque de explotacin de una vulnerabilidad. Los ms cortos utilizados comnmente son los de 22 bytes. Para escribir un shellcode efectivo debemos tener en cuenta varias cosas, como por ejemplo la codificacin de los caracteres, a fin de evitar la deteccin por parte de los sistemas de seguridad. Esto incluye cdigo corto, sin operaciones nulas, uso de caracteres alfanumricos, etc. Veamos a continuacin un ejemplo de shellcode:

char sc[] = "\xb0\xb0" // 06v $6xb,%aL "\x99" // cLtd "\x52" // push %edx "\x68\x2f\x2f\x73\x68" // push $0c68732f2f "\x68\x2f\x62\x69\x6e" // push $0x6e69622f "\x89\xe3" // 06v %esp,%ebx "\x52" // push %ebx "\x53" // push %ebx "\x89\xe1" // mov %esp,%ecx "\xcd\x80" // int $0x80 ; PRUEBAS DE CONCEPTO Una prueba de concepto, ms conocida como PoC (proof of concept), es en informtica una manera de demostrar la existencia de una vulnerabilidad sin la obligacin de tener que realizar la investigacin exhaustiva ni explicar el detalle en que consiste. Esto implica la creacin de un software que explote una determinada vulnerabilidad, pero que no tenga el comportamiento que le dara un atacante real, sino que posea un resultado inocuo para el sistema y permita ver claramente que problema de seguridad ha sido aprovechado. Muchas empresas y sitios web de seguridad informtica publican sus propias pruebas de concepto para ofrecer la posibilidad de testear la existencia de una vulnerabilidad en sus propios sistemas; esto es muy comn en lo que se refiere a tecnologas web, donde muchas veces se logra explotar una vulnerabilidad con el solo hecho de visualizar una pgina. ETAPAS DE LA CREACIN DE EXPLOITS El diagrama que est a continuacin ilustra el ciclo vida de la vulnerabilidad de una aplicacin, y del exploit que depende de ella:

La creacin de exploits no es una tarea trivial. Si bien cada especialista posee sus propias tcnicas y mtodos, podramos decir que, de manera general, se siguen de alguna manera las siguientes fases: DESCUBRIMIENTO DE UNA VULNERABILIDAD: esto puede ser por pura casualidad durante el uso o anlisis de una aplicacin, o bien mediante la investigacin especializada y dirigida, por medio de tcnicas variadas como es el FUZZING, el anlisis esttico de binarios, etc. Siempre tendremos en cuenta los puntos de ingreso de datos en el software, con o sin interfaz de usuario. DETECCION DEL TIPO DE FALLO Y SU FORMA DE EXPLOTARLO: luego de encontrar un error en la aplicacin, debemos detectar de qu tipo de fallo se trata a fin de poder analizar y utilizarlo para re direccionar el flujo de ejecucin del programa. En esta etapa buscaremos tambin la forma de poder explotarlo, dependiendo de la clase de error que sea. ESCRITURA DEL EXPLOIT: para esto debemos tener muchos y diversos conocimientos. Mnimamente necesitamos conocer el lenguaje ensamblador y el lenguaje C, adems del funcionamiento de la arquitectura en cuestin y del ncleo de la plataforma de trabajo. PRUEBAS DE FUNCIONAMIENTO: en este ltimo paso tendremos en cuenta la compatibilidad del exploit creado de ser ejecutado en distintas condiciones de contexto, su flexibilidad de uso, la facilidad y velocidad de realizar la explotacin, la certeza de funcionamiento y, por supuesto, la elegancia del mtodo empleado para obtener los resultados. SISTEMA DE EXPLOTACIN A medida que el estudio de las vulnerabilidades fue creciendo, la evolucin de su explotacin atraves un largo camino, pasando por la manera manual tradicional, hasta los sistemas de hoy, que ofrecen innumerables posibilidades para realizar las mismas tareas, que en aos anteriores demoraban mucho ms. Estas permiten, mediante la REUTILIZACIN DEL CDIGO, la estandarizacin y algunas tcnicas especiales, obtener resultados ms eficientes con los que podemos aprovechar mejor las herramientas y reducir el tiempo consumido. EXPLOTACIN MANUAL Originalmente, la nica manera de explotar una vulnerabilidad era mediante la creacin de un cdigo que se encargara de hacerlo. Para esto, un hacker deba conocer sobre todos los temas asociados, como los protocolos, arquitectura del sistema objetivo, programacin en lenguajes de bajo nivel y de scripting y mucho ms. Esto, sin lugar a dudas, era una tarea tediosa que adems restringa el universo de exploiters a un puado de personas del mundo. A medida que fueron creciendo las comunidades de hackers, comenzaron los acuerdos en la forma de hacer las cosas, y todo empez a cambiar. La explotacin manual era en un primer entonces un proceso duro, especfico y muy costoso en tiempo y esfuerzo, solo reservado para unos pocos expertos.

METAEXPLOIT FRAMEWORK Constituye una plataforma de desarrollo y ejecucin de exploits. Es de cdigo abierto y est escrito en RUBY con algunos componentes en lenguaje C, aunque comenz siendo escrito en PERL en 2003. Bsicamente permite configurar y lanzar exploits contra un sistema, proporcionando una consola en caso de que funcione el ataque. La explotacin se basa en los siguientes pasos bsicos: 1) Eleccin y configuracin de un exploit. 2) Comprobacin de que el sistema objetivo es susceptible de ser atacado. 3) Eleccin y configuracin del payload (cdigo que se ejecutar en el sistema destino, incluyendo el SHELLCODE). 4) Eleccin de la tcnica para codificar el payload con el objetivo de que el sistema destino no lo detecte como intruso. 5) Lanzamiento del exploit. Se permite combinar cualquier exploit con cualquier payload, lo que facilita la tarea de atacantes y desarrolladores. Funciona en todas las versiones de Unix, Mac os y Windows (con el framework cygwin). Incluye dos interfaces en lnea de comandos y una interfaz web. Es posible probar el framework online desde el sitio www.metasploit.com. La aplicacin es extensible. Por ejemplo, cualquier PoC que salga puede ser desarrollado como pluging. Tambin cuenta con una base de datos de opcodes (cdigo de operacin de assembler) y de shellcodes con su cdigo fuente, para ayudar al proceso de explotacin. Metasploit framework es un completo entorno de explotacin de vulnerabilidades con diversas funciones extra. CORE IMPACT Ha sido el primer sistema comercial de explotacin de vulnerabilidades. Naci como proyecto personal de un grupo de jvenes especialistas que pudieron tener suficiente visin como para crear un imperio de servicios en seguridad informtica al fundar la empresa CORE SEGURITY TECHNOLOGIES. Este software es poderoso y amigable, pero posee la caracterstica de ser un producto de muy elevado costo, lo que hace que su uso sea prohibitivo en determinado rango de empresas y los gobiernos de los pases menos desarrollados. Core impact utiliza como componente principal un agente que se encarga de comunicarse e interactuar con el sistema remoto luego de ser insertado mediante la explotacin de un error de software en el sistema bajo anlisis. Image Core impac fue el primer entorno de explotacin de vulnerabilidades creado por la empresa core security technologies. IMMUNTY CANVAS Es sin duda el competidor natural a nivel comercial de impact. La empresa IMMUNITY ha desarrollado adems otros productos relacionados, muchos de ellos de cdigo abierto y disponible a travs de su sitio web. De hecho, cavans es un software de cdigo abierto, est escrito en PYTHON, no tiene restricciones en cuanto a la cantidad de objetivos a

auditar y no expira cuando finaliza el periodo de actualizaciones para el que ha sido licenciado en su uso para cada caso. Adems, permite explotar una gran cantidad de sistemas y aplicaciones, e incluye cientos de exploits listos para ser utilizados. Su componente fundamental es mosdef, un completo sistema que permite interactuar entre objetivo y la consola principal. Immunity canvas es un retorno de explotacin que ofrece prestaciones excelentes, aunque pueda parecer difcil de utilizar en un comienzo. UN MODELO DE NEGOCIO Los exploits pueden generar un ingreso importante para sus desarrolladores. Algunas fuentes estiman que las ganancias de la delincuencia informtica superan a las del contrabando de drogas, y un gran porcentaje de este dinero proviene de la venta de este tipo de programas. Existen varias opciones para obtener beneficios econmicos gracias a los exploits: 1) Infectar los ordenadores de los usuarios con todo tipo de cdigos maliciosos que pueden ser usados para generar ingresos a travs de chantaje, la venta de falsas aplicaciones contra programas espa o de informacin personal adquirida por medio de registradores de pulsaciones, etc. 2) Vender estos programas maliciosos a otros delincuentes. 3) Utilizarlos como medio de extorsin a un desarrollador de programas. COMBATIR LA AMENAZA Existe una serie de pasos muy sencillos que los usuarios pueden seguir para proteger sus ordenadores de la amenaza de los exploits: 1. Mantener actualizados los parches del sistema, y utilizar siempre la ltima versin del navegador. 2. Desactivar funciones de programacin innecesarias, como cdigos ActiveX, o permitir solamente que estas sean usadas en sitios previamente revisados y confiables. 3. No visitar sitios desconocidos, o que puedan resultar poco confiables. 4. Usar programas que examinan el contenido de los sitios web en tiempo real, antes de permitir que el usuario acceda a ellos. Programas como Link Scanner Pro, revisan el cdigo HTML del sitio de destino, para asegurarse de que no tiene amenazas ocultas. La extensin Finian SecureBrowsing realiza una evaluacin del cdigo y de la reputacin del sitio, para estimar as la amenaza potencial. 5. Utilizar un cortafuego que proteja el sistema contra cdigos maliciosos del tipo da cero, bloqueando cualquier actividad inadecuada dentro de la red o de las aplicaciones locales.

CONCLUSIN En este informe se analiz la ltima etapa de ataque, que se denomina de acceso y que cuenta, a la vez, con dos fases: -La primera incluye el acceso en si a travs de cualquier medio posible. -La segunda se refiere al mantenimiento del acceso una vez obtenido, a fin de asegurar futuros ingresos y el control total sobre un sistema, as como tambin la minimizacin de las huellas que podra dejar el atacante. Los exploits representan un riesgo real y concreto para los ordenadores, pero mientras los usuarios cuenten con el conocimiento, el sentido comn y las aplicaciones de seguridad apropiadas, pueden estar seguros de que estos programas no interferirn en sus vidas digitales.

BIBLIOGRAFA Google Wikipedia Youtube Yahoo answer www.seguridadpc.net/exploit.htm http://foro.elhacker.net/bugs_y_exploits/como_se_usan_los_ exploits-t11830.0.html http://www.emudesc.net/foros/xbox/320502-que-exploitxd.html

También podría gustarte