
Inception è uno strumento di manipolazione della memoria fisica e hacking che sfrutta il DMA basato su PCI. Lo strumento può attaccare tramite FireWire, Thunderbolt, ExpressCard, PC Card e qualsiasi altra interfaccia PCI/PCIe.
Nota: Questo tool non è più in fase di sviluppo attivo; dai un'occhiata a PCILeech come alternativa.
Inception è uno strumento di manipolazione della memoria fisica e di hacking che sfrutta il DMA basato su PCI. Il tool può attaccare tramite FireWire, Thunderbolt, ExpressCard, PC Card e qualsiasi altra interfaccia HW PCI/PCIe.
Inception mira a fornire un modo relativamente rapido, stabile, semplice ed estendibile per eseguire hack intrusivi e non intrusivi della memoria di computer live tramite DMA.
I moduli di Inception funzionano così: Presentando una directory di unità Serial Bus Protocol 2 (SBP-2) alla macchina vittima attraverso un'interfaccia IEEE1394 FireWire, il sistema operativo vittima pensa che un dispositivo SBP-2 si sia collegato alla porta FireWire. Poiché i dispositivi SBP-2 utilizzano l'Accesso Diretto alla Memoria (DMA) per trasferimenti rapidi di grandi quantità di dati (ad es., hard disk FireWire e videocamere digitali), la vittima abbassa le difese e abilita il DMA per il dispositivo. Il tool ora ha accesso completo in lettura/scrittura ai primi 4 GB di RAM della vittima.
Una volta concesso il DMA, il tool procede a cercare nelle pagine di memoria disponibili le firme a determinati offset nel codice del sistema operativo. Una volta trovate, il tool manipola questo codice. Ad esempio, nel modulo di sblocco, il tool cortocircuita il modulo di autenticazione password del sistema operativo che viene attivato se viene inserita una password errata.
Dopo aver eseguito quel modulo, dovresti essere in grado di accedere alla macchina vittima usando qualsiasi password.
Un'analogia per questa operazione è piantare un'idea nella memoria della macchina; l'idea che ogni password sia corretta. In altre parole, l'equivalente di un [inception di memoria] [1].
Inception è gratuito come birra e un mio progetto personale.
Gli esperti forensi di tutto il mondo, i governi e le agenzie con acronimi di tre lettere stanno già usando [strumenti simili] [2]. Quindi se sei un dissidente o ti trovi di fronte a un regime oppressivo, questo tool illustra perché l'OPSEC è importante. Non lasciare mai il tuo laptop fuori dalla vista.
[OS X > 10.7.2] [6] e [Windows > 8.1] [7] disabilitano il DMA FireWire quando l'utente ha bloccato il sistema operativo e quindi impediscono l'inception. Il tool funzionerà ancora mentre un utente è connesso. Tuttavia, questo è uno scenario di attacco meno probabile nella vita reale.
Inoltre, [OS X Mavericks > 10.8.2 su Ivy Bridge (>= Mac del 2012)] [8] ha abilitato VT-D, bloccando di fatto le richieste DMA e impedendo tutti i moduli di inception anche quando l'utente è connesso. Cerca le voci vtd[0] fault nei tuoi log/console.
Anche se queste due avvertenze ridurranno gradualmente il numero di scenari in cui questo tool è utile, a marzo 2015 [il 70% delle macchine là fuori è ancora vulnerabile] [9].
Il tool utilizza la libreria libforensic1394 per gentile concessione di Freddie Witherden sotto licenza LGPL.
Inception richiede:
Linux è attualmente raccomandato sul lato attaccante a causa delle interfacce firewire problematiche su OS X. Nota che ThunderBolt diretto a ThunderBolt non funziona; hai bisogno di un adattatore FireWire. I risultati possono variare se si tenta di utilizzare Thunderbolt su Linux.
Sulle distribuzioni basate su Debian, i comandi di installazione possono essere riassunti come (applica sudo se necessario se non sei root):
apt-get install git cmake g++ python3 python3-pip
Su OS X, puoi installare i requisiti del tool con [homebrew] [4]:
brew install git cmake python3
Dopo aver installato i requisiti, scarica e installa libforensic1394:
wget https://freddie.witherden.org/tools/libforensic1394/releases/libforensic1394-0.2.tar.gz -O - | tar xz
cd libforensic1394-0.2
cmake CMakeLists.txt
make install
cd python
python3 setup.py install
git clone git://github.com/carmaa/inception.git
cd inception
./setup.py install
Lo script di setup dovrebbe essere in grado di installare le dipendenze se hai pip installato.
Digita semplicemente:
incept [nome modulo]
Per una descrizione più completa e aggiornata, esegui:
incept -h
o consulta la [home page del tool] [5].
Dalla versione 0.4.0, Inception è stato modularizzato. I moduli attuali e le loro funzionalità sono descritti di seguito.
Per opzioni dettagliate sull'uso, esegui:
incept [nome modulo] -h
Il modulo unlock può sbloccare (qualsiasi password accettata) e aumentare i privilegi a Amministratore/root su quasi* qualsiasi macchina accesa a cui hai accesso fisico. Il modulo è progettato principalmente per funzionare contro computer che utilizzano la crittografia completa del disco come BitLocker, FileVault, TrueCrypt o Pointsec. Ci sono molti altri (e migliori) modi per hackerare una macchina che non utilizza la crittografia.
Il modulo di sblocco è stabile su macchine con 4 GiB di memoria principale o meno. Se il tuo target ha più memoria, devi essere fortunato per trovare le firme mappate a un frame di pagina di memoria fisica a cui il tool può accedere.
A partire da questa versione, è in grado di sbloccare i seguenti sistemi operativi x86 e x64: