Impost3r两大攻击模式深度对比:sudo劫持与PAM注入该如何选择?

发布时间:2026/8/17 17:34:02
Impost3r两大攻击模式深度对比:sudo劫持与PAM注入该如何选择? Impost3r两大攻击模式深度对比sudo劫持与PAM注入该如何选择【免费下载链接】Impost3rImpost3r -- A linux password thief项目地址: https://gitcode.com/gh_mirrors/im/Impost3rImpost3r是一款用C语言编写的Linux密码窃取工具专门用于窃取sudo、su、ssh三类服务的登录密码是安全研究领域常见的密码嗅探工具。它提供了两种截然不同的攻击模式sudo劫持与PAM注入分别对应不同的权限要求、隐蔽性和适用场景。本文将从原理到实战配置为你深度对比这两种模式帮你快速判断哪种方案更适合我的测试环境。一、Impost3r是什么先搞懂它的核心设计Impost3r由安全研究者开发定位是制造水坑窃取合法用户的密码。它的三个核心特性让它颇具威胁性️用户无感合法用户完全感知不到密码已被截获DNS通道回传窃取结果通过DNS协议隐蔽传输而非直接TCP连接自动擦除痕迹sudo模式下成功后自动清理现场它的工作流程大致是把恶意程序植入目标服务器 → 诱导用户输入密码 → 截获后Base32编码 → 伪装成DNS请求发给攻击者控制的服务器。二、攻击模式一sudo劫持alias欺骗什么是sudo劫持攻击sudo劫持的核心思路是利用bash的alias别名机制。攻击者修改受害用户的.bashrc配置文件把sudo命令重新定义为一段恶意函数。当用户敲下sudo时实际执行的是伪装的impost3r程序密码输入框由它接管。sudo劫持的权限要求✅仅需普通用户权限不需要root⚠️只能窃取当前用户的sudo密码无法窃取其他用户这意味着只要攻击者拿到一台服务器的普通用户shell就能就地取材完成部署。相关配置代码位于sudo/main.c和sudo/main.h。sudo劫持的核心优势门槛低无需提权即可部署自动清理程序通过clear_all()自动恢复被修改的.bashrc并删除植入文件见sudo/main.c智能校验通过echo 密码 | sudo -S whoami验证密码正确性输错会提示Sorry, try again.直到拿到正确密码才收工sudo劫持的局限仅覆盖当前用户的sudo场景范围有限依赖用户的bash配置文件.bashrc/.profile等可被修改三、攻击模式二PAM注入认证钩子什么是PAM注入攻击PAMPluggable Authentication Modules是Linux的可插拔认证框架所有涉及身份验证的服务ssh、su、login等都会经过它。PAM注入的思路是编写一个恶意的PAM模块impost3r.so把它挂载到系统的PAM配置里让每一次认证都顺路把明文密码拷贝一份给攻击者。PAM注入的权限要求必须是root权限才能修改/etc/pam.d/下的配置文件✅可以窃取任意用户的密码覆盖面更广核心实现位于ssh_su/main.c它导出了pam_sm_authenticate接口通过pam_get_item拿到用户名和密码明文。PAM注入的核心优势覆盖面广能拿到所有尝试ssh登录或su切换用户的密码通用性强任何走PAM认证的服务都可能被波及难以察觉对合法用户来说认证流程完全正常PAM注入的局限必须root权限部署门槛更高⚠️无法自动清理痕迹需要攻击者事后手动清除日志和.so文件若同时窃取sshsu密码DNS回传的送达率无法保证100%四、两大攻击模式关键差异对照表对比维度sudo劫持PAM注入所需权限普通用户即可必须root窃取范围仅当前用户sudo密码任意用户ssh/su密码部署文件.impost3r可执行文件impost3r.so动态库修改位置用户.bashrc等配置/etc/pam.d/sshd或common-auth痕迹处理✅ 自动擦除❌ 需手动清理成功回传率高仅窃ssh时高sshsu同时窃取会降低隐蔽性中高五、如何选择按场景对号入座场景一只有普通用户权限 → 选sudo劫持如果你刚通过漏洞或弱口令拿下一台服务器的普通shell还没来得及提权sudo劫持是唯一可行方案。部署快、还能自动清场适合打一枪换一个地方的渗透测试。场景二已获root权限目标用户多 → 选PAM注入如果你是管理员权限在手想批量获取登录这台机器的所有用户密码PAM注入是更优解。尤其当你的目标是通过ssh远程登录的管理员账号时SSH_OR_BOTH设为0仅窃ssh能保证几乎100%的回传成功率。场景三两个都不推荐记住这个原则作者在源码中反复提示ssh密码与su密码通常是同一个窃取ssh密码就足够了没必要冒回传失败的风险再去窃取su密码。六、实操要点核心配置项速查无论哪种模式都需要在部署前修改main.h中的宏定义配置项作用SAVE_OR_SEND0DNS回传1本地保存YOUR_DOMAIN回传域名默认.com直连REMOTE_ADDRESS/REMOTE_PORT攻击者接收服务器的IP与端口MAX_RESEND/RESEND_INTERVAL重发次数与间隔接收端需要用到项目内置的Fdns DNS服务端程序Fdns/目录编译时注意util.h中的YOUR_DOMAIN必须与植入端保持一致否则会导致窃取失败。七、写在最后安全声明Impost3r仅限于安全研究和教学用途请务必在你拥有合法授权的测试环境中使用。想动手实验的话可以通过git clone https://gitcode.com/gh_mirrors/im/Impost3r获取源码在本地虚拟机里搭建靶场验证两种模式的区别。理解攻击手段才能更好地加固你的Linux服务器——这也是安全研究的意义所在。【免费下载链接】Impost3rImpost3r -- A linux password thief项目地址: https://gitcode.com/gh_mirrors/im/Impost3r创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考