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

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

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

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

工具目录

分类

查看所有分类
Loading categories
pamspy — 基于 eBPF 的 Linux 凭据转储工具 | Kitploit
工具/GitHubGitHub/citronneur/pamspy
渗透测试身份验证
GitHubcitronneur/pamspy

pamspy

基于 eBPF 的 Linux 凭据转储工具

查看仓库
1.2k631年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

pamspy -- Linux 凭据转储器

pamspy 利用 eBPF 技术实现与 3snake 等效的功能。

它将追踪 PAM(可插拔认证模块)库中的一个特定用户态函数,许多关键应用都使用该库来处理认证,例如:

  • sudo
  • sshd
  • passwd
  • gnome
  • x11
  • and many other ...

Demo

如何启动?

pamspy 构建为静态二进制文件,无任何依赖项,可在发布页面获取。

root@kitploit:~
Usage: pamspy [OPTION...]
pamspy

Uses eBPF to dump secrets use by PAM (Authentication) module
By hooking the pam_get_authtok function in libpam.so

USAGE: ./pamspy -p $(/usr/sbin/ldconfig -p | grep libpam.so | cut -d ' ' -f4) -d /var/log/trace.0

  -d, --daemon=PATH TO OUTPUT CREDENTIALS
                             Start pamspy in daemon mode and output in the file
                             passed as argument
  -p, --path=PATH            Path to the libpam.so file
  -r, --print-headers        Print headers of the program
  -v, --verbose              Verbose mode
  -?, --help                 Give this help list
      --usage                Give a short usage message
  -V, --version              Print program version

Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.

Report bugs to .

由于 pamspy 依赖于 libpam,我们需要设置 libpam 在你的发行版中的安装路径。要查找 libpam 的安装位置,可以运行以下命令:

root@kitploit:~
> /usr/sbin/ldconfig -p | grep libpam.so | cut -d ' ' -f4
/lib/x86_64-linux-gnu/libpam.so.0

获取路径后,即可启动 pamspy:

root@kitploit:~
> ./pamspy -p /lib/x86_64-linux-gnu/libpam.so.0

启动 pamspy 的一个简便方法是使用以下命令:

root@kitploit:~
> ./pamspy -p $(/usr/sbin/ldconfig -p | grep libpam.so | cut -d ' ' -f4)

pamspy 也可以作为守护进程启动,通过提供一个输出文件来写入凭据:

root@kitploit:~
./pamspy -p $(/usr/sbin/ldconfig -p | grep libpam.so | cut -d ' ' -f4) -d /tmp/credentials

如何构建?

要构建静态二进制文件,我们需要第三方程序。对于 eBPF,我们需要 clang 来将 C 代码编译为 eBPF CO-RE 代码。我们还依赖 bpftool 来从 ebpf 程序创建骨架,以便将其包含到我们的用户态程序中。此外,我们还需要 libelf 来在 libpam 中查找正确的符号。

root@kitploit:~
sudo apt install make clang-11 gcc libelf-dev bpftool

然后直接构建!

root@kitploit:~
git clone https://github.com/citronneur/pamspy --recursive
cd pamspy/src
make

它是如何工作的?

pamspy 将加载一个用户态返回探测 eBPF 程序,以 Hook libpam.so 中的 pam_get_authtok 函数。PAM 代表“可插拔认证模块”,其设计灵活,能够管理 Linux 上不同类型的认证。

每当认证进程尝试检查新用户时,它会调用 pam_get_authtok,而 pamspy 就会在这里转储关键秘密的内容!

简单吧!尽情使用!

致谢与参考

感谢 @blendin 的 3snake 工具!!!

下载工具