|
VSantivirus No. 618 - Año 6 - Domingo 17 de marzo de 2002
Solución parcial para ejecución de comandos sin ActiveX
http://www.vsantivirus.com/sol-innerhtm.htm
Por Jose Luis Lopez
videosoft@videosoft.net.uy
Esta solución parcial al problema de la ejecución de comandos insertados en el código HTML, que ocurre aún cuando tengamos desactivadas las opciones de Active Scripting y ActiveX, nos servirá también para protegernos del apagado en forma remota de
Windows XP, y de la ejecución de código en
IncrediMail.
En VSA 603, dábamos cuenta de la posibilidad de ejecución de comandos embebidos en el código HTML tanto de páginas maliciosamente construidas, como de correo electrónico con ese formato, aún con Active Scripting y Active X deshabilitados.
El código puede ser insertado dinámicamente en cualquier parte del documento HTML, gracias a la propiedad del HTML dinámico conocida como InnerHTML. En el artículo publicado en
VSA 603
se explica esto con más detalles, aunque básicamente se trata de la explotación maliciosa de una facilidad agregada por el Internet Explorer 4, llamada "Data Binding", que permite a los desarrolladores separar completamente los datos de una aplicación de su capa de presentación.
La fuente de datos (DSO) para Data Binding puede ser cualquier cosa, como archivos CSV (texto separado por comas), HTML, XML y mucho más. Data binding enlaza los elementos HTML como div o span con el DSO, sin necesidad de usar la más mínima línea de código. Cualquier página o correo con formato HTML, puede llegar a ejecutar un comando o programa en nuestro PC, no existiendo aún ningún parche para evitarlo.
Sin embargo, existe una forma de disminuir los riesgos de que esto ocurra, incluso de evitar que cualquier código se ejecute por medio de esta vulnerabilidad.
La misma solución nos protegerá de otra vulnerabilidad publicada hace unos días en
VSA 615, la cuál permite que Windows XP pueda ser reiniciado sin advertencia alguna, mientras estamos conectados a Internet.
Basado en la misma falla reportada en VSA 603, un exploit fácilmente disponible en Internet, permite que un archivo llamado Logoff.exe, instalado por defecto en Windows XP, se pueda ejecutar automáticamente cada vez que un usuario visualiza una página web o lea un mensaje electrónico con formato HTML, apagándole la computadora, con la posible perdida de archivos y documentos no grabados todavía al disco.
Y como no hay dos sin tres, esta solución también previene la ejecución de código en programas como IncrediMail (ver
El IncrediMail puede permitir la ejecución de troyanos).
En este último artículo, veíamos cuál era el código que se ejecuta, aún teniendo desactivados Active Scripting y ActiveX en la configuración de los niveles de seguridad:
<exploit>
<![CDATA[
<object id="oFile"
classid="clsid:11111111-1111-1111-1111-111111111111"
codebase=" C:\Archivos de programa\IncrediMail\Data
\Identities\{Número de la identidad}/Message Store/
Attachments/trojan.exe"></object>]]>
</exploit>
La razón de que los cambios en los niveles de seguridad no lo afecten, es muy simple. Sucede que el código insertado entre las etiquetas
<object [etc.]...> y </object> se ejecuta en la zona de seguridad local
(Mi PC), y no hay forma de cambiar la configuración de seguridad allí, al menos por los medios normales.
Para entender esto, veamos cuáles son las zonas de seguridad que Windows maneja en el registro:
- Zona 0 = Mi PC (nuestro equipo)
- Zona 1 = Intranet local (sitios Web de la red local)
- Zona 2 = Sitios de confianza (aquellos que sabemos seguros)
- Zona 3 = Internet (todos los sitios que no estén en las otras zonas)
- Zona 4 = Sitios restringidos (sitios que sabemos peligrosos)
Si vamos a las opciones de configuración de seguridad (en el
Panel de control o en Herramientas del IE, Propiedades de Internet,
Seguridad), vemos que tenemos la posibilidad de actuar sobre la configuración de las zonas conocidas como
Internet (Zona 3), Intranet local (Zona 1), Sitios de confianza (Zona 2) y Sitios restringidos (Zona
4). Pero no hay opciones para actuar en la crítica zona reservada para la ejecución local en nuestro equipo
(Zona 0), donde se ejecutan los objetos que aprovechan los exploits mencionados antes.
Por lo tanto, para proceder a cambiar esta configuración, debemos echar mano al registro de Windows.
Para ello, desde Inicio, Ejecutar, escribimos REGEDIT y pulsamos Enter. Luego, en el panel izquierdo vamos a la siguiente rama, pulsando en el símbolo + hasta abrir la última carpeta de la rama, la llamada
'0':
HKEY_CURRENT_USER
\Software
\Microsoft
\Windows
\CurrentVersion
\Internet Settings
\Zones
\0
Pulsamos sobre la carpeta "0" para abrirla, y en el panel de la derecha, bajo la columna "Nombre", hacemos doble clic sobre el valor
"1004". Se abrirá la ventana "Editar valor DWORD".
Allí, en "Información del valor" (Base 'Hexadecimal'), cambiamos el
"0" por un "3" y seleccionamos "Aceptar". En la columna datos debería quedar algo como 0x00000003 (3)
Salimos del editor del registro (menú "Registro", "Salir"), y reiniciamos nuestra computadora.
Para aquellos curiosos, si existiera la forma de alterar los niveles de seguridad en la zona
"Mi PC" como la hay para otras (Internet, etc.), el valor
"1004" corresponde a la opción "Controles y complementos de
ActiveX", "Descargar los controles no firmados para
ActiveX", y el valor "3" significa
"Desactivar".
Referencias:
VSantivirus No. 603 - 2/mar/02
Ejecución de comandos sin Active Scripting ni ActiveX
http://www.vsantivirus.com/vul-innerhtm.htm
VSantivirus No. 615 - 14/mar/02
Windows XP en peligro de ataques de reinicio remoto
http://www.vsantivirus.com/14-03-02.htm
VSantivirus No. 618 - 17/mar/02
El IncrediMail puede permitir la ejecución de troyanos
http://www.vsantivirus.com/vul-incredimail.htm
(c) Video Soft - http://www.videosoft.net.uy
(c) VSAntivirus - http://www.vsantivirus.com
|
|