Analizzare con MVT

Questa pagina è per analisti, helpline e supporto tecnico che hanno ricevuto un export di Bugbane e vogliono analizzarlo con MVT (Mobile Verification Toolkit).

La versione breve: un export di Bugbane è un’acquisizione in formato AndroidQF, cifrata con age. Decifrala, e mvt-android check-androidqf la consuma direttamente.

Cosa dovresti aver ricevuto #

  • L’archivio, con un nome come acquisition-1a2b3c4d.zip.age.
  • La passphrase (32 caratteri alfanumerici), che dovrebbe essere arrivata attraverso un canale diverso.

1. Installa gli strumenti #

Servono age e MVT:

# age: dal tuo package manager, ad esempio
brew install age        # macOS
apt install age         # Debian/Ubuntu

# MVT: pipx è il metodo raccomandato
pipx install mvt

2. Decifra l’archivio #

age --decrypt -o acquisition.zip acquisition-1a2b3c4d.zip.age

age chiede la passphrase in modo interattivo. Il risultato è un normale ZIP con il layout AndroidQF.

Nota: Lavora su una copia, e verifica prima l’integrità: l’archivio contiene un hashes.csv con lo SHA-256 di ogni artefatto, e un acquisition.json con UUID, timestamp e stato per modulo dell’acquisizione — utili sia per la verifica sia per la documentazione del caso.

3. Procurati gli indicatori di compromissione #

Scarica gli indicatori STIX2 pubblici indicizzati dal progetto MVT:

mvt-android download-iocs

Gli indicatori scaricati si caricano automaticamente a ogni check. Puoi aggiungere file STIX2 privati o aggiuntivi con più flag --iocs, o tramite la variabile d’ambiente MVT_STIX2.

4. Esegui il check #

check-androidqf accetta direttamente lo ZIP, oppure la directory estratta:

mvt-android check-androidqf --output results/ acquisition.zip

Flag utili: --iocs FILE per indicatori extra, --list-modules per vedere cosa gira, --module NOME per un solo modulo, e --virustotal per il lookup degli hash APK (richiede MVT_VT_API_KEY).

5. Leggi i risultati #

Nella directory di output trovi:

  • un <modulo>.json per modulo, con tutti i record estratti;
  • file <modulo>_detected.json solo dove qualcosa ha trovato corrispondenza con un indicatore — parti da qui;
  • timeline.csv, una vista cronologica su tutti i moduli;
  • info.json e command.log per l’esecuzione stessa.

Ricorda il solito avvertimento, che anche la documentazione di MVT sottolinea: gli indicatori pubblici non bastano a stabilire che un dispositivo è pulito. Nessuna rilevazione significa nessuna rilevazione — non assenza di compromissione.

Buono a sapersi #

  • La chiave ADB dell’acquirente. Bugbane acquisisce tramite il Debug Wireless del dispositivo stesso, quindi la sua chiave pubblica ADB compare legittimamente sul dispositivo. L’archivio la include come adb_host_key.pub (e dentro acquisition.json), così puoi distinguerla dalle chiavi sconosciute.
  • acquisition.json riporta la versione di Bugbane nel campo androidqf_version (come Bugbane-<versione>), più i moduli falliti o saltati — controllalo prima di concludere che un artefatto manca.
  • I vecchi workflow di MVT non si applicano. Le versioni recenti di MVT hanno rimosso check-adb; check-androidqf è il percorso supportato per questo tipo di acquisizione.
  • Vuoi sapere cosa contiene ogni file dell’archivio? Vedi la guida agli artefatti.