Continuando con que algunos programas modifican sin que lo sepa el usuario librerías de Windows para poder retransmitir a terceros sin que nos enteremos de datos sobre nosotros y nuestra navegación. ........ ----- Original Message ----- ........ ----- Forwarded message from Noticias Hispasec ----- >From noticias@hispasec.com Thu Apr 13 12:43:27 2000 Date: Thu, 13 Apr 2000 12:47:02 +0200 From: "Noticias Hispasec" Subject: una-al-dia (10/04/2000) Advert.dll, la dll de la polémica (II) -------------------------------------------------------------------- HISPASEC una al día (10/04/2000) Todos los días una noticia de seguridad -------------------------------------------------------------------- Advert.dll, la dll de la polémica (II) -------------------------------------- Recientemente saltó a todos los medios el caso de Advert.dll, una dll que se instalaba con un gran número de aplicaciones shareware de renombre, y que según todas las informaciones estaba destinada a espiar las transmisiones de los usuarios. Ofrecemos a todos nuestros lectores la continuación del completo análisis que el Laboratorio de HispaSec ha realizado sobre advert.dll. Las comunicaciones Otras de las acusaciones a las que ha sido sometido Aureate tienen que ver con su supuesta capacidad para mantener comunicaciones en secreto y enviar información sensible del usuario a través de Internet. En primer lugar, las comunicaciones con los servidores de publicidad, a través de TCP, pueden ser detectadas con un simple NETSTAT -A. En cuanto al segundo punto, en las pruebas de monitorización de las comunicaciones a nivel de paquete no he encontrado información adicional fuera de la que se contempla en el propio acuerdo de licencia con el usuario: ID del usuario, información del perfil recogido por los formularios, versión del software, o los banners. El único punto negro en este apartado pueden ser las cookies de los servidores de publicidad, que en principio no se contemplan explícitamente en la documentación. En el texto que Aureate pide a los desarrolladores que integren en sus propias licencias, y que como hemos visto anteriormente en la mayoría de las ocasiones hacen caso omiso, se indica que los anuncios se entregan vía Internet y serán descargados de los servidores de Aureate Media o de sus subcontratistas, socios, u otras partes autorizadas. Por último, informa que el software conectará con Internet para la transferencia de actualizaciones del propio software y deja bajo la responsabilidad del usuario cualquier coste del uso de la red u otro derivado del programa. Una vez se lanza cualquier programa que haga uso de la tecnología Aureate se produce un intento de comunicación con los servidores según la información que tiene almacenada en el registro de Windows. En algún foro se ha barajado la posibilidad de modificar los parámetros de los servidores en el registro para que apunten a otra dirección, como puede ser la local, y así evitar las acciones de Aureate. Esta acción no tiene ninguna repercusión en realidad, ya que la librería advert.dll lleva consigo direcciones predeterminadas para modificar el registro en caso de problemas. Cada vez que una aplicación que lleve el sistema de Aureate intenta la comunicación se provoca una media de 150 paquetes TCP y aproximadamente 21.600 bytes -según condiciones-, a través de la cual el cliente envía su ID al servidor lo que le permite identificar el perfil del usuario, enviado la primera vez que se instala Aureate, y cruzarlo con todos sus datos estadísticos. Aquí podemos ver uno de esos paquetes capturados en las pruebas: 0000: C4 55 FB 00 01 01 00 01 B0 56 9A 80 08 00 45 00 .U.......V....E. 0010: 00 36 6F 08 40 00 80 06 F9 85 D4 3B D8 46 D8 25 .6o.@......;.F.% 0020: 0D 8C 04 86 07 B7 00 38 87 80 4B 49 D9 B7 50 18 .......8..KI..P. 0030: 22 19 A0 B9 00 00 00 00 00 00 06 77 6F 14 31 00 "..........wo.1. 0040: 00 00 FB 35 ...5 Del que podemos ver que se trata de un paquete TCP, donde la dirección de destino es la 216.37.13.140, que equivale a "ad2-1.aureate.com", dirigido al puerto 1975 (07B7) y entre los datos podemos encontrar la cadena "00 00 00 00 06 77 6F 14" que concuerda con el ID que en la prueba tenía almacenado en la clave HKEY_CURRENT_USER\Software\Aureate\Advertising\Demographics valor "User ID", dato "14 6f 77 06 00 00 00 00". Entre la información que intercambian el servidor de Aureate y el cliente se envía un paquete en el que se indica donde tiene que recoger el próximo banner. 0000: 00 01 B0 56 9A 80 C4 55 FB 00 01 01 08 00 45 00 ...V...U......E. 0010: 00 C4 9C D4 40 00 75 06 D6 2B D8 25 0D 8C D4 3B ....@.u..+.%...; 0020: D8 46 07 B7 04 86 4B 49 D9 DE 00 38 87 DF 50 18 .F....KI...8..P. 0030: 21 CC 0F 42 00 00 80 00 00 00 44 68 74 74 70 3A !..B......Dhttp: 0040: 2F 2F 6B 61 6E 73 61 73 2E 76 61 6C 75 65 63 6C file://kansas.valuecl 0050: 69 63 6B 2E 63 6F 6D 2F 72 65 64 69 72 65 63 74 ick.com/redirect 0060: 3F 68 6F 73 74 3D 68 30 30 32 34 34 36 39 26 62 ?host=h0024469&b 0070: 3D 69 6E 64 65 78 70 61 67 65 26 76 3D 30 00 81 =indexpage&v=0.. 0080: 00 00 00 3C 9F 00 00 00 48 68 74 74 70 3A 2F 2F ...<....Hhttp:// 0090: 6B 61 6E 73 61 73 2E 76 61 6C 75 65 63 6C 69 63 kansas.valueclic 00A0: 6B 2E 63 6F 6D 2F 63 79 63 6C 65 3F 68 6F 73 74 k.com/cycle?host 00B0: 3D 68 30 30 32 34 34 36 39 26 62 3D 69 6E 64 65 =h0024469&b=inde 00C0: 78 70 61 67 65 26 6E 6F 73 63 72 69 70 74 3D 31 xpage&noscript=1 00D0: 00 02 .. Entonces el cliente Aureate hace una petición HTTP a la dirección para recibir el banner, donde además el nuevo servidor que entra en juego aprovecha para enviar sus cookies que Aureate se encarga de manejar y almacenar en el registro de Windows. Por lo tanto, además del seguimiento que realiza Aureate a través de sus servidores, se produce un segundo control por los servidores de publicidad de donde se recogen los banners, aspecto éste que tampoco he podido encontrar reflejado en el acuerdo de licencia con el usuario. En las pruebas realizadas este segundo servidor ha redirigido una vez mas a nuestro cliente a un tercer servidor que ha sido el encargado de suministrar el banner en formato GIF. En la prueba de comunicación realizada, con una duración de 10 minutos, el cliente de Aureate ha realizado 4 peticiones de nuevos banners siempre obteniendo resultados similares a los comentados. La librería amcis.dll, el "lado oscuro" Todo el protagonismo de las informaciones arrojadas sobre el caso Aureate ha recaido sobre la librería advert.dll, una de las fijas en las primeras versiones de este software. De manera incomprensible se ha olvidado a amcis.dll, otra de las librerías que tampoco podían faltar en esas distribuciones, cuyo estudio despeja algunas incógnitas y nos muestra un lado que hasta la fecha había permanecido oculto en toda esta trama. Durante el proceso de instalación la librería amcis.dll se identifica como clase con un valor especifico, de 128 bits, el denominado Class ID en el registro de Windows bajo la clave CLSID. A través de la aplicación regedit podemos realizar una busqueda de la cadena "BDF0-11D2-BBE5-00609419F467" para encontrar todas las referencias de las creaciones de objetos relacionados con esta librería. En algunas podemos observar como en el valor InprocServer32 se apunta a la librería en cuestión, por ejemplo "c:\windows\system\amcis.dll" junto con el valor ThreadingModel con el dato "Apartment" que indica que el objeto solo puede ejecutarse en un apartamento de un único hilo. Además se crean otras entradas con los valores Stub.NetscapeStop.1, Netscape Starting, Automation Shutdown, Automation Startup, Stub.NetscapeStop, Stub.CIEStub.1, Stub.CIEStub y como Browser Helper Objects. El resultado de todo este entramado de registros es que cada vez que se lanza una instancia de Internet Explorer o Netscape la librería amcis.dll es cargada en memoria en el mismo proceso que el navegador. En ese momento la librería se encuentra conectada con IExplorer, de forma que puede tener el control del navegador así como "escuchar" los eventos que en él sucedan mediante una interfaz. Ademes, amcis.dll realiza una llamada a advert.dll, por lo que el resultado final es que ambas librerías son lanzadas al abrir el navegador, sin necesidad de que se encuentre en memoria la aplicación que hacía uso de la tecnología Aureate, incluso habiéndola desinstalado. A continuación un ejemplo de las librerías que se encuentran en memoria y enlazadas con Internet Explorer en el sistema objeto de las pruebas de este análisis, se pueden observar, entre otras, amcis.dll y advert.dll. Base Size Version Path 0x00400000 0x13000 5.00.2314.1000 C:\Program Files\Plus!\Microsoft Internet\IEXPLORE.EXE 0x77f60000 0x5e000 4.00.1381.0174 C:\WINNT\System32\ntdll.dll 0x77dc0000 0x3f000 4.00.1381.0203 C:\WINNT\system32\ADVAPI32.dll 0x77f00000 0x5e000 4.00.1381.0178 C:\WINNT\system32\KERNEL32.dll 0x77e70000 0x54000 4.00.1381.0133 C:\WINNT\system32\USER32.dll 0x77ed0000 0x2c000 4.00.1381.0115 C:\WINNT\system32\GDI32.dll 0x77e10000 0x57000 4.00.1381.0193 C:\WINNT\system32\RPCRT4.dll 0x70bd0000 0x44000 5.00.2314.1000 C:\WINNT\system32\SHLWAPI.dll 0x70f20000 0xe6000 5.00.2314.1000 C:\WINNT\System32\shdocvw.dll 0x71590000 0x87000 5.80.2314.1000 C:\WINNT\system32\COMCTL32.dll 0x77c40000 0x13c000 4.00.1381.0171 C:\WINNT\system32\SHELL32.dll 0x71730000 0x57000 5.00.2314.1000 C:\WINNT\System32\shdoclc.dll 0x70400000 0x77000 5.00.2314.1000 C:\WINNT\System32\MLANG.DLL 0x77b20000 0xb6000 4.00.1381.0190 C:\WINNT\system32\ole32.dll 0x71020000 0xc4000 5.00.2314.1000 C:\WINNT\System32\BROWSEUI.dll 0x717a0000 0xb000 5.00.2314.1000 C:\WINNT\System32\browselc.dll 0x779b0000 0x9000 4.00.1371.0001 C:\WINNT\System32\LinkInfo.dll 0x77720000 0x11000 4.00.1381.0027 C:\WINNT\system32\MPR.dll 0x77a40000 0xd000 4.00.1381.0027 C:\WINNT\System32\ntshrui.dll 0x78000000 0x47000 6.01.8455.0000 C:\WINNT\system32\MSVCRT.dll 0x77800000 0x3a000 4.00.1381.0093 C:\WINNT\system32\NETAPI32.dll 0x77840000 0x9000 4.00.1371.0001 C:\WINNT\system32\NETRAP.dll 0x777e0000 0xd000 4.00.1381.0135 C:\WINNT\system32\SAMLIB.dll 0x10000000 0xc000 1.00.0000.0001 C:\WINNT\System32\amcis.dll 0x65340000 0x92000 2.40.4275.0001 C:\WINNT\system32\OLEAUT32.dll 0x01200000 0x8d000 1.05.0001.0018 C:\WINNT\System32\advert.dll 0x776d0000 0x8000 4.00.1381.0201 C:\WINNT\system32\WSOCK32.dll 0x776b0000 0x14000 4.00.1381.0172 C:\WINNT\system32\WS2_32.dll 0x776a0000 0x7000 4.00.1381.0031 C:\WINNT\system32\WS2HELP.dll 0x77d80000 0x32000 4.00.1381.0133 C:\WINNT\system32\COMDLG32.dll 0x70280000 0x6e000 5.00.2314.1003 C:\WINNT\System32\urlmon.dll 0x77a90000 0xb000 4.00.1371.0001 C:\WINNT\system32\VERSION.dll 0x779c0000 0x8000 4.00.1371.0001 C:\WINNT\system32\LZ32.dll 0x71190000 0x7000 5.00.2314.1000 C:\WINNT\system32\MSIDLE.DLL 0x77bf0000 0x7000 4.00.1381.0160 C:\WINNT\System32\rpcltc1.dll 0x70200000 0x70000 5.00.2314.1003 C:\WINNT\System32\WININET.DLL 0x717e0000 0x9000 5.00.2314.1000 C:\WINNT\System32\shfolder.dll 0x777f0000 0xc000 4.00.1381.0027 C:\WINNT\System32\ntlanman.dll 0x77890000 0x15000 4.00.1381.0046 C:\WINNT\System32\NETUI0.dll 0x77850000 0x3a000 4.00.1381.0046 C:\WINNT\System32\NETUI1.dll 0x017b0000 0x36000 4.01.0000.0000 C:\PROGRA~1\GetRight\XX2GR.DLL 0x77c00000 0x18000 4.00.1381.0027 C:\WINNT\System32\WINSPOOL.DRV 0x77660000 0xf000 4.00.1381.0037 C:\WINNT\system32\msafd.dll 0x77690000 0x9000 4.00.1381.0037 C:\WINNT\System32\wshtcpip.dll 0x75320000 0x22000 4.00.1381.0194 C:\WINNT\System32\RASAPI32.DLL 0x74a10000 0x1f000 4.00.1381.0135 C:\WINNT\System32\TAPI32.dll 0x750f0000 0x10000 4.00.1381.0194 C:\WINNT\System32\RASSCRPT.dll 0x75210000 0x7000 4.00.1371.0001 C:\WINNT\System32\RASFIL32.dll 0x752f0000 0xb000 4.00.1381.0194 C:\WINNT\System32\rascauth.dll 0x751a0000 0x12000 4.00.1381.0194 C:\WINNT\System32\rasman.dll 0x74ff0000 0xe000 4.00.1381.0201 C:\WINNT\System32\rnr20.dll 0x75360000 0x7000 4.00.1371.0001 C:\WINNT\System32\rasadhlp.dll 0x70c30000 0x240000 5.00.2314.1002 C:\WINNT\System32\mshtml.dll 0x4a000000 0x2c000 6.00.0000.8169 C:\WINNT\System32\PDM.DLL 0x4aa00000 0x15000 6.00.0000.8146 C:\WINNT\System32\MSDBG.DLL 0x76ab0000 0x5000 4.00.1381.0001 C:\WINNT\System32\IMM32.DLL 0x711b0000 0x76000 5.00.0000.3715 C:\WINNT\System32\jscript.dll 0x48080000 0x28000 3.10.0337.0000 C:\WINNT\System32\MSLS31.DLL Esta particularidad daría argumentos a aquellos que quieren ver en Aureate un troyano: el sistema enlaza con los navegadores para asegurarse su ejecución sin necesidad de los programas anfitriones, además con la posibilidad de espiar los eventos que suceden mientras navegamos. En las pruebas realizadas no se ha podido detectar en ningún caso que las librerías cargadas en memoria por Internet Explorer, sin la mediación de los progamas anfitriones, mantuvieran algún tipo de comunicación con los servidores de publicidad. Por lo que respecta a este análisis la única evidencia, demostrada, es que las librerías de Aureate se cargan en memoria cuando se lanzan los navegadores de Microsoft o Explorer, incluso tras la desinstalación de los programas anfitriones con las que se distribuyeron dichas DLLs. Las pruebas en este apartado han consistido en el análisis a nivel de paquetes derivado de la navegación al azar durante 10 minutos. En el debe queda realizar el análisis por un periodo de tiempo más prolongado, así como comprobar si estas librerías utilizan su posición en memoria para seguir actualizando las cookies registradas por los servidores de publicidad. Desinstalar Aureate Por Internet ya circulan algunas utilidades que tienen como fin el desinstalar el sistema de Aureate, en los casos probados ninguna de ellas realiza la desinstalación total de las DLLs de las diferentes versiones, y mucho menos de las entradas del registro. Además, provocan que los programas que utilizan esta tecnología dejen de funcionar. Con la información proporcionada en este análisis se puede llevar a cabo la limpieza total o parcial, a base de borrar todas las librerías y registros del sistema mencionados. En el caso de que se quieran conservar los programas con tecnología Aureate en funcionamiento, pero se desee eliminar la activación automática con los navegadores, bastar_ con borrar la librería amcis.dll, así como sería adecuado eliminar las entradas en el registro que le hacen referencia. Bernardo Quintero bernardo@hispasec.com ------------------------------------- una-al-día es un servicio de HispaSec (http://www.hispasec.com) --------------------------------------------------------------------- (c) 2000 Hispasec. copyright@hispasec.com ----- End of forwarded message from Noticias Hispasec ----- -------------------------------------------------------