
Un hacker può intensificare i privilegi in un dominio in molti modi e imparare come funzionano è metà della battaglia per ridurre la superficie di attacco. In questo post, esamineremo cinque modi in cui un utente non privilegiato (d'ora in poi chiamato solo “utente”) può utilizzare per possedere la tua rete e come proteggerti.
Supponiamo inoltre che l'attaccante abbia accesso a un computer collegato al dominio o abbia accesso alla rete.
1. Inoltro all'account SYSTEM
L'escalation dei privilegi per l'account di sistema locale sul computer è, in molti casi, la prima cosa che un utente malintenzionato deve fare. L'attaccante può utilizzare una vasta gamma di tecniche per eseguire l'escalation e alcune di esse sono riepilogate qui.
Ovviamente, hai svolto metà del lavoro per l'attaccante se l'utente ha già l'amministratore locale sul computer. Ho riassunto un paio di metodi qui sotto in modo da poter avere un quadro di come gli attaccanti si elevano al SISTEMA.
Suggerimenti per la mitigazione:
- Stabilisci una solida prima linea di difesa con AppLocker.
- Implementare soluzioni come ATP.
- Educare gli utenti con la mentalità “pensa prima, fai clic più tardi” (anche se alcuni possono ancora farlo al contrario a volte).
- Implementazione di Credential Guard.
Autorizzazioni errate su eseguibili / script eseguite da un account con privilegi
Questo è uno dei metodi più comuni che un utente malintenzionato può utilizzare per passare a SYSTEM. L'aggressore esegue la scansione per attività o servizi pianificati che vengono avviati da un account privilegiato su quel computer (ovvero, SISTEMA o persino un utente di dominio). L'autore dell'attacco esegue quindi la scansione degli EXE / script e delle DLL ad esso correlati per verificare se l'utente proprietario deve scrivere le autorizzazioni.
L'aggressore quindi scambia o modifica i file EXE / Script o DLL in qualcosa che gli dia una backdoor all'account SYSTEM usando strumenti come PowerUp.
Suggerimento per la mitigazione:
Analizza e monitora le autorizzazioni dei file su eseguibili, script e DLL utilizzati dai servizi e dalle attività pianificate.
Patch di sicurezza mancanti
Dal 2015, oltre 100 CVE pubblicati per Windows 10 hanno consentito a un utente malintenzionato di aumentare i propri privilegi su un computer. Non dimenticare di aggiornare anche i driver! Sai già, ovviamente, che l'applicazione di patch ai tuoi sistemi è importante, ma è sempre utile con un promemoria.
2. Pass-The-Hash
Pass-The-Hash (PTH) è una tecnica comune che gli aggressori usano una volta che hanno i privilegi di amministratore locale o di SISTEMA. PTH è stato scoperto già nel 1997, ma è un difetto “di progettazione” nel meccanismo di autenticazione NTLM di Windows.
PTH non ti fornisce la password in chiaro, ma riutilizza l'hash NTLM della password dell'utente per autenticarsi su altri sistemi.
L'utente malintenzionato può utilizzare strumenti come Mimikatz per estrarre l'hash NTLM dalla memoria, il che di solito richiede che un utente più privilegiato di quello di proprietà acceda ai sistemi per essere efficace. Ma come fanno gli aggressori a sapere che un amministratore accederà a quel computer? Bene, è facile: causano problemi con la macchina e attendono il supporto per l'accesso.
Un'altra cosa importante da sottolineare è che Pass-The-Hash funziona sull'account amministratore locale! Ciò significa che l'hash dell'account dell'amministratore del computer (SID 500) può essere utilizzato per possedere tutti gli altri computer nel dominio.
Suggerimenti per la mitigazione:
- Implementa Microsoft Tiering Model e separa gli account amministratore a seconda del loro livello (Desktop Admin, Server Admin, Domain Admin ecc.).
- Implementare la soluzione di password dell'amministratore locale per password univoche su tutti i computer.
- Maggiori informazioni sulla mitigazione del PTH in Microsoft “Mitigating Pass-the-Hash e altri furti di credenziali” (PDF).
3. L'utente senza privilegi non è in realtà senza privilegi
Anche questo è uno scenario comune: l'utente di proprietà ha il privilegio, ma non lo conosci (ancora). L'aggressore può eseguire la scansione della rete e di Active Directory con uno strumento chiamato BloodHound per trovare percorsi di attacco estremamente difficili da scoprire in casi normali.
BloodHound utilizza un database Graph chiamato Neo4j per scoprire relazioni nascoste tra utenti e computer utilizzando Graph Theory. Inoltre, la maggior parte della raccolta di dati eseguita può essere eseguita da un utente normale. Può persino scoprire l'amministratore locale e le sessioni attive su computer remoti.
Non è raro che un utente non privilegiato debba farlo Scrivi o Cambia la password autorizzazioni in Active Directory per un utente con più privilegi, in genere per caso o per pura pigrizia.
Suggerimento per la mitigazione: Esamina regolarmente i tuoi ambienti con BloodHound per scoprire relazioni involontarie.
4. Attaccare l'amministratore
Gli amministratori sono più esposti di altri utenti e non è raro che vengano presi di mira durante un attacco. L'aggressore di solito non ha problemi a trovare le password e ad eseguire l'escalation una volta all'interno dell'account non privilegiato di un amministratore.
Suggerimenti per la mitigazione:
- Fai attenzione ai tentativi di spear-phishing.
- Implementare un modello di tiering Microsoft.
- Implementare l'accesso MFA o Smartcard per tutti gli account amministratore.
5. Scansione per vulnerabilità
Un utente malintenzionato inizierà la ricerca di software vulnerabile sulla rete se non è in grado di aumentare i privilegi con i metodi precedenti. Questo di solito viene fatto con strumenti come Striker o Metasploit ed è un modo efficace di intensificare in ambienti in cui i sistemi di patching vengono usati o i sistemi non sono supportati.
Suggerimenti per la mitigazione:
- Avere una routine di patching per tutti i sistemi e non solo per il sistema operativo.
- Mettere fuori servizio o segmentare sistemi obsoleti.
Afterwords
La sicurezza può essere difficile, ma diventa molto più semplice se ne sei più consapevole e come funziona. Devi anche pensare agli attacchi come una catena di exploit e che tutto nella tua rete è connesso.
Con alcune tecniche di mitigazione, puoi diventare abbastanza resistente agli aggressori, ma non è mai garantito. La maggior parte degli aggressori gestisce un'azienda e se lo trovano troppo difficile o richiede tempo per prendere di mira te, sceglierà un bersaglio più semplice.
L'obiettivo dovrebbe essere quello di rendere il ROI (Return of Investment) degli attaccanti il più basso possibile e dovrebbe essere il più difficile possibile per loro elevarsi attraverso la rete.
Le funzioni AWS Lambda sono un modo per eseguire codice senza provisioning o gestione dei propri server. Invece di eseguire un'applicazione sempre online, eseguono una singola funzione nel cloud, che può essere attivata in risposta a eventi API o altri eventi nel tuo account AWS.
Chrome 76 ha aggiunto il supporto per l'interrogazione multimediale CSS preferenziale-combinazione di colori, che consente ai siti Web di chiedere al tuo sistema operativo quale combinazione di colori preferisci in modo che possano tema in modo appropriato. Ecco come configurarlo per il tuo sito web.
L'integrazione continua e l'implementazione continua sono due dei principi fondamentali di DevOps. L'automazione dei processi di compilazione e distribuzione consente ai team di sviluppo software di apportare modifiche minori più spesso.
Uno degli strumenti più trascurati in Windows è Perfmon, altrimenti noto come monitor delle prestazioni. Questa utility ha molte abilità trascurate, una delle quali è la capacità di allertare su varie condizioni metriche. In questo articolo, esploreremo come utilizzare correttamente la capacità di avviso di Perfmon con un elevato utilizzo della CPU.
Amazon ti addebita quando le tue istanze EC2 pubblicano contenuti su Internet o trasferiscono dati tra regioni. Se stai eseguendo un server web su EC2, questo può rapidamente diventare un costo maggiore. Ecco come tenere traccia dell'utilizzo della larghezza di banda.
Regex, abbreviazione di espressione regolare, viene spesso utilizzato nei linguaggi di programmazione per abbinare i modelli nelle stringhe, trovare e sostituire, inserire la convalida e riformattare il testo. Imparare come usare correttamente Regex può rendere molto più facile lavorare con il testo.