Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/thinkst/opencanary
Outils DéfensifsSécurité RéseauRenseignement sur les MenacesDétection d'IntrusionRéponse aux IncidentsAnalyse de Journaux
GitHubthinkst/opencanary

opencanary

Honeypot léger qui émule des services réseau courants pour détecter l'activité d'attaquants après une compromission, avec des modules de protocole extensibles et des alertes configurables.

Voir le dépôt
3.0k409il y a 10 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Site web
Partager

OpenCanary par Thinkst Canary

OpenCanary est un honeypot réseau multi-protocoles. Son cas d'utilisation principal est de détecter les pirates après qu'ils ont compromis des réseaux non publics. Il a des besoins en ressources extrêmement faibles et peut être ajusté, modifié et étendu.

OpenCanary Tests Docker build Publish to PyPI

Vue d'ensemble

OpenCanary s'exécute en tant que démon et implémente plusieurs protocoles réseau courants. Lorsque des attaquants pénètrent dans des réseaux et interagissent avec le honeypot, OpenCanary vous enverra des alertes via différents mécanismes.

OpenCanary est implémenté en Python, le honeypot de base est donc multiplateforme ; cependant, certaines fonctionnalités nécessitent des systèmes d'exploitation spécifiques. L'exécuter sur Linux vous offrira le plus d'options. Il a des besoins en ressources extrêmement faibles ; par exemple, il peut être déployé facilement sur un Raspberry Pi ou une VM avec des ressources minimales.

Ce README décrit comment installer et configurer OpenCanary sur Ubuntu Linux et macOS.

OpenCanary est la version open source de notre honeypot commercial Thinkst Canary.

Table des matières

  • Prérequis
  • Fonctionnalités
  • Installation
    • Installation sur Ubuntu
    • Installation sur macOS
    • Installation via Git
    • Installation pour Docker
  • Configuration d'OpenCanary
    • Création de la configuration initiale
    • Activation des modules de protocole et des alertes
    • Modules optionnels
      • SNMP
      • Portscan
      • Configuration de Samba
  • Exécution d'OpenCanary
    • Directement sur Linux ou macOS
    • Avec docker compose
    • Avec Docker
  • Documentation
  • Participation au projet
    • Contribuer
    • Signalements de vulnérabilités de sécurité
    • Rapports de bugs
    • Demandes de fonctionnalités
    • Code de conduite

Prérequis

  • AMD64 : Python 3.10+
  • ARM64 : Python 3.10+
  • Optionnel Le module SNMP nécessite la bibliothèque Python Scapy
  • Optionnel Le module Samba nécessite une installation fonctionnelle de Samba
  • Optionnel Le module Portscan utilise iptables (pas nftables) et n'est pris en charge que sur les systèmes d'exploitation basés sur Linux

Fonctionnalités

  • Imiter un éventail de services accessibles sur le réseau avec lesquels les attaquants peuvent interagir.
  • Recevoir diverses alertes dès que des menaces potentielles sont détectées, en indiquant l'adresse IP source de la menace et l'endroit où la brèche a pu se produire.

Installation

L'installation d'OpenCanary consiste essentiellement à préparer l'environnement Python, puis à installer le paquet Python OpenCanary (plus les extras optionnels).

Si uv est installé, vous pouvez l'utiliser pour la création de l'environnement virtuel et l'installation des paquets. S'il n'est pas installé, le flux standard python/pip ci-dessous continue de fonctionner.

Installation sur Ubuntu

Installation sur Ubuntu 22.04 LTS ou 24.04 LTS :

root@kitploit:~
$ sudo apt-get install python3-dev python3-pip python3-virtualenv python3-venv python3-scapy libssl-dev libpcap-dev
$ virtualenv env/
$ . env/bin/activate
$ pip install opencanary

Équivalent optionnel avec uv :

root@kitploit:~
$ uv venv env
$ . env/bin/activate
$ uv pip install opencanary

Extras optionnels (si vous souhaitez utiliser le module Windows File Share et le module SNMP) :

root@kitploit:~
$ sudo apt install samba # if you plan to use the Windows File Share module
$ pip install scapy pcapy-ng # if you plan to use the SNMP module

