
L'aumento dei privilegi è l'uso da parte di un attaccante dei diritti correnti di un account per ottenere un ulteriore, generalmente più alto livello di accesso nel sistema. Anche se l'aumento dei privilegi può essere il risultato dell'exploitation di vulnerabilità zero-day, oppure di hacker di alto livello che stanno conducendo un attacco mirato, o di malware abilmente mascherati, nella maggior parte dei casi si verifica a causa di una cattiva configurazione del computer o dell'account. Sviluppando ulteriormente l'attacco, gli aggressori sfruttano una serie di vulnerabilità specifiche, il che complessivamente può portare a una catastrofica fuga di dati.
Perché gli utenti non dovrebbero avere diritti di amministratore locale?
Se sei un esperto di sicurezza, può sembrare ovvio che gli utenti non dovrebbero avere diritti di amministratore locale, poiché ciò:
- Rende i loro account più vulnerabili a vari attacchi
- Rende quegli attacchi molto più gravi
Sfortunatamente, per molte organizzazioni questo rimane ancora un argomento molto controverso e spesso accompagnato da vivaci discussioni (vedi ad esempio, ). Senza addentrarci nei dettagli di questa discussione, riteniamo che l'attaccante abbia ottenuto diritti di amministratore locale sul sistema esaminato: o attraverso un exploit, o perché le macchine non erano 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. E sebbene possa sembrare un po' esagerato definirlo uno strumento incredibilmente utile per l'automazione e la gestione, è altrettanto capace di trasformarsi in un (programma di hacking che non lascia tracce di attacco).
Nel nostro caso, l'attaccante inizia a eseguire una ricognizione di rete utilizzando uno script PowerShell, iterando attraverso lo spazio degli indirizzi IP della rete, cercando di determinare se un determinato IP si risolve in un nodo e, in caso affermativo, 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 ogni nodo:
import-module activedirectory Get-ADComputer -property * -filter { ipv4address -eq '10.10.10.10'}Se la velocità di funzionamento nelle grandi reti causa problemi, è possibile utilizzare la chiamata di sistema DNS inversa:
[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 tiene traccia delle richieste DNS interne per picchi di attività sospetti.
Passo 2: Selezione dell'obiettivo
Il risultato finale di questo passaggio è la creazione di un elenco di nomi host dei server e delle workstation, che può essere utilizzato per continuare l'attacco.

A giudicare dal nome, il server 'HUB-FILER' sembra un obiettivo degno, poiché nel tempo i server di file tendono ad accumulare un gran numero di cartelle di rete e accessi eccessivi da parte di un'ampia varietà di persone.
La visualizzazione tramite Esplora file di Windows ci consente di determinare la presenza di una cartella condivisa aperta, ma il nostro attuale account non ha accesso (probabilmente abbiamo solo diritti di elenco).
Passo 3: Esaminare le ACL
Ora sul nostro host HUB-FILER e sulla cartella condivisa target share, possiamo eseguire uno script PowerShell per ottenere l'elenco delle ACL. Possiamo farlo dalla macchina locale, poiché abbiamo già i diritti di amministratore locale:
(get-acl hub-filershare).access | ft IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags –autoRisultato dell'esecuzione:

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

Passo 5: Utilizzare PSExec per operare dall'account del computer
di Microsoft Sysinternals consente di eseguire comandi nel contesto dell'account di sistema SYSTEM@HUB-SHAREPOINT, che, come sappiamo, è membro del gruppo target Helpdesk. Quindi, è sufficiente eseguire:
PsExec.exe -s -i cmd.exeTuttavia, avete pieno accesso alla cartella destinazione HUB-FILERshareHR, poiché lavorate 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 la rete.
Passo 6: Rilevamento di questo attacco
Questa specifica vulnerabilità nella configurazione dei diritti degli account (account dei computer che accedono a condivisioni di rete anziché account di utenti o 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 account di computer al loro interno, quindi revocare l'accesso. va oltre e consente di creare un avviso specifico per uno scenario simile.
Nello screenshot qui sotto è mostrato un avviso utente che verrà attivato ogni volta che un account di computer accede ai dati sul server monitorato.

I passaggi successivi con PowerShell
Vuoi saperne di più? Utilizza il codice di sblocco "blog" per l'accesso gratuito al completo .
Fonte: habr.com
