Bypassare Websense Client Policy Manager

Domenica 15 Novembre 2009 20:57 Eremita Solitario 30574 Visite
Stampa

In ufficio hanno installato Websense, cosi da un giorno all'altro mi sono ritrovato con il computer azzoppato, un po' per le risorse perse a causa dei processi di controllo, un po' per i limiti imposti da Websense nell'uso del computer. Blocchi che, aziendalmente parlando, trovo corretti e che condivido. Ma sapete come funziona, la curiosità di scoprire come funziona e vedere se era possibile bypassarlo è stata troppo forte...

 


 

La Ricetta

Un computer con installato WDC.exe (Websense Client Policy Manager)
Essere amministratori della propria macchina - Nel caso in cui non lo foste, le tecniche qui descritte dovrete rielaborarle in modo da poterle applicare... per esempio: se dovete scrivere su disco ma non potete farlo, dovete trovare un altro modo per modificare file, che so tramite un cd di boot... oppure... chenneso... inventatevi qualcosa anche voi.

I blocchi imposti

Non so quale siano in dettaglio tutte le potenzialità di tale strumento, ma leggendo un po' in giro mentre mi documentavo, mi sono fatto un'idea positiva di Websense, considerandolo un prodotto niente male.

Le limitazioni imposte e che ho riscontrato attive sulla mia macchina sono :

Questi blocchi inoltre sono attivi sia quando sono in ufficio e quindi connesso alla rete aziendale, sia quando sono a casa, e quindi fuori dalla rete aziendale.

Analizziamo come funziona

Scoperti i blocchi attivi sulla macchina dovevo trovare il modo per aggirarli, ma per fare questo bisogna capire come funziona il giocattolo:

Vista la situazione andiamo a vedere la cartella di installazione...

Ecco la struttura della cartella WebSense client (file più, file meno):

c:\Programmi\Websense\WDC\debug

c:\Programmi\Websense\WDC\html
c:\Programmi\Websense\WDC\html\block_tmpl.html
c:\Programmi\Websense\WDC\html\continue_tmpl.html
c:\Programmi\Websense\WDC\html\ddld_block_tmpl.html
c:\Programmi\Websense\WDC\html\line.gif
c:\Programmi\Websense\WDC\html\moreInfo_tmpl.html
c:\Programmi\Websense\WDC\html\net_block_tmpl.html
c:\Programmi\Websense\WDC\html\spacer.gif
c:\Programmi\Websense\WDC\html\WSBlockBanner.jpg

c:\Programmi\Websense\WDC\inventory

c:\Programmi\Websense\WDC\logs
c:\Programmi\Websense\WDC\logs\dtf.log

c:\Programmi\Websense\WDC\policy
c:\Programmi\Websense\WDC\policy\appset.dat
c:\Programmi\Websense\WDC\policy\category.dat
c:\Programmi\Websense\WDC\policy\policy.dat

c:\Programmi\Websense\WDC\response

c:\Programmi\Websense\WDC\script_results

c:\Programmi\Websense\WDC\scripts
c:\Programmi\Websense\WDC\scripts\WsInventory.vbs

c:\Programmi\Websense\WDC\crash.dll
c:\Programmi\Websense\WDC\empty.exe
c:\Programmi\Websense\WDC\msvcp71.dll
c:\Programmi\Websense\WDC\msvcr71.dll
c:\Programmi\Websense\WDC\null
c:\Programmi\Websense\WDC\null.chm
c:\Programmi\Websense\WDC\service_action.log
c:\Programmi\Websense\WDC\WDC.exe
c:\Programmi\Websense\WDC\winhttp5.dll
c:\Programmi\Websense\WDC\ws_stlport_vc7146.dll
c:\Programmi\Websense\WDC\WsCAMAgent.dll
c:\Programmi\Websense\WDC\WsCAMUI.exe
c:\Programmi\Websense\WDC\WsDTFAgent.dll
c:\Programmi\Websense\WDC\WsFileInventoryAgent.dll
c:\Programmi\Websense\WDC\WsScriptAgent.dll
c:\Programmi\Websense\WDC\WsUIMgr.exe
c:\Programmi\Websense\WDC\xerces-c_2_6.dll

Le cartelle e i file che subito mi hanno attirato la mia attenzione sono evidenziate in grassetto. Troviamo infatti almeno due file di LOG (service_action.log e dtf.log) e poi la cartella policy con all'interno 3 file molto interessanti: appset.dat, category.dat e policy.dat. Credo che da soli abbiate intuito cosa contengono, i nomi sono piuttosto esplicativi.

Gli attacchi

Ho cercato di usare approcci il meno invasivi possibile, questo per cercare di non dare nell'occhio. Considerate che con quello che vi sto per dire Websense continuerà a vivere sulla vostra macchina e mentre sarete all'interno della rete aziendale farà il suo lavoro! Quando invece sarete disconnessi dalla rete aziendale... beh in tal caso sarete voi a gestire la vosta macchina.

