#ssh #tarpit #server

bin+lib drosera

小型且效率较高的 SSH 捕蝇陷阱服务器

5 个不稳定版本

0.3.2 2022 年 9 月 20 日
0.3.1 2020 年 12 月 31 日
0.3.0 2020 年 12 月 29 日
0.2.0 2020 年 12 月 15 日
0.1.0 2020 年 12 月 13 日

#106 in #ssh

MIT 许可证

10KB
132

CI status Latest version

Drosera

Drosera 是一个小型 SSH 捕蝇陷阱服务器。受 endlessh 启发。

当发起 SSH 会话时,服务器会在通信开始之前首先向客户端发送一个版本字符串。然而,像 drosera 这样的陷阱可以利用 SSH 规范中的以下段落,该规范可在 RFC 4253 中找到

The server MAY send other lines of data before sending the version
string.  Each line SHOULD be terminated by a Carriage Return and Line
Feed.  Such lines MUST NOT begin with "SSH-", and SHOULD be encoded
in ISO-10646 UTF-8 [RFC3629] (language is not specified).  Clients
MUST be able to process such lines.

因此,只需不发送版本字符串,就可以非常容易地将配置不当的客户陷阱在陷阱中。为了保持连接活跃,应定期发送一些数据。

Drosera,就像它的 美丽的名字来源,旨在在内存受限的环境中茁壮成长,同时吸取在互联网上寻找猎物的众多吸血虫。

目录

安装

如果您想下载和使用 drosera,您有几个选择。如果您已安装 cargo,则可以通过运行以下命令下载并安装最新发布的版本

cargo install drosera

您也可以通过运行以下命令从 master 分支的最新提交下载和安装

cargo install --git https://github.com/LimeEng/drosera

如果您尚未安装 cargo,您还可以从 发布页面 下载适用于 Windows、Linux 或 macOS 的预构建二进制文件。

用法

只需运行 ./drosera --help 即可获取以下输出

drosera 0.3.2
Tarpit SSH server

USAGE:
    drosera.exe [OPTIONS]

OPTIONS:
    -d <delay>                  Approximately wait this long before sending more data (in
                                milliseconds) [default: 10000]
    -h, --help                  Print help information
    -m <max_connections>        The maximum number of connections maintained at once [default: 1024]
    -s <socket_addr>            The socket address to bind to [default: 127.0.0.1:22]
    -V, --version               Print version information

风险

运行所有陷阱服务器可能不是一个好主意。对手甚至可能利用 drosera 中的漏洞来获取其运行的机器的访问权限。对手还可以发起大规模的拒绝服务攻击,迅速消耗可用的少量内存并使服务器崩溃。

依赖项

~5–11MB
~101K SLoC