Saccheggiare i Database: Data from Information Repositories: Databases (T1213.006)

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 -u -p -e "SHOW DATABASES;"

Per PostgreSQL il flusso è analogo con psql (open source):

psql -h -U -c "SELECT datname FROM pg_database;"

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 -u -p --single-transaction > /tmp/dump.sql

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 -U -P -Q "SELECT name, type_desc FROM sys.databases;" -o C:\Temp\db_enum.txt

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 /@:1521/ <<< "SELECT * FROM hr.employees;" > /tmp/oracle_dump.csv

Sul fronte MongoDB (NoSQL), il tool mongoexport (open source, parte di MongoDB Database Tools) consente l'esportazione diretta:

mongoexport --host --db --collection --out /tmp/mongo_dump.json

Ricorda di documentare ogni passaggio per il report e di concordare preventivamente con il cliente il perimetro dei dati che possono essere toccati.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo

We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.