Georgi Guninski, ya habitual en nuestras noticias por sus continuos
descubrimientos de vulnerabilidades, vuelve en esta ocasión con una
nueva alerta que afecta a sistemas con Windows 98 y 2000.
El aviso publicado por Guninski alerta de la posibilidad de ejecución
arbitraria de archivos accesibles bajo el Entorno de Red de Microsoft
en sistemas con Windows 98 y IE 5.x. Mientras que bajo Windows 2000 el
problema puede ser más grave ya que con la configuración por defecto
puede llevar al compromiso de la cuenta de administrador.
En esta ocasión el peligro radica en la característica que poseen los
sistemas afectados para mostrar las carpetas como páginas web, lo cual
permite la inclusión de contenido activo que se visualizará cuando se
acceda a la carpeta remota o local.
La forma en que la carpeta se muestra cuando se visualiza como una
página web está controlado por el archivo «Folder.htt» localizado en la
propia carpeta. Este fichero es un tipo especial de html que puede
contener scripts y objetos ActiveX.
Para visualizar los archivos de una carpeta se debe usar el control
ActiveX Shell DefView, que básicamente contiene las funcionalidades del
Explorador antiguo. Este control incluye el método InvokeVerb que se
usa para realizar acciones con el archivo seleccionado, como mostrar
sus propiedades, abrirlo o ejecutarlo. Este método toma una cadena con
la acción a realizar con el archivo como parámetro, Microsoft ha
tratado de proteger dicho método pero ha quedado un pequeño problema
residual en el cual se basa esta vulnerabilidad.
Si se efectúa la llamada a InvokeVerb() sin ningún parámetro, este
ejecutará la acción por defecto sobre el archivo, que es Abrir
(Ejecutar). Por lo que para llevar a cabo el ataque un usuario
malicioso puede crear una carpeta y situar el programa o archivo que se
desee ejecutar, por ejemplo «a.bat». En esta carpeta también debe
situar el un archivo «Folder.htt», como el siguiente:
setTimeout(«f()»,2000);
function f() {
FileList.focus();
FileList.FocusedItem.InvokeVerb();
}
Hola !!
<object id=FileList border=0 tabindex=1
classid=»clsid:1820FED0-473E-11D0-A96C-00C04FD705A2″>
El código sitúa el foco en el primer archivo de la carpeta mediante
FileList.focus(), en este caso el archivo «a.bat» preparado, mientras
que FileList.FocusedItem.InvokeVerb() ejecuta (abre) el archivo sobre
el que previamente se ha situado el foco.
Microsoft se ha mostrado disgustada por la publicación de este aviso
por parte de Guninski, al señalar que realizó su difusión tan sólo 12
horas después de avisarles lo que pena les dio tiempo para reaccionar e
investigar el problema. Por otra parte desde la multinacional se ha
restado importancia a la gravedad del problema, al afirmar que es
necesario disponer de acceso físico a la máquina que se desea
comprometer. Como solución temporal se recomienda desactivar la opción
de visualizar carpetas como páginas web para todos los usuarios.
antonior@hispasec.com
Más información:
CNet
Securityfocus
Bugtraq
Deja una respuesta