Sticky Keys

Sempre que parlem de privacitat surt el tema de xifrar el disc dur. Molts em pregunten si és realment necessari i si de veritat serveix d’alguna cosa. A continuació, t’ensenyo una tècnica senzilla per aconseguir accés a un ordinador sense saber la contrasenya.

Imagina la situació on tu tens el teu ordinador portàtil amb totes les teves coses. Per algun motiu, algú te’l roba o les autoritats te’l requisen. Malauradament no tens el disc dur xifrat però estàs tranquil perquè la teva contrasenya d’usuari de Windows té 100 caràcters alfanumèrics. Que podria aconseguir un atacant en una situació com aquesta?

Precondicions

Per a poder dur a terme aquest atac, s’han de complir les següents condicions:

  • L’atacant té accés físic a l’ordinador de la víctima
  • Es pot accedir a la BIOS
  • El disc dur no està xifrat
  • Funciona amb qualsevol versió de Windows, incloent la última

Sticky Keys

Abans de començar a explicar l’atac, és important entendre exactament que són les “Sticky Keys”. Les “Sticky Keys” és una característica que té Windows que ajuda als usuaris que tenen algun tipus de discapacitat física o als usuaris que volen reduir les lesions per moviments repetitius.

Aquesta funcionalitat permet que un usuari utilitzar diverses tecles a la vegada però sense necessitat de clicar-les al mateix temps. Això funciona sobretot amb les tecles modificadores “Alt”, “Shift” i “Ctrl”. De tal manera, que si un usuari té activada aquesta característica i vol escriure una lletra en majúscula, en lloc de mantenir pressionat el “Shift” mentre escriu, pot prémer el “Shift” una vegada i després la lletra que li interessa.

Per activar aquesta característica s’ha de clicar 5 vegades seguides la tecla “Shift”.

Funcionalitat “Sticky Keys”

Teoria

Com ja deus saber, a Windows es poden crear usuaris amb diferents permisos. Els que venen per defecte són els següents:

  • Compte convidat: l’usuari està molt restringit. No pot instal·lar ni modificar res del sistema.
  • Compte usuari: la majoria d’empreses utilitzen aquest compte pel seus treballadors. Poden utilitzar el sistema amb normalitat però no podran executar accions administratives.
  • Compte administrador: no té limitacions

Ara bé, si els permisos que té un usuari es determinen quan aquest accedeix amb un compte predeterminat, la pantalla d’elecció d’usuaris (abans d’escollir-ne un) amb quins permisos s’està executant?

Doncs amb el privilegi SYSTEM. Aquest nivell de privilegi està per sobre del d’administrador i és el que utilitza el sistema operatiu per funcionar. D’aquesta manera es redueix el risc de que un usuari, independentment dels permisos que tingui, pugui trencar algun procés de baix nivell de Windows.

Per altra banda, et deus haver adonat que a l’imatge anterior s’està executant la característica “Sticky Keys” abans d’iniciar sessió amb cap usuari. Això vol dir que s’està executant amb privilegis de SYSTEM. Aquí és on rau la clau per poder dur a terme aquest atac.

Objectiu

Aprofitant que aquesta funcionalitat s’executa com a SYSTEM i es pot activar abans d’iniciar sessió, l’objectiu és aconseguir canviar l’executable del “Sticky Keys” anomenat “sethc.exe” per algun que sigui més interessant per un atacant, com una terminal “cmd.exe”.

Prova de concepte

Per a fer aquesta prova de concepte he utilitzat un Windows 7 (també funcionaria amb Windows 10) que té un compte d’administrador anomenat “Admin”.

Ordinador de la víctima

Com a atacant has de tenir a mà un USB amb el sistema operatiu Linux, és igual la distribució. Per a aquesta entrada he utilitzat una anomenada Kali que bàsicament és una distribució amb eines de hacking preinstal·lades. No obstant això, per a dur a terme aquest atac no n’utilitzarem cap.

Una vegada tens accés físic a l’ordinador, endolla l’USB i indica a l’ordinador que en lloc d’iniciar el sistema operatiu de Windows, inici el teu Linux. Si no saps com fer-ho, fes un cop d’ull a aquest article: enllaç. Normalment es pot fer clicant la tecla F11 o F12 mentre l’ordinador està arrancant.

Una vegada iniciat el Linux, utilitza la comanda “fdisk” per saber quins disc durs hi ha a l’ordinador:

sudo fdisk -l

Podràs veure que apareixen diverses línies sota la columna “Device”. Aquest són els disc durs o particions que té l’ordinador. Aquí has d’esbrinar quina d’aquestes és el disc dur que t’interessa. Una manera de fer-ho és a través de la mida:

Execució comanda “fdisk”

En aquest cas, el disc dur és de 60GB i es diu “/dev/sda3”. Una vegada localitzat, toca muntar-lo per a poder accedir-hi des del Linux sense problemes, utilitzant la següent comanda:

sudo mount NOM_DISC_DUR CARPETA_DESTÍ

Abans d’executar la comanda, crea una carpeta a on vulguis. Jo l’he creat a la “home” de l’usuari i l’he anomenat “win7”:

Execució comanda “mount”

Una vegada muntat, podràs accedir a tot el contingut que tingui el disc dur. Depenent del que t’interessi fer, no caldria seguir. Podries copiar absolutament tot de qualsevol dels usuaris. Inclús podries extreure l’arxiu SAM per a intentar crackejar les contrasenyes dels comptes.

No obstant això, com que l’objectiu és accedir-hi com si fossis un usuari normal, has de fer algun pas més. L’executable de la característica “Sticky Keys”, “sethc.exe”, es troba a la carpeta “%systemroot%/System32/” normalment a “C:/Windows/System32/”.

Per tant, navega fins a aquesta carpeta i substitueix l’executable pel que t’interessi, per exemple per “cmd.exe” (recorda canviar el nom a “sethc.exe”):

Substitució de l’executable

Una vegada fet, només cal que reiniciïs l’ordinador, extreguis l’USB i deixis que s’inicii Windows amb normalitat.

Quan cliquis 5 vegades el “SHIFT”, activaràs la característica de “Sticky Keys” i el sistema anirà a executar el fitxer “sethc.exe” que justament és el que tu has canviat. Per aquest motiu, t’apareixerà una terminal que tindrà permisos de SYSTEM:

Execució de l’arxiu maliciós amb permisos de SYSTEM

A partir d’aquí pots fer absolutament el que vulguis. Per exemple, pots crear un usuari amb privilegis d’administrador per accedir a l’ordinador amb les següents comandes:

net user USUARI CONTRASENYA /add
net localgroup administrators USUARI /add

Així es crea un usuari anomenat “hacked” amb contrasenya “1234” i que està al grup “administrators”:

Creació de l’usuari administrador

Reinicia la màquina i veuràs que apareixerà l’usuari que tot just has creat. Ja tens accés complet a l’ordinador:

Inici de sessió amb l’usuari “hacked”

Conclusions

La majoria de formacions de seguretat i privacitat es centren massa en protegir les comunicacions i passen per alt la seguretat física. Per aquest motiu, moltes persones no són conscients de lo fàcil que és per un atacant aconseguir copiar tot el que hi ha a un disc dur o accedir a un ordinador si aquest no té el disc dur xifrat.

La tècnica que he explicat és una tècnica molt senzilla. Encara que s’hagin d’utilitzar algunes comandes, qualsevol podria fer-ho simplement copiant i enganxant les que he indicat a l’entrada.

Per això, et recomano molt fortament que sempre xifris els teus dispositius. Ja siguin ordinadors, mòbils o USBs, ja que sinó qualsevol que obtingui accés físic podrà accedir a l’informació.

Si vols aprendre a xifrar disc durs o USBs, fes un cop d’ull a l’entrada de VeraCrypt.

Deixa un comentari