You are on page 1of 11

Instituto Politcnico Nacional

Escuela superior de Ingeniera Mecnica y Elctrica


Unidad Culhuacn
Seccin de Estudios de Posgrado e Investigacin

Prctica 2: Escalacin de privilegios en Windows 7 a travs de


Stickykeys

Alumno: Alfonso Enrique Velasco Ramrez


Profesor: MSI. Pablo Ramn Mercado Hernndez
Materia: Seguridad en Sistemas Operativos Multinivel

Mxico D.F. 1 de Marzo de 2016


Objetivo
Demostrar la vulnerabilidad de autorizacin de los sistemas Windows causada por
la caracterstica de accesibilidad llamada Stickykeys.

Marco Terico
Autorizacin.- La autorizacin refiere a las capacidades de un sujeto de poder
modificar un objeto, en Sistemas operativos, la autorizacin es la parte del sistema
que protege los objetos o recursos del sistema (archivos, carpetas, dispositivos,
etc.) de ser modificados por un usuario que no tiene los permisos suficientes, es
decir que no est autorizado para ello; la cantidad de objetos que el usuario pueda
modificar depende del nivel de autorizacin que tenga.
StickyKeys.- Es una caracterstica de accesibilidad para usuarios con problemas
para mantener pulsadas dos o ms teclas al mismo tiempo. Cuando se necesita
una combinacin de varias teclas para lograr un acceso directo, como por ejemplo
CTRL+P, gracias a StickyKeys se podrn pulsar dichas teclas de una en una en
lugar de tener que pulsarlas de manera simultnea. Para activar esta
caracterstica se debe de oprimir la tecla shift 5 veces seguidas, esta accin har
que se ejecute una ventana que contiene un mensaje el cual pregunta si se
quieren habilitar las StickyKeys, una vez que se respondi de manera afirmativa a
este mensaje, las StickyKeys estarn activadas. Las StickyKeys se ejecutan desde
que Windows arranca, lo que permite acceder a ellas incluso antes de seleccionar
un usuario para iniciar sesin.
El archivo de Windows el cual se encarga de dar este tipo de accesibilidad se
nombra sethc.exe, cabe resaltar que el sistema no verifica la integridad de este
archivo al ejecutarlo, por lo cual es posible modificarlo y el sistema no detectar
arbitrariedad alguna.

Desarrollo
En esta prctica se mostrar paso a paso como explotar la vulnerabilidad (o los
privilegios de accesibilidad, segn Microsoft), que permite ingresar a una cuenta
de cualquier sistema operativo Windows (XP a 8) que tiene una contrasea de
usuario activa y que adems permite escalar privilegios a un usuario normal para
que tenga permisos de administrador, esto se llevar a cabo a travs de la
modificacin del archivo sethc.exe y la copia del archivo cmd.exe, es importante
aclarar que esto solo funciona si ingresamos al sistema con permisos de System,
lo cual es posible si se utilizan las herramientas de reparacin de sistema de
Windows como se muestra a continuacin.
Paso 1.- Se enciende el equipo de cmputo con sistema operativo Windows y se
corta la corriente del mismo antes de que este entre a la pantalla de autenticacin,
esto con el fin de que al volver a encender el equipo y antes de cargar los archivos
de sistema, el S.O ejecute una pantalla de recuperacin de errores, la cual
pregunta si se quieren verificar errores y reparar fallos, esto se debe a que se
cort la alimentacin del equipo durante el proceso de carga de archivos de
Windows lo que podra provocar errores en el sistema y por ello el sistema brinda
esta opcin. Una vez que esta pantalla se ejecuta, se dar enter en la opcin de
Launch Startup Repair (El idioma puede variar segn la configuracin del S.O). A
continuacin la figura 1, muestra la pantalla que se describi anteriormente.

Figura 1.- Pantalla de recuperacin de Windows.

Paso 2.- Una vez que se eligi la opcin de Launch Startup Repair aparecer una
pantalla (figura 2) la cual indica que la reparacin de inicio est buscando errores
en el sistema, posterior a esto se abrir una ventana la cual pregunta si se desea
restaurar el sistema, a lo cual se responde que no, esta ventana se muestra en la
figura 3, despus de haber respondido de manera negativa se cerrar dicha
ventana y continuar buscando errores.

