Manipolazione Dati a Runtime: Runtime Data Manipulation (T1565.003)
La tecnica T1565.003 - Runtime Data Manipulation appartiene alla tattica TA0040 (Impact) del framework MITRE ATT&CK e rappresenta una delle forme più insidiose di compromissione dell'integrità dei dati. A differenza della manipolazione statica su file a riposo, qui l'avversario altera i dati nel momento in cui vengono acceduti e visualizzati all'utente finale, lasciando invariata la fonte originale ma modificando la percezione di chi la consulta.
L'obiettivo tipico è influenzare processi di business, decisioni manageriali o attività di controllo. Le modalità includono l'alterazione dei binari applicativi responsabili del rendering dei dati, l'uso di Change Default File Association per intercettare l'apertura di specifici formati, o tecniche di Masquerading per sostituire componenti legittimi.
Il caso più emblematico è quello di APT38, che con l'impianto DYEPACK.FOX ha manipolato la visualizzazione di documenti PDF per occultare le tracce di transazioni SWIFT fraudolente. In questo scenario il database bancario contiene i movimenti reali, ma quando l'operatore apre il report PDF vede una versione ripulita.
La complessità operativa è elevata: l'attaccante deve conoscere in profondità l'applicazione target, spesso attraverso lunghe campagne di ricognizione interna. Per questo T1565.003 è associata quasi esclusivamente a gruppi state-sponsored o criminali sofisticati con obiettivi di frode finanziaria o sabotaggio informativo di lungo periodo.
La simulazione di Runtime Data Manipulation in un contesto red team richiede un'infrastruttura di laboratorio isolata e una chiara autorizzazione scritta, dato che si opera su binari di produzione e su processi di business critici. L'obiettivo dell'esercizio non è distruggere dati, ma dimostrare che è possibile alterare ciò che l'utente finale vede senza toccare la sorgente autoritativa.
Su Windows, la catena tipica parte da un accesso privilegiato al sistema target, seguito dalla sostituzione o patching di un binario applicativo (ad esempio un visualizzatore PDF, un client contabile, un'applicazione di reporting). Un approccio di laboratorio consiste nell'usare Frida (open source), framework di dynamic instrumentation che permette di hookare funzioni API a runtime senza modificare il binario su disco. Un comando base è frida -p
Per scenari più persistenti si può ricorrere a Microsoft Detours (open source, licenza MIT) o alla libreria MinHook (open source) per implementare API hooking a livello utente. La logica è: identificare la funzione che legge i dati dal database, iniettare una hook che filtri o modifichi i record prima che raggiungano il layer di presentazione.
Su Linux, la tecnica classica è la sostituzione di librerie condivise via LD_PRELOAD. Un file .so custom può reimplementare funzioni come fread o sqlite3_step per alterare i dati restituiti. Il comando LD_PRELOAD=/tmp/evil.so /usr/bin/reporting-app carica la libreria malevola prima delle standard. In alternativa si può patchare direttamente un binario ELF con radare2 (open source) o Ghidra (open source) per modificare la logica di visualizzazione.
Su macOS, l'ostacolo principale è il code signing enforcement: modificare un application bundle invalida la firma e Gatekeeper blocca l'esecuzione. In lab si disabilita SIP e si usa DYLD_INSERT_LIBRARIES in modo analogo a LD_PRELOAD, oppure si opera con osquery (open source) per mappare quali binari maneggiano dati sensibili.
Per la validazione dell'esercizio è utile confrontare l'output dell'applicazione compromessa con una query diretta al database sottostante (ad esempio via sqlcmd o psql), documentando la discrepanza. Questa evidenza è ciò che rende il report red team incisivo per il management: dimostra che i controlli basati sulla sola verifica applicativa sono aggirabili.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo