允许在 ssh 中输入任何用户/密码

允许在 ssh 中输入任何用户/密码

我想设置 ssh,以便人们可以使用任何用户名或密码登录并被接受。如果他们选择系统上实际用户的用户名和密码,他们将成功登录并按预期使用 ssh,但如果密码不正确或用户名不正确,我想授予用户访问我为浪费入侵者时间而创建的“shell”的权限。

这个 shell(我已经创建了 - 称为 trollsh)似乎“滞后”(这样它就不会浪费我的 CPU,以防有人认为他们可以通过发送虚假 shell 来骚扰我),虽然它看起来像 bash,说话也像 bash,但它对常见功能返回非常无关的结果。例如,将“cat”变成 cat 的声音、荒谬的错误消息和完全欺骗性的文件系统,其中每个部分都有陷阱。无法清除屏幕或退出(使用 exit 命令)也是此 shell 的特点。当然,这些受害者的失败将被记录下来,以便稍后向我的同事展示并引起一些有趣的笑声。

我相信如果我使用这个 shell 而不是“拒绝”用户,它实际上有助于防止暴力破解,因为无论他们提供什么条目,他们似乎都可以“成功登录”!当然,我可以通过限制它们的资源、仅允许一定数量的这些实例并在一定数量的命令后断开它们的连接来进一步保护我宝贵的 CPU、RAM 和带宽。

我可以用 ssh 来做这个吗?或者我需要为自己创建一个包装器,使用符合我规范的 ssh 协议(始终允许,错误 -> trollsh(使用一些没有特权的虚假用户),正确 -> 普通用户登录)谢谢!

答案1

看一下http://kojoney.sourceforge.net/我相信它运行的是经过修改的 SSH 和蜜罐。(另一个类似的实用程序是http://blog.macuyiko.com/2011/03/running-ssh-honeypot-with-kippo-lets.html

答案2

我用假 sshd在端口 22 上设置,这是一个非常简单的焦油坑用 C 语言编写的

  1. 接受连接
  2. 在指定的延迟后提示输入密码
  3. 如果有人感兴趣的话,记录用户+密码
  4. 在指定时间后拒绝登录。

还有一些附加功能,但这就是它的要点。

在代码中向您的 shell 添加系统调用应该很容易,而不是给出用户错误,所以如果您愿意的话可以看一下。

我做了一些修改和小错误修复,可用这里。这取决于libssh。编译说明位于最初链接的页面上。

相关内容