Figura 2.- Bsqueda de errores


Figura 3.- Mensaje de restauracin de sistema

Paso 3.- Una vez que termina la bsqueda de errores, aparecer una ventana la cual
informa que no se pudo restaurar el sistema automticamente, esta ventana contiene una
opcin para ver detalles ms especficos del problema detectado, seleccionaremos dicha
opcin la cual se muestra en la figura 4.

Figura 4 View problem details

Paso 4.- Una vez seleccionada la opcin anterior se mostrarn los detalles del
problema, bajaremos la barra de desplazamiento hasta el final de dicha seccin y
seleccionaremos la ruta de acceso X:\windows\system32\en-US\eroffpls.txt (puede
cambiar dependiendo del idioma). La ruta dentro de la seccin de detalles de
problema se muestra en la figura 5.
Figura 5 Ruta erofflps

Paso 5.- La seleccin de dicha ruta ejecutar un archivo desde el editor de textos
(Notepad) abrimos el men File y seleccionamos la opcin open.
Paso 6.-Una vez seleccionada la opcin open se abrir una ventana la cual nos
mostrar los archivos existentes en el equipo que se est llevando a cabo esta
prctica como discos duros, documentos y lugares recientes, se proceder a
buscar la unidad de disco duro D: que en este caso especfico es la unidad en la
cual est grabado el S.O y se seleccionar dicha unidad, una vez hecho esto se
acceder a la carpeta Windows/system32/ una vez situados en esta ruta, se
seleccionar la opcin de ver todos los archivos como se muestra en la siguiente
figura.

Figura 6.- Ventana system32 mostrando todos los tipos de archivos que contiene la carpeta
system32

Paso 7.- Se lleva a cabo la bsqueda del archivo cmd.exe y se genera una copia
del mismo como se muestra en la figura 7.
Figura 7.- Copia de archivo cmd

Paso 8.- A continuacin se busca el archivo sethc.exe, el cual es referente a las


StickyKeys que se mencionaron en el marco terico de este documento y se
renombra con un nombre aleatorio en este caso se nombr sethcCopy, dicho
archivo y su renombramiento se muestran en la figura 8.

Figura 8.- Renombramiento del archivo sethc a sethcCopy

Paso 9.- Finalizado el paso anterior se procede a renombrar el archivo copia de


cmd (vase Figura 9), el nuevo nombre ser sethc.exe, el cual hace referencia al
archivo de StickyKeys que se renombr en el paso anterior, como se mencion
anteriormente en el documento, Windows no verifica la integridad de estos
archivos al momento de cargarlos, entonces esta tcnica se utiliza con la finalidad
de engaar al sistema a travs de cambiar nombres de archivos, en este caso al
archivo que es una copia de una consola de comandos se le renombra como el
archivo que ejecuta las StickyKeys con la finalidad de que al iniciar el sistema y
antes de ingresar una contrasea de usuario se oprima la tecla shift 5 veces como
se tiene que hacer para activar las StickyKeys, pero, en vez de activar esta opcin
de accesibilidad se ejecutar la consola de comandos que es la esencia real del
archivo que se renombro como sethc.

Figura 9.- Renombramiento del archivo cmd-copia a sethc.

Paso 10.- Una vez realizados los cambios mencionados se procede a cerrar todas
las ventanas que se tienen abiertas y se reinicia el equipo.
Paso 11.- El equipo se reiniciar normalmente, una vez situados en la pantalla de
autenticacin se presionar la tecla shift 5 veces y en lugar de ejecutarse el
mensaje que pregunta si se quieren activar las StickyKeys, se ejecuta una ventana
de comandos con permisos System como la que se muestra a continuacin en la
figura 10.

Figura 10.- Ejecucin de consola de comandos a travs de la tecla shift

Paso 12.- De este paso en adelante se realizarn las acciones necesarias para
demostrar que los pasos que hemos hecho hasta ahora permitirn que se hagan
cambios tanto en usuarios administradores como usuarios no administradores (a
los cuales se les asignaran privilegios de administrador), lo que representa una
escalacin de privilegios, gracias a esto quedar demostrada la vulnerabilidad que
representan las StickyKeys dentro de un sistema Windows.
En este paso veremos los usuarios que existen en el sistema con privilegios de
administrador y los usuarios normales, esto mediante el uso del comando net
localgroup Administrators y net localgroup Users como se muestra en las figuras
11 y 12 respectivamente.

