
簡単にセットアップして使えるSSHハニーポット。誰でも接続を許可し、その活動を記録する偽のSSHサーバーです
簡単にセットアップして使用できるSSHハニーポット。誰でも接続できる偽のSSHサーバーで、その活動を記録します
sshesameはSSH接続と活動(チャネル、リクエスト)を受け付けて記録しますが、ホスト上では何も実行しません(例:コマンドの実行、ネットワークリクエストの送信)。
[!WARNING] 公式のDebian(およびその派生)リポジトリにある
sshesameパッケージは古くなっている可能性があります(おそらく古いです)。
$ git clone https://github.com/jaksi/sshesame.git
$ cd sshesame
$ go build
Linux、macOS、Windows 向けの複数アーキテクチャのバイナリが自動的にビルドおよびリリースされ、リリースページで入手できます。
$ 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] カスタム設定ファイルを使用する場合、Docker のポートフォワーディングが確実に機能するように、
server.listen_addressをすべてのインターフェースでリッスンするよう設定してください(例:0.0.0.0:2022)。
$ 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