
L'escalation dei privilegi è l'uso da parte di un attaccante dei diritti attuali di un account per ottenere accesso aggiuntivo, generalmente a un livello superiore nel sistema. Sebbene l'escalation dei privilegi possa derivare dall'exploitation di vulnerabilità zero-day, da attacchi mirati da parte di hacker esperti, o da malware abilmente mascherato, nella maggior parte dei casi è causata da una cattiva configurazione del computer o dell'account. Proseguendo con l'attacco, gli aggressori sfruttano diverse vulnerabilità che, nel loro insieme, possono portare a una catastrofica perdita di dati.
Perché gli utenti non dovrebbero avere diritti di amministratore locale?
Se sei un esperto di sicurezza, potrebbe sembrare ovvio che gli utenti non debbano avere diritti di amministratore locale, in quanto ciò:
- Rende i loro account più vulnerabili a vari attacchi
- Rende quegli attacchi molto più gravi
Sfortunatamente, per molte organizzazioni questa è ancora una questione molto controversa, spesso accompagnata da animate discussioni (vedi ad esempio, ). Senza approfondire i dettagli di questa discussione, riteniamo che un attaccante abbia ottenuto i diritti di amministratore locale sul sistema in esame: o attraverso un exploit, o perché le macchine non erano state adeguatamente protette.
Passo 1. Risoluzione inversa dei nomi DNS tramite PowerShell
Per impostazione predefinita, PowerShell è installato su molte workstation locali e su gran parte dei server Windows. Anche se non senza esagerazione, è considerato uno strumento incredibilmente utile per l'automazione e la gestione, è altrettanto capace di trasformarsi in qualcosa di quasi invisibile (un programma di hacking che non lascia tracce dell'attacco).
Nel nostro caso, l'attaccante inizia a eseguire una ricognizione di rete utilizzando uno script PowerShell, esaminando sequenzialmente lo spazio degli indirizzi IP della rete, cercando di determinare se un determinato IP risolve a un nodo e, se sì, qual è il nome di rete di quel nodo.
Ci sono molti modi per eseguire questo compito, ma l'utilizzo del cmdlet ADComputer è un'opzione affidabile poiché restituisce un insieme di dati molto ricco su ciascun nodo:
import-module activedirectory Get-ADComputer -property * -filter { ipv4address -eq ‘10.10.10.10’}Se la velocità operativa in grandi reti presenta problemi, può essere utilizzato una chiamata inversa al sistema DNS:
[System.Net.Dns]::GetHostEntry(‘10.10.10.10’).HostName
Questo metodo di enumerazione dei nodi nella rete è molto popolare, poiché la maggior parte delle reti non utilizza un modello di sicurezza a fiducia zero e non monitora le richieste DNS interne per attività sospette.
Passo 2: Selezione dell'obiettivo
Il risultato finale di questo passo è ottenere un elenco di nomi host di server e workstation, che può essere utilizzato per proseguire con l'attacco.

A giudicare dal nome, il server ‘HUB-FILER’ sembra un obiettivo valido, poiché nel tempo i server di file tendono ad accumulare un gran numero di cartelle di rete e di accessi eccessivi da parte di troppe persone.
La visualizzazione tramite Esplora file di Windows ci consente di determinare se c'è una condivisione aperta, ma il nostro attuale account non può accedervi (probabilmente abbiamo solo diritti di listing).
Passo 3: Esaminiamo le ACL
Ora sul nostro host HUB-FILER e nella cartella condivisa target share possiamo eseguire uno script PowerShell per ottenere un elenco delle ACL. Possiamo farlo dalla macchina locale, dato che abbiamo già diritti da amministratore locale:
(get-acl hub-filershare).access | ft IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags –autoRisultato dell'esecuzione:

Da questo vediamo che il gruppo Utenti del Dominio ha accesso solo per il listing, mentre il gruppo Helpdesk ha anche diritti di modifica.
Passo 4: Identificazione degli Account
Eseguendo , saremo in grado di ottenere tutti i membri di questo gruppo:
Get-ADGroupMember -identity Helpdesk
In questo elenco vediamo l'account del computer che abbiamo già identificato e a cui abbiamo già avuto accesso:

Passo 5: Utilizziamo PSExec per operare dall'account del computer
Microsoft Sysinternals consente di eseguire comandi nel contesto dell'account di sistema SYSTEM@HUB-SHAREPOINT, che sappiamo essere un membro del gruppo target Helpdesk. Quindi, è sufficiente eseguire:
PsExec.exe -s -i cmd.exeA questo punto, hai pieno accesso alla cartella target HUB-FILERshareHR, poiché stai operando nel contesto dell'account del computer HUB-SHAREPOINT. E con questo accesso, i dati possono essere copiati su un dispositivo di archiviazione portatile o estratti e trasferiti tramite rete.
Passo 6: Rilevamento di questo attacco
Questa vulnerabilità specifica nella configurazione dei diritti degli account (gli account dei computer che accedono alle cartelle di rete condivise al posto degli account utente o degli account di servizio) può essere rilevata. Tuttavia, senza gli strumenti giusti, è molto difficile farlo.
Per rilevare e prevenire questa categoria di attacchi, possiamo utilizzare per identificare i gruppi con gli account dei computer in essi e poi chiudere l'accesso. va oltre e consente di creare una notifica specificamente per uno scenario del genere.
Nello screenshot qui sotto, viene mostrato un avviso per l'utente che si attiverà ogni volta che l'account del computer accede ai dati sul server monitorato.

Passaggi successivi con PowerShell
Vuoi saperne di più? Usa il codice di sblocco «blog» per avere accesso gratuito al completo .
Fonte: habr.com