Figura 11.- Lista de usuarios con privilegios de administrador

Figura 12.- Lista de usuarios (normales) sin privilegios de administrador

Como se puede ver en las figuras el resultado de listar los tipos de usuarios nos
indica que, servicio social es un usuario de tipo administrador y el usuario poncho
es un usuario de tipo normal.
Paso 13.- En este paso se muestra cmo se puede vulnerar la parte de
autenticacin desde esta consola de comandos, es un proceso muy sencillo como
todos los que se han hecho hasta el momento, slo basta con teclear el comando
net user nombre de usuario *, este comando lo que indica es que se quiere
asignar una contrasea nueva al usuario que se escribe en la parte de nombre de
usuario lo que nos permitir cambiar la contrasea actual de ese usuario y poder
acceder a su cuenta con los mismo privilegios que tiene; el comando en ejecucin
se muestra en la figura 13.

Figura 13.- Comando net user * para cambio de contrasea.

Paso 14.- Una vez que se demostr la facilidad con la cual se puede cambiar una
contrasea en el sistema, mostraremos como escalar privilegios, que es el objetivo
principal de esta prctica, para ello slo es necesario ejecutar un comando en la
consola y listo, se obtendrn los privilegios de administrador. El comando es el
siguiente: net localgroups Administrators nombre de usuario /add nombre de
usuario; la ejecucin de dicho comando se muestra en la figura 14.

Figura 14.- Comando net localgroup Administrators /add para asignar privilegios a un usuario.

Una vez que se ejecut el comando se procede a verificar que se realiz la accin
deseada, esto utilizando nuevamente el comando net localgroup Administrators.
Como se muestra en la figura en la figura 15.
Figura 15.- Verificacin del comando net localgroups Administrators

Como se puede observar el usuario poncho, ahora pertenece a los usuarios de


tipo administrador, lo cual indica que el proceso de escalacin de privilegios se
llev a cabo de manera exitosa, una vez visto esto se procede a salir de la consola
de comandos e iniciar sesin de manea normal, si se desea verificar si en verdad
se tiene permisos de administrador se puede ejecutar el msconfig el cual solo se
ejecuta con permisos de administrador y se deber tener acceso a l sin
problemas.

Conclusiones y Soluciones.
Una vez que se realizaron las modificaciones correspondientes para poder llevar a
cabo la escalacin de privilegios, nuevamente se ve que es demasiado fcil hacer
este tipo de acciones, y se ratifica que a las compaas desarrolladoras les
importa ms el que el usuario tenga comodidad o facilidad para hacer las cosas,
en este caso con el uso de las StickyKeys, a que el usuario de un sistema este
seguro.
De igual manera es difcil entender porque acciones que permiten los sistemas
que son para fines de ayuda, permiten que tambin se pueda a hacer mal uso de
ellas y que a pesar del tiempo que tienen vulneradas estas siguen sin ser
modificadas con el fin de que estos malos usos sean erradicados.
Un mtodo sencillo para evitar ser vctimas del cambio de contraseas mediante el
uso de las StickyKeys es presionar cinco veces la tecla shift dentro del entorno de
Windows y una vez que aparece la ventana de StickyKeys, se selecciona Abrir el
centro de accesibilidad para desactivar el mtodo abreviado del teclado, seguido
a esto se deselecciona la opcin Activar teclas especiales cuando la tecla mayus
se presione cinco veces, una vez concluido esto se cierra la ventana y el uso de
StickyKeys estar deshabilitado.
Bibliografa Electrnica
https://rafavg77.wordpress.com/2014/05/10/cambiar-contrasena-de-usuario-y-
elevar-privilegios-de-una-cuenta-de-usuario-en-windows-7/
http://geekazos.com/deshabilitar-stickykeys/
https://www.microsoft.com/spain/accesibilidad/training/windowsxp/stickykeys.aspx
http://superuser.com/questions/732605/how-to-prevent-the-sethc-exe-hack

You might also like