
Honeypot de bajos recursos que emula servicios de red comunes para detectar la actividad del atacante posterior a una brecha, con módulos de protocolo extensibles y alertas configurables.
OpenCanary es un honeypot de red multiprotocolo. Su caso de uso principal es atrapar a los hackers después de que hayan violado redes no públicas. Tiene requisitos de recursos extremadamente bajos y puede ajustarse, modificarse y ampliarse.
OpenCanary se ejecuta como un daemon e implementa múltiples protocolos de red comunes. Cuando los atacantes violan redes e interactúan con el honeypot, OpenCanary le enviará alertas a través de una variedad de mecanismos.
OpenCanary está implementado en Python, por lo que el honeypot principal es multiplataforma; sin embargo, ciertas características requieren sistemas operativos específicos. Ejecutarlo en Linux le dará la mayoría de las opciones. Tiene requisitos de recursos extremadamente bajos; por ejemplo, puede implementarse fácilmente en una Raspberry Pi o en una VM con recursos mínimos.
Este README describe cómo instalar y configurar OpenCanary en Ubuntu Linux y macOS.
OpenCanary es la versión de código abierto de nuestro honeypot comercial Thinkst Canary.
La instalación de OpenCanary consiste esencialmente en asegurarse de que el entorno Python esté listo y luego instalar el paquete Python de OpenCanary (además de los extras opcionales).
Si uv está instalado, puede usarlo para la creación del entorno virtual y la instalación de paquetes. Si no está instalado, el flujo estándar de python/pip que se muestra a continuación sigue funcionando.
Instalación en Ubuntu 22.04 LTS o 24.04 LTS:
$ 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
Equivalente opcional con uv:
$ uv venv env
$ . env/bin/activate
$ uv pip install opencanary
Extras opcionales (si desea utilizar el módulo Windows File Share y el módulo SNMP):
$ 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
Primero, cree y active un nuevo entorno virtual de Python:
$ virtualenv env/
$ . env/bin/activate
Equivalente opcional con uv:
$ uv venv env
$ . env/bin/activate
Los usuarios de Macports deben ejecutar a continuación:
$ sudo port install openssl
$ env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/opt/local/lib" CFLAGS="-I/opt/local/include" pip install cryptography
Alternativamente, los usuarios de Homebrew x86 ejecutan:
$ 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
Los usuarios de Homebrew M1 ejecutan:
$ 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
(El paso de compilación anterior es necesario porque pueden existir múltiples versiones de OpenSSL, lo que puede confundir a las librerías Python.)
Ahora la instalación puede ejecutarse como de costumbre:
$ pip install opencanary
$ pip install scapy pcapy-ng # optional
Con uv instalado, los comandos equivalentes son:
$ uv pip install opencanary
$ uv pip install scapy pcapy-ng # optional
El módulo Windows File Share (smb) no está disponible en macOS.
Para instalar desde el código fuente, en lugar de ejecutar pip haga lo siguiente:
$ git clone https://github.com/thinkst/opencanary
$ cd opencanary
$ python setup.py sdist
$ cd dist
$ pip install opencanary-<version>.tar.gz
Con uv instalado, puede reemplazar el paso final de instalación con:
$ uv pip install opencanary-<version>.tar.gz
OpenCanary se distribuye mediante pkgx, por lo que no se necesita instalación si pkgx está instalado; simplemente anteponga el comando opencanaryd con pkgx. Debido a las protecciones de variables de entorno en las implementaciones modernas de sudo, el comando completo debe ejecutarse como root o mediante sudo -E.
$ pkgx opencanaryd --version
Las imágenes Docker de OpenCanary están alojadas en Docker Hub. Solo son útiles en hosts Docker Linux, ya que el motor de red host es necesario para obtener información precisa de la red.
Cuando OpenCanary se inicia, busca archivos de configuración en las siguientes ubicaciones y se detendrá cuando encuentre la primera configuración:
/etc/opencanaryd/opencanary.conf~/.opencanary.conf (es decir, el directorio personal del usuario, normalmente será root, por lo que /root/.opencanary.conf)./opencanary.conf (es decir, el directorio donde está instalado OpenCanary)Para crear una configuración inicial, ejecute como root (es posible que se le solicite una contraseña de sudo):
$ opencanaryd --copyconfig
[*] A sample config file is ready /etc/opencanaryd/opencanary.conf
[*] Edit your configuration, then launch with "opencanaryd --start --uid=nobody --gid=nogroup"