muicache! – Ita
Posted By Mirko On In Progetti,Scripts | No CommentsIn breve: un approccio alternativo che permette di collezionare da tutti i computer della rete informazioni sulle applicazioni eseguite con lo scopo di identificare ed eventualmente bloccare malware e software non autorizzati.
Autori: Mirko Iodice, Luca Alberti
Script lato server testato su: Windows 2000 Server (32 bit), Windows 2003 Server (32 bit), Windows 2008 R2 (64 bit), Windows XP Professional (32 bit), Windows Vista (32 e 64 bit), Windows 7 (32 bit)
Script lato client testato su: Windows 2003 Server (32 bit), Windows XP Professional (32 bit), Windows Vista (32 bit e 64 bit)
Siete sicuri di avere il completo controllo su ciò che viene installato/utilizzato sui computer della vostra rete?
Considerate lo scenario in cui vi troviate ad esaminare un computer che mostra evidenti segni di infezione da virus informatico, una volta individuato il problema la prima domanda che probabilmente vi verrebbe in mente è: "com'è possibile che questo pc sia stato infettato?"
Ciò che sapete con certezza è che il sistema operativo è completamente aggiornato e che l'utente non possiede diritti amministrativi su di esso, eppure da una più attenta analisi risulta evidente che su tale computer siano stati installati ed utilizzati software dei quali non eravate a conoscenza: Skype, Emule ed uTorrent... tre programmi che possono portare alla diffusione non autorizzata di dati nonché consentire il facile ingresso di malware all'interno della rete aziendale.
Il problema di questo scenario è che, in assenza di complicate e costose (anche amministrativamente parlando) soluzioni che vi permettono di monitorare e bloccare il traffico di rete state affidando l'integrità della dotazione software dei computer aziendali unicamente alla convinzione che gli utenti "limitati" non possano installare programmi senza il vostro permesso, state dimenticando che al giorno d'oggi la tendenza è quella di creare applicazioni molto contenute e portabili che possono essere installate ed utilizzate anche nel semplice contesto utente... non ci credete? Guardate il seguente video (1:45min):
Cosa potete fare ora per riprendere in mano la situazione ed eventualmente implementare politiche di blocco software?
Questa è la domanda alla quale il toolkit "muicache!" cerca di dare una pronta risposta dimostrando anche come sia possibile farlo utilizzando soltanto strumenti già in vostro possesso e con un impatto veramente basso sulle performance di rete ed i costi amministrativi.
L'idea dalla quale nasce questo strumento è molto semplice: sfruttare le tecnologie già presenti all'interno di un dominio Microsoft Active Directory al fine di organizzare in un database una serie di dati relativi ai software che vengono utilizzati da tutti gli utenti della rete.
Utilizzando come punto di partenza i valori contenuti nella chiave di registro HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache [2], già presente su tutti i computer della rete, muicache! è in grado di collezionare una pluralità di informazioni per ogni singola applicazione rilevata:
- il suo percorso all'interno del filesystem
- la sua descrizione
- la sua versione
- la stringa di blocco software SRP-Ready [3] basata sull'impronta (hash) MD5 del suo eseguibile principale
- l'utente che l'ha utilizzata
- il computer sul quale è stata rilevata
- una serie di informazioni temporali utili ad indagini più approfondite
Il database, una volta popolato, viene automaticamente esportato in formato XLS e può quindi essere facilmente consultato e manipolato grazie a Microsoft Excel oppure OpenOffice.org Calc [4].
Uno degli aspetti più interessanti, nel caso in cui vi fosse sfuggito nella lista di sopra, è rappresentato dalla possibilità di avere una stringa di blocco SRP-Ready per ogni applicazione rilevata, questo significa che avrete già a vostra disposizione tutte le informazioni sufficienti per creare e mantenere delle regole di blocco software tramite politiche SRP (Software Restriction Policies [3]).
Come funziona nello specifico muicache!? Quali sono nel dettaglio le tecnologie interessate?
muicache! è composto sostanzialmente da due parti:
- la prima, definita "Client", composta da un WSH/VBScript che viene eseguito sui computer della rete grazie ad una Logon Script Policy (Group Policy Object [5]) e che si occupa di memorizzare su Fileserver (in formato XML) tutti i dati necessari. Questo script è anche in grado di generare la stringa di blocco SRP-Ready degli eseguibili appoggiandosi per il calcolo dell'hash MD5 allo strumento fciv.exe [6], un componente purtroppo non incluso nei sistemi operativi Windows ma scaricabile gratuitamente sul sito Microsoft.
- la seconda, definita "Server", composta da un altro WSH/VBScript che, utilizzando ADO [7], si occupa di importare i suddetti file XML all'interno di un database MDB per poi ricavarne, sempre tramite ADO [7], un report in formato XLS. Questa tecnologia è preinstallata su tutti i sistemi operativi Windows ed il suo funzionamento non dipende dall'installazione del pacchetto Microsoft Office.
Per maggiori dettagli consultate la guida di installazione e uso [8].
Guardate qui sotto un video di muicache! in azione
Download
Problemi noti
- Windows 7 e Windows 2008 non sono ancora supportati dallo script RegToXml.vbs
- Sui sistemi Windows a 64 bit lo script CollectData&XLSOutput.vbs termina inaspettatamente visualizzando l'errore "Impossibile trovare il provider. E' possibile che non sia installato correttamente", per risolvere il problema è necessario eseguirlo utilizzando i motori WSH ("cscript.exe" e "wscript.exe") presenti nella cartella "C:\Windows\SysWOW64" al posto di quelli predefiniti situati in "C:\Windows\System32"
Changelog
- 22/10/2009 - muicache! v1.0 – rilascio iniziale