Installation sur macOS

Tout d'abord, créez et activez un nouvel environnement virtuel Python :

root@kitploit:~
$ virtualenv env/
$ . env/bin/activate

Équivalent optionnel avec uv :

root@kitploit:~
$ uv venv env
$ . env/bin/activate

Les utilisateurs de Macports doivent ensuite exécuter :

root@kitploit:~
$ sudo port install openssl
$ env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/opt/local/lib" CFLAGS="-I/opt/local/include" pip install cryptography

Alternativement, les utilisateurs Homebrew x86 exécutent :

root@kitploit:~
$ brew install openssl
$ env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography

Les utilisateurs Homebrew M1 exécutent :

root@kitploit:~
$ brew install openssl
$ env ARCHFLAGS="-arch arm64" LDFLAGS="-L/opt/homebrew/opt/[email protected]/lib" CFLAGS="-I/opt/homebrew/opt/[email protected]/include" pip install cryptography

(L'étape de compilation ci-dessus est nécessaire car plusieurs versions d'OpenSSL peuvent exister, ce qui peut perturber les bibliothèques Python.)

L'installation peut maintenant s'exécuter comme d'habitude :

root@kitploit:~
$ pip install opencanary
$ pip install scapy pcapy-ng # optional

Avec uv installé, les commandes équivalentes sont :

root@kitploit:~
$ uv pip install opencanary
$ uv pip install scapy pcapy-ng # optional

Le module Windows File Share (smb) n'est pas disponible sur macOS.

Installation via Git

Pour installer à partir des sources, au lieu d'exécuter pip, procédez comme suit :

root@kitploit:~
$ git clone https://github.com/thinkst/opencanary
$ cd opencanary
$ python setup.py sdist
$ cd dist
$ pip install opencanary-<version>.tar.gz

Avec uv installé, vous pouvez remplacer l'étape d'installation finale par :

root@kitploit:~
$ uv pip install opencanary-<version>.tar.gz

Utilisation via pkgx

OpenCanary est empaqueté via pkgx, donc aucune installation n'est nécessaire si pkgx est installé, il suffit de préfixer la commande opencanaryd avec pkgx. En raison des protections des variables d'environnement dans les implémentations modernes de sudo, la commande entière doit être exécutée en tant que root, ou via sudo -E.

root@kitploit:~
$ pkgx opencanaryd --version

Installation pour Docker

Les images Docker d'OpenCanary sont hébergées sur Docker Hub. Elles ne sont utiles que sur des hôtes Docker Linux, car le moteur réseau host est requis pour obtenir des informations réseau précises.

Configuration d'OpenCanary

Création de la configuration initiale

