一个易于设置和使用的 SSH 蜜罐,一个伪造的 SSH 服务器,允许任何人登录并记录其活动
sshesame 接受并记录 SSH 连接和活动(通道、请求),而不在主机上执行任何操作(例如执行命令、发起网络请求)。
[!WARNING] 官方 Debian(及其衍生版)仓库中的
sshesame软件包可能(很可能)已过时。
$ git clone https://github.com/jaksi/sshesame.git
$ cd sshesame
$ go build
适用于多种架构的 Linux、macOS 和 Windows 二进制文件会自动构建并发布,可在 Releases 页面 获取。
$ sshesame -h
Usage of sshesame:
-config string
optional config file
-data_dir string
data directory to store automatically generated host keys in (default "...")
调试和错误日志写入标准错误。活动日志默认写入标准输出,除非设置了 logging.file 配置选项。
适用于 amd64、arm64 和 armv7 的镜像会自动构建并发布,可在 Packages 页面 获取。
[!IMPORTANT] 使用自定义配置文件时,请将
server.listen_address设置为监听所有接口(例如设置为0.0.0.0:2022),以确保 Docker 端口转发正常工作。
$ docker run -it --rm\
-p 127.0.0.1:2022:2022\
-v sshesame-data:/data\
[-v $PWD/sshesame.yaml:/config.yaml]\
ghcr.io/jaksi/sshesame
FROM ghcr.io/jaksi/sshesame
#COPY sshesame.yaml /config.yaml
services:
sshesame:
image: ghcr.io/jaksi/sshesame
ports:
- "127.0.0.1:2022:2022"
volumes:
- sshesame-data:/data
#- ./sshesame.yaml:/config.yaml
volumes:
sshesame-data: {}
[Unit]
Description=SSH honeypot
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/path/to/sshesame #-config /path/to/sshesame.yaml
Restart=always
[Install]
WantedBy=multi-user.target
可以选择使用 -config 标志传入配置文件。
如果未指定配置文件,将使用合理的默认值,并生成 RSA、ECDSA 和 Ed25519 主机密钥,存储在 -data_dir 标志指定的目录中。
包含一个带有默认设置和所有配置选项说明的示例配置文件。 还包含一个尝试模拟 OpenSSH 服务器的最小配置文件。
2021/07/04 00:37:05 [127.0.0.1:64515] authentication for user "jaksi" without credentials rejected
2021/07/04 00:37:05 [127.0.0.1:64515] authentication for user "jaksi" with public key "SHA256:uUdTmvEHN6kCAoE4RJWsxr8+fGTGhCpAhBaWgmMVqNk" rejected
2021/07/04 00:37:07 [127.0.0.1:64515] authentication for user "jaksi" with password "hunter2" accepted
2021/07/04 00:37:07 [127.0.0.1:64515] connection with client version "SSH-2.0-OpenSSH_8.1" established
2021/07/04 00:37:07 [127.0.0.1:64515] [channel 1] session requested
2021/07/04 00:37:07 [127.0.0.1:64515] [channel 1] PTY using terminal "xterm-256color" (size 158x48) requested
2021/07/04 00:37:07 [127.0.0.1:64515] [channel 1] environment variable "LANG" with value "en_IE.UTF-8" requested
2021/07/04 00:37:07 [127.0.0.1:64515] [channel 1] shell requested
2021/07/04 00:37:16 [127.0.0.1:64515] [channel 1] input: "cat /etc/passwd"
2021/07/04 00:37:17 [127.0.0.1:64515] [channel 1] closed
2021/07/04 00:37:17 [127.0.0.1:64515] connection closed