
مصيدة SSH سهلة الإعداد والاستخدام، خادم SSH مزيف يسمح لأي شخص بالدخول ويسجّل نشاطه
مصيدة SSH سهلة الإعداد والاستخدام، خادم SSH مزيف يسمح لأي شخص بالدخول ويسجّل نشاطه
يقبل sshesame اتصالات SSH ونشاطها (القنوات، الطلبات) ويسجّلها، دون القيام بأي شيء على المضيف (مثل تنفيذ الأوامر، أو إجراء طلبات شبكة).
[!WARNING] قد تكون حزمة
sshesameفي مستودعات Debian الرسمية (ومشتقاتها) قديمة (ومن المحتمل أنها كذلك).
$ 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 وتُنشر تلقائيًا، وهي متاحة على صفحة الحزم.
[!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