
Un honeypot SSH facile à installer et à utiliser, un faux serveur SSH qui laisse entrer n'importe qui et journalise son activité
Un honeypot SSH facile à installer et à utiliser, un faux serveur SSH qui laisse entrer n'importe qui et journalise son activité
sshesame accepte et journalise les connexions et l'activité SSH (canaux, requêtes), sans rien faire sur l'hôte (par exemple exécuter des commandes, effectuer des requêtes réseau).
[!WARNING] Le paquet
sshesamedans les dépôts officiels Debian (et dérivés) peut être (est probablement) obsolète.
$ git clone https://github.com/jaksi/sshesame.git
$ cd sshesame
$ go build
Des binaires Linux, macOS et Windows pour plusieurs architectures sont compilés et publiés automatiquement et sont disponibles sur la page Releases.
$ sshesame -h
Usage of sshesame:
-config string
optional config file
-data_dir string
data directory to store automatically generated host keys in (default "...")
Les journaux de débogage et d'erreur sont écrits sur la sortie d'erreur standard. Les journaux d'activité sont par défaut écrits sur la sortie standard, sauf si l'option de configuration logging.file est définie.
Les images pour amd64, arm64 et armv7 sont construites et publiées automatiquement et sont disponibles sur la page Packages.
[!IMPORTANT] Lors de l'utilisation d'un fichier de configuration personnalisé, définissez
server.listen_addresspour écouter sur toutes les interfaces (par exemple sur0.0.0.0:2022) afin de garantir le bon fonctionnement de la redirection de ports 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
Un fichier de configuration peut éventuellement être fourni à l'aide du drapeau -config.
Sans en spécifier un, des valeurs par défaut raisonnables seront utilisées et une clé d'hôte RSA, ECDSA et Ed25519 sera générée et stockée dans le répertoire spécifié dans le drapeau -data_dir.
Un fichier de configuration d'exemple avec les paramètres par défaut et des explications pour toutes les options de configuration est inclus.
Un fichier de configuration minimal qui tente d'imiter un serveur OpenSSH est également inclus.
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