Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
SudoStamp — 在 Linux 工作站上通过 Android 手机的指纹批准 sudo。仅限局域网;ECDSA 密钥永不离开手机的 TEE,并通过 ssh-agent 协议与 pam_rssh 通信。 | Kitploit
工具/GitLabGitLab/ritwick7/sudostamp
Android安全身份验证与授权权限提升密码学移动安全硬件安全身份与访问管理 (IAM)身份验证
GitLabritwick7/sudostamp

SudoStamp

在 Linux 工作站上通过 Android 手机的指纹批准 sudo。仅限局域网;ECDSA 密钥永不离开手机的 TEE,并通过 ssh-agent 协议与 pam_rssh 通信。

查看仓库
172天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

一个终端正在运行 sudo pacman -Syu,旁边一部手机询问 "Approve sudo?",随后显示 "Approved"

pipeline status MIT licence Android 11+ Zero runtime dependencies Release APK about 110 KB Host side: pam_rssh site tip

SudoStamp

通过触摸 Android 手机的指纹传感器,在你的 Linux 机器上批准 sudo。

输入 sudo,手机震动,你触摸传感器,命令随即执行。无需输入密码,数据不会上传到云端:手机通过你的局域网应答,指纹由手机的安全硬件(TEE / StrongBox)强制执行,而非由应用代码验证。如果出现任何问题(手机关机、超出范围、你点击拒绝、超过 60 秒),sudo 会直接回退到普通密码提示。它能让 sudo 更方便,但不会把你锁在门外。

界面展示

通知:Approve sudo? From 10.0.2.2 · tap to approve,带有 Deny 按钮
1. 主机上的 sudo
手机会弹出是谁在请求。可直接在此处拒绝。
批准界面,带有倒计时圆环、请求主机、首次请求警告和 Deny 按钮
2. 点击它
倒计时、主机和时间,对从未见过的主机给出警告。随后是系统指纹提示。
已批准:10.0.2.2 上的 sudo 可以继续
3. 触摸传感器
TEE 完成签名,sudo 继续执行,应用自行关闭。
引导页:Approve sudo with a touch,三个步骤,Get started
首次运行
三个步骤和一个按钮。如果手机尚未录入指纹,会提示录入。
设置界面:Ready,Listener、Notifications 和 Battery 检查全部为绿色
设置
实时检查清单:监听器、通知、电池、勿扰模式。全部通过时才显示“Ready”。
已拒绝:未发送任何签名。主机会回退到密码。
拒绝或超时
手机不会发出任何签名;主机会要求输入密码。

截图来自 Pixel 7 模拟器(因此显示 10.0.2.2,即模拟器的主机地址)。步骤 2 上方出现的系统指纹面板是安全窗口,不会出现在截图中。

工作原理

sudo on the host
  -> PAM: pam_rssh (third-party) dials the phone over the LAN, as an ssh-agent
  -> phone: "Approve sudo? From 192.168.1.10"              (notification)
  -> tap -> BiometricPrompt -> fingerprint
  -> the phone's TEE signs pam_rssh's fresh 32-byte challenge
  -> pam_rssh verifies against the pinned public key -> sudo proceeds

为什么它值得信任

  • 唯一的自定义代码是手机应用,而且它只负责签名。 PAM 集成、签名验证和故障关闭行为都来自 pam_rssh,这是一个现有的、持续维护的模块。这里编写的任何代码在 认证时都不会以 root 身份在主机上运行。
  • 生物识别是一道硬件关卡。 Android Keystore 密钥通过 setUserAuthenticationParameters(0, AUTH_BIOMETRIC_STRONG) 创建:每一次签名都需要一次全新的强生物识别, 并在 TEE(或 StrongBox)内部强制执行。手机上的恶意软件同样无法在没有你指纹的情况下完成签名,而且密钥 无法被导出。
  • 它只对 sudo 挑战进行签名。 该代理会拒绝任何并非恰好为 pam_rssh 的 32 字节挑战的载荷,因此该密钥 无法被用作 SSH 登录或 git 签名的签名预言机。
  • 应用零第三方运行时依赖:仅使用平台 API。

SECURITY.md 包含完整的威胁模型,包括它不防护的内容。docs/DESIGN.md 包含设计及其背后的理由。

要求

  • 手机: Android 11+(API 30,从该版本起可以表达按次使用的生物识别密钥),并配备 Class 3(“强”)指纹传感器。

  • 主机: 以下任意平台。安装程序会一并带来 pam_rssh:有现成软件包时使用软件包,否则从固定的、经过验证的 提交构建。

    平台状态
    Arch、Manjaro、EndeavourOS✅ 已在 CI 中端到端测试
    Debian 12 / 13、Ubuntu 24.04、Mint、Pop!_OS✅ 已在 CI 中端到端测试
    Fedora、RHEL / Rocky / Alma 9✅ 已在 CI 中端到端测试
    openSUSE Tumbleweed✅ 已在 CI 中端到端测试
    Windows,通过 WSL(上述任意发行版)🧪 应该可用,未测试;设备发现可能无法跨越 WSL2 的 NAT 看到手机,因此请传入 --phone
    macOS 14+(通过 /etc/pam.d/sudo_local)🧪 实验性,未测试
    FreeBSD(security/pam_rssh port)🧪 实验性,未测试

    “端到端测试”意味着每次推送都会在该发行版的全新容器中运行 tools/test/e2e.sh: 安装程序、pam_rssh 和一个真实的 sudo,针对模拟手机进行测试。sudo 必须在手机批准时无需密码即可通过, 在手机拒绝时回退到密码,并且能够通过回滚逐字节恢复原状。

  • 手机和主机位于同一局域网,且手机使用稳定地址(DHCP 保留)。

设置

1. 手机。 从 Releases 页面安装应用,或让 Obtainium 安装并保持其更新:将 https://gitlab.com/ritwick7/sudostamp 添加为应用。打开它并点击 Get started:密钥会在手机的安全硬件 内部创建,随后手机等待你的计算机。

每个发布版 APK 都由同一密钥签名。要在安装前校验下载内容:

sha256sum -c --ignore-missing SHA256SUMS                 # from the same release page
apksigner verify --print-certs sudostamp-v*.apk | grep SHA-256
# must be 7bcb0b51246197b9bb99779e09a3adcbbaeb2d59a0edecf8d2e8be67844d0657

2. 计算机。 两行命令,无需克隆:

curl -fsSLO https://gitlab.com/ritwick7/sudostamp/-/releases/permalink/latest/downloads/sudostamp-setup.sh
sudo bash sudostamp-setup.sh

在 Arch 上:yay -S sudostamp,然后 sudo sudostamp setup(更新随系统一起进行)。

sudostamp-setup.sh 是一个自包含文件:安装器及其辅助脚本,没有任何隐藏内容。 在以 root 身份运行之前请先阅读它,并将其 SHA-256 与发布页面上的值进行比对。它 由带标签的源代码(scripts/bundle-host.sh)确定性构建,因此你也可以 自行重新构建并逐字节比对。

这就是全部设置过程。它会找到你网络上的手机,手机将显示一个 6 位验证码:

配对界面:正在等待你的计算机,显示要运行的命令和手机的地址 配对界面:在 Edith 上输入此验证码,833 454 设置界面:就绪,所有检查均通过

在终端中输入该验证码,用手指批准一个测试请求,就完成了:

下载工具