Iscriviti al webinar gratuito del 12 Maggio per diventare Forensic Analyst! Scopri di più
Corso Ethical Hacker: accedi alla promozione fino al 30 Arile! Scopri di più
Quando un attaccante raggiunge un database aziendale — che sia un'istanza MySQL on-premise, un cluster PostgreSQL in cloud o un data warehouse Snowflake — ha di fatto accesso al cuore informativo dell'organizzazione. La tecnica T1213.006 descrive esattamente questo scenario: l'avversario interroga database relazionali e NoSQL per estrarre credenziali, dati PII, informazioni finanziarie e qualsiasi contenuto che possa servire da leva per movimenti laterali, esfiltrazione o estorsione.
Questa tecnica appartiene alla tattica Collection (TA0009), la fase in cui l'attaccante ha già ottenuto un punto d'appoggio nell'ambiente e si concentra sulla raccolta sistematica dei dati di interesse. Non si tratta di una compromissione del motore database in sé, ma dell'uso — spesso con credenziali legittime — di client e tool per interrogare, esportare e sottrarre i dati contenuti.
Il perimetro è ampio: MySQL, PostgreSQL, MongoDB, Amazon RDS, Azure SQL Database, Google Firebase e Snowflake sono tutti target documentati. Le statistiche confermano la rilevanza operativa della tecnica: 4 gruppi APT, 2 software malevoli, 2 campagne e 5 mitigazioni mappate nel framework. Dai gruppi sponsorizzati da stati-nazione ai gruppi criminali finanziari, l'accesso ai database è un passaggio quasi obbligato nelle intrusioni più sofisticate.
L'obiettivo in un red team engagement è dimostrare che un attaccante, dopo aver ottenuto credenziali valide o accesso a un host con connettività verso il database, può estrarre dati sensibili in modo silenzioso e rapido. La simulazione deve coprire tre fasi: discovery, query mirata e esfiltrazione locale.
La prima fase è l'enumerazione. Su un host compromesso con accesso alla rete interna, lo scanning delle porte database classiche permette di mappare le istanze raggiungibili. Con Nmap (open source) è sufficiente un comando mirato:
nmap -sV -p 3306,5432,1521,27017,1433
Una volta individuata un'istanza MySQL, l'accesso con credenziali raccolte durante la fase di privilege escalation è banale. Il client mysql (open source), presente sulla maggior parte dei sistemi Linux, consente di enumerare i database disponibili:
mysql -h
Per PostgreSQL il flusso è analogo con psql (open source):
psql -h
La fase critica è l'estrazione. Per simulare ciò che Sandworm Team e Sea Turtle fanno con Adminer — un tool di gestione database via web scritto in PHP (open source) — si può deployare il singolo file PHP su un webserver già compromesso e usarlo come interfaccia grafica per navigare tabelle ed esportare dati. In laboratorio, è più diretto usare i client nativi per il dump. Su MySQL:
mysqldump -h
Su SQL Server, per replicare le operazioni documentate per FIN6 che raccoglie schema e account, si può usare sqlcmd (incluso con SQL Server):
sqlcmd -S
Per scenari Oracle — come nella campagna APT41 DUST dove è stato usato il tool SQLULDR2 per esportare dati — si può simulare con SQLcl (gratuito, distribuito da Oracle):
sql
Sul fronte MongoDB (NoSQL), il tool mongoexport (open source, parte di MongoDB Database Tools) consente l'esportazione diretta:
mongoexport --host
Ricorda di documentare ogni passaggio per il report e di concordare preventivamente con il cliente il perimetro dei dati che possono essere toccati.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo