Questo articolo fa parte di una serie che mira a educare i professionisti della sicurezza informatica sulle lezioni apprese dalle vittime di violazioni. Ogni lezione includerà semplici consigli, molti dei quali non richiedono alle aziende di acquistare alcuno strumento.
Secondo il Sophos Active Adversary Playbook 2021, l’uso di account validi (tramite nome utente e password) figura tra le prime cinque tecniche per l’accesso iniziale in caso di violazione (MITRE ATT&CK Technique T1078). Sebbene le credenziali valide siano molto importanti nella fase di accesso iniziale, possono ovviamente essere utilizzate in tutta la catena di attacco, inclusa la persistenza, l’escalation dei privilegi e l’elusione della difesa.
Una questione impegnativa
L’uso di account validi da parte di malintenzionati è particolarmente impegnativo per i professionisti della sicurezza informatica. Infatti è estremamente difficile identificare l’uso non autorizzato di account validi tra tutti gli usi legittimi e le credenziali possono essere ottenute in molti modi diversi. Un account valido può avere diversi livelli di autorizzazione all’interno di un’organizzazione, da un utente di base fino ai privilegi di amministratore di dominio.
Un’ulteriore complicazione è che potresti configurare account di test, account di servizio per l’accesso non umano, API, account riservati a terze parti per accedere ai tuoi sistemi (ad esempio un helpdesk in outsourcing) o disporre di apparecchiature con credenziali hardcoded.
Sappiamo che le persone utilizzano le credenziali della propria organizzazione per servizi online non attinenti al lavoro e la maggior parte utilizza un indirizzo e-mail al posto del nome utente, amplificando l’esposizione alle minacce. Il riutilizzo della password è comune, quindi, una volta ottenuta, essa fornisce la chiave per molte altre porte. La pandemia di COVID-19 ha visto le organizzazioni cambiare rapidamente per consentire l’accesso remoto a tutti, esponendo ulteriormente la superficie di attacco all’uso non autorizzato di reti private virtuali (VPN) e strumenti di accesso remoto.
In che modo gli autori delle minacce ottengono le nostre credenziali?
L’elenco delle modalità è ampio, ma ne analizzeremo solo alcune. Sebbene l’obiettivo finale degli avversari sia ottenere il massimo livello di privilegio necessario per raggiungere i loro obiettivi (ad esempio disabilitare la sicurezza, esfiltrare i dati, eliminare i backup e distribuire ransomware), non si aspettano certo di ottenere l’account di amministratore di dominio tramite un’e-mail di phishing, quindi iniziano con obiettivi più facili e poi si muovono verso l’alto.
Metodi esterni tra cui il phishing (T1598), la brute force (T1110), l’ingegneria sociale (potrebbe essere semplice come qualcuno che finge di provenire da un fornitore IT affidabile e richiede la creazione di un account – T1593.1) e la SQL Injection (T1190) sono talvolta aggregati in Compilation of Many Breaches (COMB) e resi disponibili a pagamento o addirittura gratuitamente.
Gli opportunisti tentano di abbinare le credenziali ottenute ai tuoi metodi di accesso esterno (RDP – vedi Hindsight #2, VPN, FTP, Servizi terminal, CPanel, strumenti di accesso remoto come TeamViewer, servizi cloud come O365 o console di sicurezza) in una tecnica nota come riempimento delle credenziali per vedere se funziona qualcosa. Poiché non ci si può aspettare che gli utenti ricordino più di poche password, è comune che le credenziali vengano riutilizzate e i nomi utente possono spesso essere individuati basandosi sugli indirizzi e-mail. È per questo motivo che l’autenticazione a più fattori (MFA/2FA) è importante su tutti gli accessi da esterno a interno (vedi Hindsight #1). Una volta che un set di credenziali è stato associato con successo a un metodo di accesso remoto, l’autore della minaccia può diventare un utente valido, nascondendosi nella tua organizzazione.
Prima di passare ai metodi di escalation dei privilegi, è importante notare che esistono altri modi per accedere che non richiedono credenziali. Gli exploit (T1212) o le password predefinite (T1078.1) nei concentratori VPN, Exchange, firewall/router, server web e SQL injection sono stati tutti utilizzati per ottenere un punto di entrata. I drive-by-download possono essere utilizzati anche per stabilire una backdoor (T1189). Una volta all’interno, gli account utente di base hanno un livello di accesso sufficiente per eseguire varie tecniche di ricognizione e tracciare un modo per passare a un accesso più privilegiato o creare account per mantenere l’accesso.
Come autore di minacce, voglio cercare di evitare di utilizzare strumenti che potrebbero far scattare un allarme iniziale, quindi potrei semplicemente:
- Scoprire le informazioni sul sistema e sull’ambiente circostante utilizzando semplicemente comandi come “whoami” e “ipconfig” (T1016)
- Cercare nel dispositivo in cui mi trovo (e in qualsiasi unità mappata) i file con “password” nel nome o nel contenuto (T1552.1)
- Cercare l’LDAP per vedere quali altri account potrebbero essere interessanti (T1087.2)
- Cercare nel registro di Windows (T1552.2) le credenziali archiviate
- Cercare i cookie web per individuare le credenziali memorizzate (T1539)
- Rilasciare uno strumento di comando e controllo basato su PowerShell, così posso rientrare anche se cambi una password o correggi il tuo exploit (T1059.1)
- Scoprire quali programmi sono installati: gli strumenti di accesso remoto e gli strumenti di amministrazione come PSExec e PSKill possono essere molto utili se esistono già (T1592.2)
Successivamente, e solo se necessario, l’autore della minaccia potrebbe passare all’installazione e/o all’utilizzo di PUA (Programmi potenzialmente indesiderati). I suddetti PSExec e PSKill sono strumenti di amministrazione Microsoft ufficiali, ma hanno molti altri usi. IOBit, GMER, Process Hacker, AutoIT, Nircmd, scanner di porte e sniffer di pacchetti sono stati tutti utilizzati nelle violazioni su cui abbiamo lavorato. L’obiettivo di questi tool è quello di paralizzare qualsiasi soluzione di sicurezza degli endpoint, in modo che l’attore delle minacce possa passare allo step successivo in cui utilizza strumenti che probabilmente scatenerebbero un allarme rosso.
Strumenti popolari per trovare account con privilegi più elevati includono Mimikatz, IcedID, PowerSploit e Cobalt Strike. Anche Trickbot è una vecchia gloria. Essi hanno sofisticate capacità di acquisire, interpretare, esportare e manipolare le stesse informazioni che le reti utilizzano per autenticare gli utenti (ad esempio Kerberos). Sebbene i dati siano in una certa misura crittografati, questo si è dimostrato solo un inconveniente per gli aggressori esperti. Il token crittografato che rappresenta l’account valido può spesso essere passato e accettato sulla rete, con tecniche note come pass-the-hash (T1550.2) e pass-the-ticket (T1550.3). Vaste tabelle di password e le loro versioni crittografate vengono utilizzate per abbinare rapidamente una password crittografata alla versione in testo non crittografato (T1110.2). Gli strumenti di keylogging possono essere usati per acquisire le digitazioni sulla tastiera su un dispositivo al successivo accesso di qualcuno. Sono state rilevate alcune vulnerabilità che consentono l’accesso alle credenziali, anche senza diritti di amministrazione, come HiveNightmare/SeriousSam e PrintNightmare. E se tutto ciò non bastasse, ci sono toolkit facilmente disponibili come LaZagne che fanno tutto per te, anche recuperando le password memorizzate nei browser, software di messaggistica istantanea, database, giochi, e-mail e WiFi.
Utilizzo di credenziali valide
Le credenziali valide, in particolare quelle con i diritti di amministrazione, hanno alcuni usi significativi. Possono essere utilizzate in un’organizzazione per modificare le policy di gruppo (T1484.1), disabilitare gli strumenti di sicurezza (T1562.1), eliminare gli account e crearne di nuovi. I dati possono essere esfiltrati e poi venduti, utilizzati per estorsioni o per spionaggio industriale. Possono anche essere usate per furto d’identità e attacchi di compromissione della posta elettronica aziendale con un alto livello di autenticità. Ma molto spesso, sono solo un ottimo modo per distribuire ed eseguire qualsiasi ransomware-as-a-service. E se il temtativo fallisce, abbiamo visto criminali usare semplicemente l’account valido per attivare BitLocker.
Proteggere la tua organizzazione
Il problema è serio, le conseguenze sono reali, ma le soluzioni sono ben note e possono essere affrontate attraverso le persone, i processi e la tecnologia. La formazione dei dipendenti sulla sicurezza informatica di solito si concentra sulle persone:
- Come individuare un’e-mail di phishing
- Non riutilizzare le password: i password manager possono aiutare in questo
- Non utilizzare password di lavoro per gli account personali
- Requisiti di complessità della password
- Evitare siti Web dubbi
In termini di processo e tecnologia
- L’autenticazione a più fattori dovrebbe essere utilizzata il più ampiamente possibile
- La superficie di attacco esterna dovrebbe essere la più piccola possibile e mantenuta aggiornata
- Riduci al minimo il numero di account di livello più alto. Diciamo solo che otto amministratori di dominio sono troppi…
- Limita l’uso dei diritti di amministrazione locale
- Mantieni l’igiene dell’account di servizio: rimuovi gli account di test e di servizio non utilizzati
- Controlla l’uso di potenti strumenti di amministrazione e PUA
- Monitora gli accessi imprevisti (ad es. geografia e ora)