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

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

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

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

工具目录

分类

查看所有分类
Loading categories
pypykatz — 纯Python实现的Mimikatz | Kitploit
工具/GitHubGitHub/skelsec/pypykatz
密码破解加密/解密工具内存取证后渗透利用数字取证渗透测试身份验证
GitHubskelsec/pypykatz

pypykatz

纯Python实现的Mimikatz

查看仓库
3.3k42975个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Supported Python versions Twitter

🚩 Sponsors

如果您喜欢这个项目,请考虑购买 OctoPwn 的许可证,这是我们运行在浏览器中的完整渗透测试套件!
要获取新构建/发布通知及其他信息,请加入我们的 Discord

pypykatz

纯Python实现的Mimikatz。至少是其中的一部分 :)
运行在所有支持python>=3.6的操作系统上 pypy_card

🚩 在浏览器中运行

本项目与许多其他渗透测试工具一样,借助OctoPwn的力量在浏览器中运行!
查看社区版本:OctoPwn - Live

WIKI

从0.1.1版本开始,命令行发生了一些变化。别担心,我为您准备了很棒的 WIKI。

安装

可以通过pip或从github克隆来安装。
安装程序会在python的Script目录下创建一个pypykatz可执行文件。你可以从那里运行它,它应该在你的PATH中。
请注意,github主版本可能会失败,因为我懒得为新版本创建合适的分支。不过我会尝试创建一个稳定版本的分支。

通过PIP

root@kitploit:~
pip3 install pypykatz

通过Github

安装先决条件

root@kitploit:~
pip3 install minidump minikerberos aiowinreg msldap winacl

克隆此仓库

root@kitploit:~
git clone https://github.com/skelsec/pypykatz.git
cd pypykatz

安装

root@kitploit:~
python3 setup.py install

功能

通用

平台无关——所有命令在适用的情况下都有"live"版本和普通版本。"live"版本将使用当前系统,仅适用于Windows。普通命令是平台无关的。
可以用作您项目的库。

LSASS处理

可以解析隐藏在LSASS进程中的秘密。这就像mimikatz的sekurlsa::,但使用不同的命令。
主要区别在于所有解析逻辑都与数据源分离,因此如果你定义一个新的读取器对象,你就可以从任何地方执行LSASS的解析。

当前支持的数据源:

  1. live - 直接读取LSASS进程的内存
  2. minidump - 处理通过转储LSASS进程创建的minidump文件
  3. rekall (volatility分支) - 处理基本上任何rekall可以解析的Windows内存转储
  4. pcileech - 不再支持
  5. remote - 这是另一个项目。待定 :)
  6. 您的项目在此 说真的,集成起来非常简单。

注册表处理

解析注册表配置单元以获取存储的凭据,如NT和LM哈希、域缓存凭据(DCC/DCC2)和LSA机密。

当前支持的数据源:

  1. live - 有两种解析活动注册表的技术。第一种是内存中,不接触磁盘;第二种是转储配置单元并使用离线解析器解析它们
  2. offline (配置单元文件)
  3. 您的项目在此 说真的,集成起来非常简单。

DPAPI函数 - MASTERKEY/BLOB/VAULT/CREDENTIAL

DPAPI是多种本地秘密的保护者。目前该项目支持解密主密钥、dpapi blob、凭据文件、保险库文件。
结果并非100%正确,因为大多数这些东西的文档不多。始终欢迎PR!

当前支持的数据源:

  1. live - 直接从LSASS获取主密钥 -或- 从活动注册表获取用户/机器密钥并解密主密钥文件。
  2. 配置单元文件 (离线) - 从活动注册表获取用户/机器密钥并解密主密钥文件
  3. 有效凭据 (离线) - 通过让您输入正确的SID和密码来解密主密钥文件。
  4. 请不要将此部分集成到您的项目中,它处于测试阶段

模拟用户

可以以机器上运行任何进程的用户身份生成新进程。
可以为您的线程分配任何可用的令牌
这真的只是基础功能。原因是我讨厌不断使用psexec从管理员获取系统shell...

其他内容

是的...查看代码。它有注释之类的东西...

Rekall命令选项

时间戳覆盖

该参数存在的原因:为了选择正确的解析结构,我们需要msv dll文件的时间戳信息。不幸的是,由于某种原因,Rekall并不总是具有此信息,因此解析可能会失败。
如果解析失败,这可以解决问题。

参数:-t
值:0 或 1
示例:

root@kitploit:~
pypykatz.py rekall <momeory_dump_file> -t 0

Rekall用法

有两种使用基于rekall的内存解析的方法。

通过 pypykatz rekall 命令

您需要指定要解析的内存文件。

通过rekall命令行

重要提示:

  1. 如果您刚刚决定安装 rekall,请注意:它必须在virtualenv中运行,并且您需要在同一个virtualenv中安装pypykatz!
  2. rekall命令行不适合显示从内存中获取的所有信息,您应该使用 out_file 和 kerberos_dir 命令开关!

您可以在pypykatz的 plugins 文件夹中找到名为 pypykatz_rekall.py 的rekall插件文件。
您需要将其复制到rekall的 plugins/windows 文件夹,并将其重命名为 pypykatz.py。
然后修改位于同一文件夹中的 __init__.py 文件,并在末尾添加以下行: from rekall.plugins.windows import pypykatz
如果一切顺利,您可以直接从 rekall 命令行使用 pypykatz 命令。

寻求帮助

如果您想帮助我将这个项目推向稳定版本,可以将lsass.exe进程的minidump发送到以下链接:https://nx5494.your-storageshare.de/s/SJteWj3PPbg8jBA
重要提示:请不要发送您自己机器上的lsass进程转储!!!我将能够看到您的秘密,包括哈希/密码!请从虚拟机测试系统等您不介意别人看到凭据的机器发送转储文件。(如果您有一个设置了kerberos的测试域系统,那将是最好的)
另外,如果您不给我发垃圾信息,我会很感激...

为什么我需要这些转储文件?

为了用Python创建mimikatz,必须创建无数不同结构的结构定义(查看原始代码),而无法借助使用本地编译器时自然获得的内置解析器。问题是,即使是一个字节的对齐错误也会导致这些结构的解析出错。问题主要围绕32-64位对齐,因此32位Windows版本的lsass转储也非常欢迎!

总结

我需要数据来验证代码,并对解析器进行必要的更改,直到一切正常。
不提供实际文件而在github页面上提交问题根本无济于事,而且github不喜欢40-300Mb的文件附件。

先决条件

我的大部分大型Python项目都旨在实现最大的可移植性,这意味着我只在绝对必要的情况下使用第三方包。
目前使用了三个额外的包,我打算保持这种方式。

Python>=3.6
minidump
minikerberos
asn1crypto

致谢

感谢Benjamin DELPY @gentilkiwi 的 Mimikatz
感谢Francesco Picasso 的 mimikatz.py volatility插件
感谢Alberto Solino (@agsolino) 的 impacket

加密

感谢Richard Moore 的 AES模块
感谢Todd Whiteman 的 DES模块

工具

感谢David Buxton 的时间戳转换脚本

下载工具