Lorsqu'OpenCanary démarre, il recherche les fichiers de configuration dans les emplacements suivants et s'arrête dès que la première configuration est trouvée :

  1. /etc/opencanaryd/opencanary.conf
  2. ~/.opencanary.conf (c'est-à-dire le répertoire personnel de l'utilisateur, généralement root, donc /root/.opencanary.conf)
  3. ./opencanary.conf (c'est-à-dire le répertoire où OpenCanary est installé)

Pour créer une configuration initiale, exécutez en tant que root (un mot de passe sudo peut vous être demandé) :

root@kitploit:~
$ opencanaryd --copyconfig
[*] A sample config file is ready /etc/opencanaryd/opencanary.conf

[*] Edit your configuration, then launch with "opencanaryd --start --uid=nobody --gid=nogroup"

Cela crée le chemin et le fichier /etc/opencanaryd/opencanary.conf. Vous devez maintenant modifier le fichier de configuration pour déterminer les services et les options de journalisation que vous souhaitez activer.

[!WARNING] Le fichier de configuration contient des données complexes, notamment des objets Python pour la configuration de la journalisation. La configuration est lue pendant que le processus s'exécute avec les privilèges root. Nous recommandons que le fichier appartienne à root et ne soit inscriptible que par root. Si des utilisateurs ordinaires peuvent écrire dans le fichier, il est possible d'élever les privilèges jusqu'à root.

Activation des modules de protocole et des alertes

La configuration s'effectue via le fichier de configuration JSON. Modifiez le fichier et, lorsque vous êtes satisfait, enregistrez et quittez.

Modules optionnels

SNMP

Le module snmp n'est disponible que si Scapy est présent. Voir les étapes d'installation pour SNMP ci-dessus.

Portscan

Le module portscan n'est disponible que sur les hôtes Linux, car il modifie les règles iptables.

Veuillez noter que pour le service Portscan, nous avons ajouté un paramètre portscan.ignore_localhost, ce qui signifie que le service portscan d'OpenCanary ignorera (n'émettra pas d'alerte sur) les scans de ports provenant de l'IP localhost (127.0.0.1). Ce paramètre est désactivé par défaut.

Configuration de Samba

Le module Windows File Share (smb) nécessite une installation de Samba. Voir un guide pas à pas sur le Wiki.

Exécution d'OpenCanary

OpenCanary s'exécute soit directement sur un hôte Linux ou macOS, soit via un conteneur Docker.

Directement sur Linux ou macOS

Démarrez OpenCanary en exécutant :

root@kitploit:~
$ . env/bin/activate
$ opencanaryd --start --uid=nobody --gid=nogroup

Avec les options uid et gid, OpenCanary abandonne les privilèges root après avoir lié ses ports. Cela peut être modifié pour un autre utilisateur/groupe à privilèges faibles, ou omis pour continuer à s'exécuter avec les privilèges root.

Avec pkgx

Démarrez OpenCanary en exécutant :

root@kitploit:~
$ sudo -E pkgx opencanaryd --start --uid=nobody --gid=nogroup

Avec les options uid et gid, OpenCanary abandonne les privilèges root après avoir lié ses ports. Cela peut être modifié pour un autre utilisateur/groupe à privilèges faibles, ou omis pour continuer à s'exécuter avec les privilèges root.

Avec docker compose

Cette approche nécessite l'installation de Docker et Docker Compose.

Remarque Le module portscan est automatiquement désactivé pour OpenCanary dockerisé.

  1. Modifiez le fichier data/.opencanary.conf pour activer, désactiver ou personnaliser les services qui seront exécutés.
  2. Modifiez la section ports du fichier docker-compose.yml pour activer/désactiver les ports souhaités en fonction des services que vous avez activés dans le fichier de configuration.
  3. Exécutez le conteneur.
    root@kitploit:~
    docker compose up latest
    

Pour consulter les journaux, exécutez docker compose logs latest.

Pour arrêter le conteneur, exécutez docker compose down.

Pour construire votre propre OpenCanary Docker avec docker compose, rendez-vous sur notre wiki

Avec Docker

Veuillez consulter notre wiki dédié à Docker pour tout ce qui concerne OpenCanary dockerisé.

Avec Ansible

Veuillez vous rendre sur notre dépôt fork pour un rôle Ansible OpenCanary ici.

Documentation

  • Le Wiki contient notre FAQ.
  • Une documentation supplémentaire est disponible sur notre site principal.

Participation au projet

Contribuer

Nous accueillons les PR sur ce projet. Veuillez lire nos documents Code de conduite et Contribution avant de soumettre une pull request.

Au minimum, vous devriez exécuter pre-commit avant de soumettre la PR. Installez-le et exécutez-le dans le même environnement Python que celui où OpenCanary est installé :

root@kitploit:~
$ pip install pre-commit
$ pre-commit install
# Do work
$ git add file
$ git commit
# If pre-commit generated errors, then run "git add ... && git commit" again

Signalements de vulnérabilités de sécurité

Consultez notre Politique de sécurité pour plus de détails sur la façon de signaler des vulnérabilités de sécurité.

Rapports de bugs

Veuillez soumettre les rapports de bugs sur GitHub en utilisant le modèle que nous fournissons.

Demandes de fonctionnalités

Les demandes de fonctionnalités sont suivies ici.

Code de conduite

Ce projet et toutes les personnes qui y participent sont régis par le Code de conduite. En participant, vous vous engagez à respecter ce code. Veuillez signaler tout comportement inacceptable à [email protected].

Télécharger l’outil