Infiltrazione via Chiavetta: Replication Through Removable Media (T1091)

Immagina di dover infiltrare un sistema completamente isolato da internet, magari in una centrale nucleare o in un laboratorio di ricerca militare. Come faresti? La risposta è vecchia quanto l'informatica stessa: usa un supporto fisico.

Questa tecnica sfrutta dispositivi rimovibili come chiavette USB, dischi esterni e persino smartphone per propagare malware attraverso reti disconnesse o air-gapped. Il meccanismo è elegante nella sua semplicità: il malware si copia automaticamente sui dispositivi collegati e si esegue quando questi vengono inseriti in nuovi sistemi, spesso abusando delle funzionalità Autorun di Windows.

La versatilità di questo approccio lo rende utile in due fasi critiche della kill chain: Initial Access (TA0001) per penetrare reti isolate fin dall'inizio, e Lateral Movement (TA0008) per spostarsi tra sistemi disconnessi all'interno di un'organizzazione già compromessa. Con 8 gruppi APT documentati e 20 famiglie di malware che implementano questa tecnica, stiamo parlando di uno dei metodi più collaudati nel repertorio degli attaccanti.

Partiamo dalla base: creare un payload che si propaga automaticamente. Su Windows, il classico autorun.inf è ancora sorprendentemente efficace:

[AutoRun]
open=malware.exe
icon=folder.ico
action=Open folder to view files

Ma i sistemi moderni hanno disabilitato Autorun per i drive USB. APT28 ha risolto brillantemente il problema con una tecnica più sofisticata. Il loro tool crea collegamenti LNK malevoli che sfruttano icone familiari.

Per replicare questo approccio in laboratorio, usa PowerShell per generare un LNK che esegue codice nascosto:

$WshShell = New-Object -ComObject WScript.Shell $Shortcut = $WshShell.CreateShortcut("E:\Documents.lnk") $Shortcut.TargetPath = "powershell.exe" $Shortcut.Arguments = "-WindowStyle Hidden -ExecutionPolicy Bypass -File E:\payload.ps1" $Shortcut.IconLocation = "C:\Windows\System32\imageres.dll,3" $Shortcut.Save()

Il trucco sta nell'icona: usando imageres.dll,3 ottieni l'icona standard delle cartelle di Windows. L'utente crede di aprire una normale directory.

Per sistemi Linux, la propagazione richiede un approccio diverso. Crea uno script che si copia automaticamente quando rileva nuovi mount point:

#!/bin/bash while true; do

  • for mount in $(findmnt -rno TARGET | grep -E "^/media|^/mnt"); do*
  • cp /tmp/.hidden/payload.sh "$mount/.autostart" 2>/dev/null*
  • echo "cd $mount && ./.autostart" >> ~/.bashrc*
  • done*
  • sleep 60* done

Stuxnet ha portato questa tecnica a un livello superiore sfruttando la vulnerabilità CVE-2010-2568 nei file LNK. Anche solo visualizzare l'icona in Windows Explorer era sufficiente per l'esecuzione del codice. Per testare vulnerabilità simili in ambiente controllato, usa Metasploit:

use exploit/windows/fileformat/ms10_046_shortcut_icon_dllloader

La persistenza cross-platform richiede creatività. Flame utilizzava moduli specifici per infettare diversi tipi di dispositivi. Un approccio moderno potrebbe includere payload multipiattaforma in Python, compilati con PyInstaller per ogni OS target.

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

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