Per applicare alcuni di queste tecniche dovete avere i privilegi di scrittura sul disco, roba mica troppo scontata, se la macchina è ben configurata scordatevi di poter modificare file nella cartella di websense.

!!! Warning line !!!
!!! Warning line !!!

Di seguito vengono descritte delle tecniche per bypassare le protezioni applicate e gestite da Websense, ora questa cosa non è mica tanto bella, e potrebbe farvi finire nei guai, dunque proseguite nella lettura SOLO dopo aver acceso il cervello!

!!! Warning line !!!
!!! Warning line !!!

Metodo 1: (Forse il più scontato)
Cancellate i file con le policy (appset.dat, category.dat e policy.dat) e poi riavviate la macchina. Al riavvio il processi di controllo non troveranno le policy da applicare quindi non applicheranno alcune regola.
Quando vi riconnetterete alla rete aziendale i file con le policy verranno riscaricati e dovrete ripetere l'operazione.

Metodo 2: (Non così scontato ma ci si può arrivare)
Se usate applicativi di cui avete i sorgenti, provate a ricompilarli voi stessi. Websense non dovrebbe più riconoscerli e non vi impedirà l'esecuzione degli stessi. Attenzione, questa operazione non è detto che funzioni, dalle mie prove la cosa ha funzionato solo in alcuni casi ed anche nei casi in cui tutto è andato bene, dopo qualche tempo ha smesso di funzionare.

Metodo 3: (Facciamoci beccare...)
Se potete scrivere su disco, ovviamente potete anche cancellare il file wdc.exe... in questo modo al riavvio niente più websense in giro. La cosa funziona, l'ha provata un amico, ma non appena connesso alla rete aziendale warning email all'admin con la segnalazione dell'anomalia, per cui evitate questo sistema.

Metodo 4: (Abbastanza scontato ma forse macchinoso per i meno smaliziati)
Impedire al processo di comunicare con il server di controllo. Si può applicare sia dentro che fuori, ma da dentro l'azienda potrebbero accorgersi dell'anomalia, occhio dunque. Ma come fare ad impedire la comunicazione? Semplice basta impostare una regola di routing ad-hoc che instradi il traffico verso l'IP del server ad un altro indirizzo, aprite dunque un prompt e usate il comando "route" in questo modo:

route add [IP-SERVER-WEBSENSE] mask 255.255.255.255 [IP-VOSTRA-MACCHINA]

In questo modo ogni chiamata verso il server di controllo verrà instradata verso di voi e di conseguenza fallirà lasciandovi campo libero.

Quando siete fuori dalla rete protetta, websense tenta di fare connessioni verso il server aziendale sulla rete internet per autorizzare o no la vostra navigazione verso i siti che volete raggiungere... applicate lo stesso concetto, magari inserendo una bella regola sul vostro firewall in modo che il server websense non possa essere raggiunto. Per sapere quale sia l'indirizzo, vi basta andare su un sito proibito e leggere nella barra delle applicazioni la url del server di controllo.

Metodo 5: (Veloce ed indolore)
Usate applicativi Java. Ma attenzione, dovete eseguire questi applicativi lanciando il programma "a mano" tramite il comando "java". Un esempio chiarificatore: se eseguite Azureus tramite l'eseguibile fornito, Websense lo bloccherà immediatamente, ma se mandate in esecuzione direttamente il file JAR tramite il comando "Java -jar azureus.jar [...]" sarete in grado di usare Azureus senza problemi.

Note sugli attacchi descritti

Ricordate che bypassare Websense è quasi facile, ma anche se lo avete bypassato potreste essere beccati lo stesso... i programmi installati possono essere "visti" da remoto con pochi click da un amministratore, le connessioni P2P vengono riconosciute facilmente e sono ben conosciute dai sistemisti, quindi fate attenzione!!!

I log di websense

Ne abbiamo parlato prima, ci sono dei log in giro, io tipicamente li cancello, non sono stato a farmi molti problemi sulla cosa, ogni volta che usavo qualche tecnica qui descritta prima di spegnere il computer facevo un bella pulizia di tutti i log.
Una cosa che noterete infatti è che quando Websense non riesce a comunicare con il server scriverà un serie di file nella cartella LOGS in cui si salva tutte le applicazioni che usate per poi inviare questi dati al server centrale non appena questo sia raggiungibile (leggi, non appena vi ricollegate alla rete aziendale). Fateci dunque attenzione!!!

Disclaimer

Come sempre io non mi ritengo responsabile dell'uso che ne fate di queste informazioni, scrivo per fare informazione e per mettere in guardia i colleghi che devono difendersi da questi tipi di attacco, conoscendoli potete anche evitarli :-)

Ringraziamenti

Devo ringraziare i miei colleghi che nonostante i warning e gli alert che ho fatto scattare durante le prove non se la sono presa male. Grazie :-P
E poi come sempre la mia correttrice di bozze preferita, un abbraccio ad U. dunque.

 

aeniGma
aka Eremita Solitario

 

Tags:
Ultimo aggiornamento Lunedì 16 Novembre 2009 15:04