Durante el proceso de inicio de sesión de un usuario en Windows NT y 2000 se ejecuta la aplicación «Explorer.exe», que se encuentra en el directorio de Windows. Debido a un error de Microsoft al no especificar la trayectoria absoluta de este fichero, es posible situar un troyano con el mismo nombre en el raíz que se ejecutará con los privilegios del usuario que inicie la sesión.
Cada vez que un usuario inicia la sesión, Windows NT y 2000 leen la entrada del registro:
HLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonShell para conocer el fichero que deben ejecutar como Shell, por defecto «Explorer.exe», sin indicar la trayectoria absoluta.
Cuando en Windows no se especifica la trayectoria de un fichero inicia una búsqueda en el siguiente orden:
1. Busca en el directorio actual
2. Si el fichero no ha sido localizado, busca en los directorios especificados en:
HLMSYSTEMCurrentControlSetControlSession ManagerEnvironmentPath 3. Si tampoco es localizado, busca en los directorios especificados en: HKEY_CURRENT_USEREnvironmentPath
Esto quiere decir que, durante el inicio de sesi¢n, en primer lugar intenta localizar a «Explorer.exe» en el ra¡z (ejem: C:), a continuaci¢n en el directorio de sistema (ejem: C:WINNTSystem32), y por oltimo en la carpeta de Windows (ejem: C:WINNT), donde se encuentra el fichero.
Por defecto todos los usuarios del sistema tienen permisos de escritura sobre el directorio ra¡z, lo que facilita que un atacante local pueda situar un troyano renombrado como «Explorer.exe» en el ra¡z, que se ejecutar¡a cada vez que un usuario inicie la sesi¢n con sus privilegios de seguridad.
Microsoft argumenta que no especifica una trayectoria absoluta porque podr¡a causar problemas de compatibilidad con software comercial, que interrogan tambi’n el registro de Windows para conocer el nombre del Shell, y no est n preparados para leer una trayectoria completa. Es por esta raz¢n que no es posible, o al menos recomendable, corregir la vulnerabilidad mediante la inclusi¢n de la trayectoria absoluta en la entrada del registro. Para solucionar el problema Microsoft ha modificado el c¢digo de Inicio de sesi¢n para que anteponga la trayectoria adecuada antes del nombre del fichero.
Los parches para corregir esta vulnerabilidad, segon plataforma, puede ser descargados de las siguientes direcciones:
Microsoft Windows NT 4.0 Workstation, Windows NT 4.0 Server, y Windows NT 4.0 Server, Enterprise Edition: http://www.microsoft.com/Downloads/Release.asp?ReleaseID=23360
Microsoft Windows 2000 Professional, Server, y Advanced Server:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=23359
Microsoft Windows NT 4.0 Server, Terminal Server Edition:
No disponibles aun.
M s informaci¢n:
Bolet¡n de seguridad (MS00-052) «Relative Shell Path»:
http://www.microsoft.com/technet/security/bulletin/MS00-052.asp
Antonio Ropero
antonior@hispasec.com