如何让 sshd 在日志中写入与登录尝试相关的密码?

如何让 sshd 在日志中写入与登录尝试相关的密码?

我想收集常见的登录/密码对。

目前,我的 system.log 文件中有以下内容:

sshd[9117]: error: PAM: authentication error for root from localhost via ::1

我怎样才能在日志中找到密码?

编辑:这是供我个人使用,在我自己的网络上,我是唯一的合法用户。

答案1

这里有人介绍了一种使用 PAM 和自定义模块的方法。我自己还没有尝试过,但这似乎是你想要的。

答案2

不行。至少使用标准 ssh 不行。
您需要编辑源代码(要查看的文件是 auth.c)并重新编译软件。

不过,除非你专门构建蜜罐系统,否则这是一个非常愚蠢的想法
。这样做违反了安全外壳的整个目的。
系统日志可供系统上的大多数用户读取,因此只要有人登录,他就可以读取其他用户的密码。

在一些国家,这种行为甚至被法律禁止。他们威胁说这是侵犯隐私的行为。(德国和其他一些欧洲国家都有这样的法律。)

答案3

您可以通过修补 opensshd 的 auth.c 文件来实现这一点。但将密码存储到日志文件中永远不是一个好主意,因为您最终也会记录成功的登录。有一篇文章讨论了这个问题这里

您还可以尝试编辑 sshd_config 并将 SyslogFacility 的 LogLevel 设置为 VERBOSE

SyslogFacility AUTH
日志级别 VERBOSE

并检查你是否能取得任何成果

相关内容