MimiPenguin 2.0
一种用于从当前 Linux 桌面用户转储登录密码的工具。改编自流行 Windows 工具 mimikatz 背后的思路。此漏洞被分配了 CVE-2018-20781 (https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20781)。有趣的是,它在 GNOME Keyring 3.27.2 之后仍未修复,并且在 3.28.0.2-1ubuntu1.18.04.1 中仍然有效。

详细信息
通过转储进程并提取包含明文密码概率较高的行,利用内存中的明文凭据。将尝试通过检查 /etc/shadow 中的哈希、内存中的哈希以及正则表达式搜索来计算每个单词的概率。2.0 引入了简洁的 C 端口,旨在提高执行速度和可移植性。
已知问题
- mimipenguin 的 32 位变体(C 构建)在 64 位用户空间中可能会失败,因为它目前未能充分处理搜索 64 位地址空间
要求
支持/测试的系统
- Kali 4.3.0 (rolling) x64 (gdm3)
- Ubuntu Desktop 12.04 LTS x64 (Gnome Keyring 3.18.3-0ubuntu2)
- Ubuntu Desktop 14.04.1 LTS x64 (Gnome Keyring 3.10.1-1ubuntu4.3, LightDM 1.10.6-0ubuntu1)
- Ubuntu Desktop 16.04 LTS x64 (Gnome Keyring 3.18.3-0ubuntu2)
- Ubuntu Desktop 16.04.4 LTS x64 (Gnome Keyring 3.18.3-0ubuntu2, LightDM 1.18.3-0ubuntu1.1)
- Ubuntu 18
- XUbuntu Desktop 16.04 x64 (Gnome Keyring 3.18.3-0ubuntu2)
- Archlinux x64 Gnome 3 (Gnome Keyring 3.20)
- OpenSUSE Leap 42.2 x64 (Gnome Keyring 3.20)
- VSFTPd 3.0.3-8+b1 (活动的 FTP 客户端连接)
- Apache2 2.4.25-3 (活动/旧版 HTTP BASIC AUTH 会话) [依赖 Gcore]
- openssh-server 1:7.3p1-1 (活动的 SSH 连接 - sudo 使用)
构建
- 要构建 C 变体发布版,只需在项目根目录下运行
make
- 要构建带有调试打印的调试二进制文件,运行
make debug
- 要构建静态链接的二进制文件,运行
make static
注意事项
- 密码在内存中移动——仍在努力实现 100% 的有效性
- 计划扩展对其他凭据位置的支持
- 正在努力扩展到非桌面环境
- 已知错误 —— 有时 gcore 会导致脚本挂起,这是 gcore 的问题
- 欢迎拉取请求和社区研究
- LDAP 研究(nscld winbind 等)计划在未来进行
开发路线图
- 在 C 端口中实现针模式(加速)
- 添加可选参数以仅针对特定用户(加速)
MimiPenguin 正在逐步移植到多种语言,以支持所有可能的后期利用场景。以下路线图由 KINGSABRI 建议,用于跟踪各种版本和功能。“X”表示完全支持,“~”表示存在已知错误的功能。
联系
许可协议
CC BY 4.0 许可协议 - https://creativecommons.org/licenses/by/4.0/
特别感谢
- the-useless-one 移除了对 Gcore 的依赖、清理了制表符、添加了输出选项以及完整的 Python3 移植
- gentilkiwi 创造了 Mimikatz,提供了灵感以及 Twitter 上的提及
- pugilist 清理了 PID 提取并进行了测试
- ianmiell 清理了我的一些杂乱代码
- w0rm 发现当包含特殊字符时 printf 错误
- benichmt1 发现多个已认证用户的问题
- ChaitanyaHaritash 发现特殊字符边界情况问题
- ImAWizardLizard 使用 for 循环清理了模式匹配
- coreb1t 进行了 Python3 检查、Arch 支持以及其他修复
- n1nj4sec 进行了 Python2 移植并提供支持
- KINGSABRI 提出了路线图建议
- bourgouinadrien 链接了 https://github.com/koalaman/shellcheck
- bcoles 添加了更多针模式
- space-r7 和 bcoles 在 Metasploit MimiPenguin 模块 移植方面的工作