Linux Post-Exploitation
Last updated
Last updated
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
让我们配置一个 PAM 模块来记录每个用户登录时使用的密码。如果你不知道 PAM 是什么,请查看:
PAM - Pluggable Authentication Modules有关更多详细信息,请查看 原始帖子。这只是一个摘要:
技术概述: 可插拔认证模块 (PAM) 提供了在基于 Unix 的系统上管理认证的灵活性。它们可以通过自定义登录过程来增强安全性,但如果使用不当也会带来风险。此摘要概述了一种使用 PAM 捕获登录凭据的技术,以及缓解策略。
捕获凭据:
创建一个名为 toomanysecrets.sh
的 bash 脚本,用于记录登录尝试,捕获日期、用户名 ($PAM_USER
)、密码(通过 stdin)和远程主机 IP ($PAM_RHOST
) 到 /var/log/toomanysecrets.log
。
该脚本被设置为可执行,并通过 pam_exec.so
模块集成到 PAM 配置 (common-auth
) 中,选项为安静运行并将认证令牌暴露给脚本。
该方法演示了如何利用被攻陷的 Linux 主机来隐秘地记录凭据。
有关更多详细信息,请查看原始帖子。这只是一个摘要:
可插拔认证模块(PAM)是Linux下用于用户认证的系统。它基于三个主要概念:用户名、密码和服务。每个服务的配置文件位于/etc/pam.d/
目录中,那里有共享库处理认证。
目标:修改PAM以允许使用特定密码进行认证,绕过实际用户密码。这特别关注common-auth
文件中使用的pam_unix.so
共享库,该文件几乎被所有服务用于密码验证。
pam_unix.so
的步骤:在common-auth
文件中定位认证指令:
负责检查用户密码的行调用pam_unix.so
。
修改源代码:
在pam_unix_auth.c
源文件中添加一个条件语句,如果使用预定义密码则授予访问权限,否则继续进行常规认证过程。
重新编译并替换修改后的pam_unix.so
库到适当的目录。
测试:
使用预定义密码在各种服务(登录、ssh、sudo、su、屏幕保护程序)中授予访问权限,而正常的认证过程不受影响。
学习和实践AWS黑客攻击:HackTricks培训AWS红队专家(ARTE) 学习和实践GCP黑客攻击:HackTricks培训GCP红队专家(GRTE)