SEGURIDAD SEGURIDADEN ENPROTECTORES PROTECTORES DE DE PANTALLA PANTALLA WIN WIN 9X 9X S. Amador Profesor Auxiliar Universidad del Cauca La función básica de los protectores de pantalla es que los rayos de luz que emite el monitor no sean estáticos con el fin que no queme el vidrio del monitor, marcándolo así con la imagen más constante que se despliega en la pantalla, esto por causa de la ociosidad del tiempo de uso del monitor. Sin embargo este objetivo inicial ha ido cambiando poco a poco hasta encontrar protectores de pantalla muy sofisticados y además permiten cuidar nuestra sesión a través de contraseñas en el mismo protector. Esto no es seguro de ninguna manera debido a que Win 9X deja muy débilmente encriptada las claves del protector en un archivo a la vista de todos (user.dat). Utilizando 2 tablas veremos que tan sencillo es descifrar las claves de protector de pantalla de Win 9X. 45 Introducción ste artículo explicará de una manera fácil y sencilla, la forma de descifrar la clave del protector de pantalla de Windows. También espero que no sea el único que aparezca en la revista, acerca de este u otros temas. Hay que aclarar, que este articulo ha sido escrito con fines didácticos, el autor no se responsabiliza del uso y las consecuencias del mismo. Para lograr descifrar la contraseña del protector de pantalla necesitaremos las siguientes herramientas: a.Un editor hexadecimal (Puede ser el Hexedit). b.Una tabla de código ASCII en hexadecimal, este artículo y Windows 95/98. Windows guarda la clave encriptada en el archivo "user.dat", si el computador solo lo usa una persona, el archivo se encuentra por defecto en el directorio de Windows, si se han definido varias cuentas de usuario, dichos archivos estarán en la carpeta profiles\nombre deusuario. "user.dat", es uno de los dos archivos de registro, se encuentran con los atributos "shr", Sintaxis de Attrib, bajo DOS Muestra o cambia los atributos de los archivos. ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] [[drive:][path][nombre de archivo] [/S] SEGURIDAD EN PROTECTORES y lleva una copia de seguridad que se llamará "user.da0", esto será en caso que el usuario halla cambiado la contraseña y allí se encontrará la antigua, en el caso que nos interese las contraseñas anteriores para obtener parámetros de escogencia en las contraseñas y mayor posibilidad de éxito en otros servidores con acceso del mismo usuario. También hay que tener en cuenta que Windows no distingue entre mayúsculas y minúsculas, falla muy grave debido a que el rango de posibilidades de encripción se reduce favoreciéndonos la búsqueda de la clave. Ahora bien, pasemos a descifrar la frase de la clave. Edita el archivo con un editor y busca la cadena "ScreenSave_Data", a continuación te encontrarás una serie de números y letras, pues bien, ahí está la clave encriptada. Cada letra de la clave está formada por dos en el archivo (en ASCII) y cada una de estas es un número en hexadecimal. La forma de encriptar es la siguiente, cada letra de la contraseña, se encripta siempre de la misma forma dependiendo de la posición que ésta ocupa en la contraseña, es decir, la letra "a" por ejemplo si en la clave va en la primera posición, encriptada será siempre 30 31 (hexadecimal), independientemente de que vaya sola o acompañada, si esta en la segunda posición, tendrán otros valores, pero siempre serán los mismos cuando este en esa posición. Lo mismo ocurre para el resto de caracteres. Una vez entendido el funcionamiento, utilizando las tablas 1 , 2 y una tabla de código ASCII en hexadecimal será sencillo descifrar la contraseña. Cada letra de la contraseña son dos números en hexadecimal (como expliqué antes), correspondientes a cada una de las tablas que hay al final del documento respectivamente. Las filas están formadas por los números en hexadecimal y las columnas corresponden a la posición que ocupan las letras en la clave. A la hora de descifrar la clave del protector de pantalla, hay que fijarse en si es el primer o segundo número hexadecimal (cada letra de la contraseña son dos dígitos hexadecimales) y la posición que ocupa la pareja en la contraseña es fundamental a la hora de descifrar la contraseña. Voy a explicar la forma de desencriptar con un ejemplo, para que quede más claro. Tenemos como clave la "b", en el archivo "user.dat", después de la frase "ScreenSave_Data" nos encontramos "0A" (ASCII), en hexadecimal sería 30 41. Pues bien tomamos el primer dígito (30) y lo buscamos en la primera tabla en la posición 1 (es la primera letra de la clave) y el segundo dígito en la segunda tabla, también en la posición 1. Obtenemos el 6 de la primera tabla y el 2 de la segunda, juntando los dos, nos da el número hexadecimal 62h, que si lo buscamos en el código ASCII, corresponde a la letra "b", que es la contraseña del protector de pantalla, fácil no?. Ejemplo: 0 A A F 3 5 4 9 2 2 3 B E 8 5 4 --> user.dat Los caracteres de arriba "0AAF3549223BE854" son tomados del archivo user.dat, en este momento la clave se encuentra encriptada y esa sarta es la que oculta la clave del protector de pantalla. 30 41 41 46 33 35 34 39 32 32 33 42 45 38 35 34 --> CARÁCTER a HEXA La sarta de arriba "3041414633353439323233424538 3534" es producto de la conversión en una tabla de caracteres a hexadecimal, es decir que el carácter 0 equivale en hexadecimal a 30, según la tabla de el editor hexadecimal Ultraedit32. 6 2 6 1 6 3 7 4 7 2 6 9 6 F --> TABLAS 1 y 2 6 5 La sarta de arriba "6261637465726967" es producto de 46 del hexadecimal 30 en del protector de pantalla descifrada. la tabla 1, dueto 1, equivale a 6. Elhexadecimal 41 en la tabla 2, dueto 1, equivale a 2. Luego en este instante ya debo tener el equivalente en hexadecimal de la primera letra de la clave del protector de pantalla, que es 62h. 62h 61h 74h 65h 69h 6Fh HEXA 63h 72h --> La sarta de arriba "62h 61h 63h 74h 65h 72h 69h 67h" es producto de la unión dela sarta inmediatamente anterior en grupos de a dos. "b" "a" "c" "t" "e" "r" "i" "o" --> HEXA a CARACTER Clave La sarta de arriba "bacterio" es producto de la conversión en un tabla de hexadecimal a caracteres, es decir que el hexadecimal 62h equivale en caracter a b, según la tabla de el editor hexadecimal Ultraedit32 y finalmente tenemos la clave 47 Tabla 1. Descifra el PRIMER dígito en hexadecimal deficiente. Hasta el momento no conocemos ninguna corrección en la forma de encriptar las claves o algún parche por parte de Micro soft, aún no se han pronunciado al respecto y el problema sigue vigente. Lo más traumático de todo esto es que el común de la gente utiliza la misma clave para muchos servidores, lo que quiere decir que al obtener el archivo user.dat del usuario en cuestión, tenemos una alta probabilidad de tener acceso a otros servid ores del mismo usuar io. Uno de las tantas formas que se utilizan para irrum pir en sistem as ajenos es envian do por correo gusan os que se encargan de infectar otros usuarios, el gusano puede tener en su interior el programa que descifra las claves de los protectores de pantalla de los usuarios infectados, luego el mismo gusano envía la IP de la víctima y su clave descifrada a un correo de confianza del autor y listo, su seguridad está vulnerada. Las tablas están hechas para claves de longitud máxima de 10 caracteres, si te encuentras con una clave mayor, puedes completar las tablas tu mismo, poniendo claves a posta y realizando el proceso al revés. Si deseas comprobar todo lo expuesto en este artículo, puedes descargar el programa codificado en lenguaje c, que se encarga de automatizar todo el proceso en: Para obtener el código del programa debe Descifra el SEGUNDO dígito en hexadecimal Tabla 2. enviar un correo a informando su deseo de obtener el fuente del programa. El programa tiene la limitante de descifrar Conclusión claves hasta 10 caracteres. La seguridad que nos brinda Win 9x con Tenga en cuenta que muchos usuarios, sus protec tores de panta lla es muy utilizan la misma clave para muchas cosas, SEGURIDAD EN PROTECTORES así que descifrar ésta nos puede ser bastante útil. La solución a este problema sonará un poco radical pero por ahora es la más segura, abstenerse de usar el protector de pantalla y apagar el PC cuando vaya quedar desatendido, sin olvidar colocar una clave de inicio en la BIOS. En el caso que sea extremadamente necesario el uso del protector, entonces no colocar claves iguales que dan acceso a diferentes cuentas del mismo usuario en varios servidores y por cada vez que active su protector de pantalla con clave procure que sea siempre diferente a la anterior. Cuando reciba correos con archivos adjuntos procure verificar que sea enviado realmente por la persona que lo remite y vacune el archivo adjunto. No olvide mantener siempre actualizado el antivirus de su preferencia, de lo contrario el antivirus no podrá detectar el gusano para eliminarlo. Agradecimientos (Tomado de la revista SET, ejemplar 19, agradecimientos a Bacterio. ). Agradecimientos especiales a: Carlos Cobos Luis F. Wuanumen Andrés Flechas Bibliografía Revista SET, ejemplar 19, http://www.set-ezine.org 48