
Inception ist ein Tool zur Manipulation von physischem Speicher und zum Hacken, das PCI-basiertes DMA ausnutzt. Das Tool kann über FireWire, Thunderbolt, ExpressCard, PC Card und andere PCI/PCIe-Schnittstellen angreifen.
Hinweis: Dieses Tool wird nicht mehr aktiv weiterentwickelt. Bitte schauen Sie sich stattdessen PCILeech an.
Inception ist ein Tool zur Manipulation und zum Hacken von physischem Arbeitsspeicher, das PCI-basiertes DMA ausnutzt. Das Tool kann über FireWire, Thunderbolt, ExpressCard, PC Card und andere PCI/PCIe-HW-Schnittstellen angreifen.
Inception zielt darauf ab, eine relativ schnelle, stabile, einfache und erweiterbare Möglichkeit zu bieten, intrusive und nicht-intrusive Speicher-Hacks gegen laufende Computer mittels DMA durchzuführen.
Die Module von Inception funktionieren wie folgt: Indem dem Opfer-Rechner über eine IEEE1394-FireWire-Schnittstelle ein Serial-Bus-Protocol-2 (SBP-2)-Unit-Directory präsentiert wird, denkt das Betriebssystem des Opfers, dass ein SBP-2-Gerät an den FireWire-Port angeschlossen wurde. Da SBP-2-Geräte Direct Memory Access (DMA) für schnelle, große Datenübertragungen nutzen (z. B. FireWire-Festplatten und digitale Camcorder), senkt das Opfer seine Schutzmechanismen und aktiviert DMA für das Gerät. Das Tool hat nun vollen Lese-/Schreibzugriff auf die unteren 4 GB RAM des Opfers.
Sobald DMA gewährt wird, durchsucht das Tool verfügbare Speicherseiten nach Signaturen an bestimmten Offsets im Code des Betriebssystems. Sobald diese gefunden werden, manipuliert das Tool diesen Code. Im Entsperrmodul beispielsweise schließt das Tool das Passwort-Authentifizierungsmodul des Betriebssystems kurz, das bei Eingabe eines falschen Passworts ausgelöst wird.
Nach Ausführung dieses Moduls sollten Sie sich mit jedem beliebigen Passwort am Opfer-Rechner anmelden können.
Eine Analogie für diesen Vorgang ist das Einpflanzen einer Idee in den Speicher der Maschine: der Idee, dass jedes Passwort korrekt ist. Mit anderen Worten, das Äquivalent einer [Speicher-Inception] [1].
Inception ist frei wie in ‚umsonst‘ und ein Nebenprojekt von mir.
Forensik-Experten, Regierungen und Drei-Buchstaben-Agenturen auf der ganzen Welt verwenden bereits [ähnliche Tools] [2]. Wenn Sie also ein Dissident sind oder einem repressiven Regime gegenüberstehen, zeigt dieses Tool, warum OPSEC wichtig ist. Lassen Sie Ihren Laptop niemals unbeaufsichtigt.
[OS X > 10.7.2] [6] und [Windows > 8.1] [7] deaktivieren FireWire-DMA, wenn der Benutzer das Betriebssystem gesperrt hat, und verhindern so Inception. Das Tool funktioniert weiterhin, solange ein Benutzer angemeldet ist. Dies ist jedoch ein weniger wahrscheinliches Angriffsszenario im echten Leben.
Darüber hinaus wurde bei [OS X Mavericks > 10.8.2 auf Ivy Bridge (>= 2012 Macs)] [8] VT-D aktiviert, was DMA-Anfragen effektiv blockiert und alle Inception-Module selbst bei angemeldetem Benutzer vereitelt. Achten Sie auf vtd[0] fault-Einträge in Ihrem Log/Konsolen-Ausgabe.
Auch wenn diese beiden Einschränkungen die Anzahl der Szenarien, in denen dieses Tool nützlich ist, allmählich reduzieren werden, sind Stand März 2015 noch [70 % der Rechner da draußen anfällig] [9].
Das Tool verwendet die libforensic1394-Bibliothek, freundlicherweise bereitgestellt von Freddie Witherden unter einer LGPL-Lizenz.
Inception benötigt:
Linux wird derzeit auf der Angreiferseite empfohlen, da die FireWire-Schnittstellen unter OS X fehlerhaft sind. Beachten Sie, dass direkte Thunderbolt-zu-Thunderbolt-Verbindungen nicht funktionieren, Sie benötigen einen FireWire-Adapter. Ihre Erfahrungen bei der Verwendung von Thunderbolt unter Linux können abweichen.
Auf Debian-basierten Distributionen können die Installationsbefehle wie folgt zusammengefasst werden (verwenden Sie sudo nach Bedarf, wenn Sie nicht root sind):
apt-get install git cmake g++ python3 python3-pip
Unter OS X können Sie die Tool-Anforderungen mit [homebrew] [4] installieren:
brew install git cmake python3
Nach der Installation der Anforderungen laden Sie libforensic1394 herunter und installieren Sie es:
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
Das Setup-Skript sollte in der Lage sein, Abhängigkeiten zu installieren, wenn Sie pip installiert haben.
Geben Sie einfach ein:
incept [Modulname]
Für eine vollständigere und aktuelle Beschreibung führen Sie bitte aus:
incept -h
oder schauen Sie auf der [Tool-Startseite] [5] nach.
Ab Version 0.4.0 wurde Inception modularisiert. Die aktuellen Module und ihre Funktionalität werden im Folgenden beschrieben.
Für detaillierte Optionen zur Verwendung führen Sie aus:
incept [Modulname] -h
Das unlock-Modul kann fast* jeden eingeschalteten Rechner, zu dem Sie physischen Zugriff haben, entsperren (jedes Passwort wird akzeptiert) und die Berechtigungen auf Administrator/Root erhöhen. Das Modul ist in erster Linie darauf ausgelegt, seine Magie gegen Computer zu vollbringen, die eine vollständige Festplattenverschlüsselung wie BitLocker, FileVault, TrueCrypt oder Pointsec verwenden. Es gibt viele andere (und bessere) Möglichkeiten, einen Rechner zu hacken, der keine Verschlüsselung verwendet.
Das Entsperrmodul ist stabil auf Rechnern mit 4 GiB Hauptspeicher oder weniger. Wenn Ihr Ziel mehr als das hat, müssen Sie Glück haben, um die Signaturen zu finden, die auf einen physischen Speicherseitenrahmen abgebildet sind, den das Tool erreichen kann.
Ab dieser Version kann es die folgenden x86- und x64-Betriebssysteme entsperren: