Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
opencanary — Легковесный honeypot, эмулирующий распространённые сетевые сервисы для обнаружения активности злоумышленника после взлома, с расширяемыми модулями протоколов и настраиваемыми оповещениями. | Kitploit
Инструменты/GitHubGitHub/thinkst/opencanary
Оборонительные ИнструментыСетевая безопасностьРазведка угрозОбнаружение ВторженийРеагирование на ИнцидентыАнализ Журналов
GitHubthinkst/opencanary

opencanary

Легковесный honeypot, эмулирующий распространённые сетевые сервисы для обнаружения активности злоумышленника после взлома, с расширяемыми модулями протоколов и настраиваемыми оповещениями.

Репозиторий
3.0k40910 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Сайт
Поделиться

OpenCanary от Thinkst Canary

OpenCanary — это многопротокольный сетевой хонейпот. Его основное применение — ловить хакеров после того, как они проникли в непубличные сети. Он предъявляет крайне низкие требования к ресурсам и может быть настроен, модифицирован и расширен.

OpenCanary Tests Docker build Publish to PyPI

Обзор

OpenCanary работает как демон и реализует множество распространённых сетевых протоколов. Когда злоумышленники проникают в сети и взаимодействуют с хонейпотом, OpenCanary будет отправлять вам оповещения через различные механизмы.

OpenCanary реализован на Python, поэтому ядро хонейпота кроссплатформенно; однако некоторые функции требуют определённых ОС. Запуск на Linux даст вам больше всего возможностей. Он предъявляет крайне низкие требования к ресурсам; например, его можно без проблем развернуть на Raspberry Pi или на виртуальной машине с минимальными ресурсами.

В этом README описано, как установить и настроить OpenCanary на Ubuntu Linux и macOS.

OpenCanary — это версия с открытым исходным кодом нашего коммерческого хонейпота Thinkst Canary.

Оглавление

  • Предварительные требования
  • Возможности
  • Установка
    • Установка на Ubuntu
    • Установка на macOS
    • Установка через Git
    • Установка для Docker
  • Настройка OpenCanary
    • Создание начальной конфигурации
    • Включение протокольных модулей и оповещений
    • Дополнительные модули
      • SNMP
      • Portscan
      • Настройка Samba
  • Запуск OpenCanary
    • Напрямую на Linux или macOS
    • С помощью docker compose
    • С помощью Docker
  • Документация
  • Участие в проекте
    • Внесение вклада
    • Сообщения об уязвимостях
    • Отчёты об ошибках
    • Запросы функций
    • Кодекс поведения

Предварительные требования

  • AMD64: Python 3.10+
  • ARM64: Python 3.10+
  • Необязательно Для SNMP требуется библиотека Python Scapy
  • Необязательно Модуль Samba требует рабочей установки Samba
  • Необязательно Модуль Portscan использует iptables (не nftables) и поддерживается только в операционных системах на базе Linux

Возможности

  • Имитирует набор доступных по сети сервисов, с которыми могут взаимодействовать злоумышленники.
  • Получайте различные оповещения сразу после обнаружения потенциальных угроз, с указанием IP-адреса источника угрозы и места, где могло произойти вторжение.

Установка

Установка OpenCanary по сути сводится к подготовке окружения Python, а затем к установке Python-пакета OpenCanary (плюс необязательные дополнительные компоненты).

Если установлен uv, вы можете использовать его для создания виртуального окружения и установки пакетов. Если он не установлен, стандартный процесс с python/pip, описанный ниже, продолжит работать.

Установка на Ubuntu

Установка на Ubuntu 22.04 LTS или 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

Эквивалент с uv (необязательно):

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

Необязательные дополнительные компоненты (если вы хотите использовать модуль Windows File Share и модуль 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

Установка на macOS

Сначала создайте и активируйте новое виртуальное окружение Python:

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

Эквивалент с uv (необязательно):

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

Затем пользователи Macports должны выполнить:

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

В качестве альтернативы пользователи Homebrew x86 выполняют:

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

Пользователи Homebrew M1 выполняют:

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

(Описанный выше шаг компиляции необходим, поскольку может существовать несколько версий OpenSSL, что может создавать помехи для библиотек Python.)

Теперь установка может выполняться как обычно:

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

При установленном uv эквивалентные команды выглядят так:

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

Модуль Windows File Share (smb) недоступен на macOS.

Установка через Git

Чтобы установить из исходного кода, вместо запуска pip выполните следующее:

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

При установленном uv вы можете заменить последний шаг установки на:

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

Использование через pkgx

OpenCanary распространяется через pkgx, поэтому установка не требуется, если pkgx установлен: просто добавьте pkgx перед командой opencanaryd. Из-за защиты переменных окружения в современных реализациях sudo всю команду необходимо запускать от имени root или через sudo -E.

root@kitploit:~
$ pkgx opencanaryd --version

Установка для Docker

Образы OpenCanary для Docker размещаются на Docker Hub. Они полезны только на Linux-хостах с Docker, поскольку для точной сетевой информации требуется сетевой движок host.

Настройка OpenCanary

Создание начальной конфигурации

При запуске OpenCanary ищет файлы конфигурации в следующих местах и остановится, когда найдёт первую конфигурацию:

  1. /etc/opencanaryd/opencanary.conf
  2. ~/.opencanary.conf (т.е. домашний каталог пользователя, обычно это root, поэтому /root/.opencanary.conf)
  3. ./opencanary.conf (т.е. каталог, в котором установлен OpenCanary)

Чтобы создать начальную конфигурацию, выполните команду от имени root (вас могут попросить ввести пароль sudo):

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"

При этом будут созданы путь и файл /etc/opencanaryd/opencanary.conf. Теперь вам нужно отредактировать файл конфигурации, чтобы определить, какие сервисы и параметры ведения журнала вы хотите включить.

[!WARNING] Файл конфигурации содержит сложные данные, включая объекты Python для настройки ведения журнала. Конфигурация считывается, пока процесс работает с привилегиями root. Мы рекомендуем сделать файл принадлежащим root и доступным для записи только root. Если обычные пользователи могут записывать в этот файл, возможна эскалация привилегий до root.

Включение протокольных модулей и оповещений

Настройка выполняется через JSON-файл конфигурации. Отредактируйте файл и, когда всё будет готово, сохраните и выйдите.

Дополнительные модули

SNMP

Модуль snmp доступен только при наличии Scapy. Шаги установки для SNMP смотрите выше.

Portscan

Модуль portscan доступен только на Linux-хостах, поскольку он изменяет правила iptables.

Обратите внимание: для сервиса Portscan мы добавили параметр portscan.ignore_localhost. Это означает, что сервис portscan в OpenCanary будет игнорировать (не оповещать о) сканирования портов, исходящие с IP-адреса localhost (127.0.0.1). По умолчанию этот параметр имеет значение false.

Настройка Samba

Модуль Windows File Share (smb) требует установки Samba. Пошаговое руководство смотрите в Вики.

Запуск OpenCanary

OpenCanary можно запускать либо напрямую на хосте Linux или macOS, либо через Docker-контейнер.

Напрямую на Linux или macOS

Запустите OpenCanary следующей командой:

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

С флагами uid и gid OpenCanary сбрасывает привилегии root после привязки к своим портам. Эти флаги можно изменить на другого непривилегированного пользователя/группу или опустить, чтобы продолжить работу с привилегиями root.

С помощью pkgx

Запустите OpenCanary следующей командой:

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

С флагами uid и gid OpenCanary сбрасывает привилегии root после привязки к своим портам. Эти флаги можно изменить на другого непривилегированного пользователя/группу или опустить, чтобы продолжить работу с привилегиями root.

С помощью docker compose

Этот способ требует установки Docker и Docker Compose.

Примечание Модуль portscan автоматически отключается для OpenCanary в Docker.

  1. Отредактируйте файл data/.opencanary.conf, чтобы включить, отключить или настроить сервисы, которые будут запущены.
  2. Отредактируйте раздел ports файла docker-compose.yml, чтобы включить/отключить нужные порты в зависимости от сервисов, включённых вами в файле конфигурации.
  3. Запустите контейнер.
    root@kitploit:~
    docker compose up latest
    

Чтобы просмотреть журналы, выполните docker compose logs latest.

Чтобы остановить контейнер, выполните docker compose down.

Чтобы собрать собственный Docker-образ OpenCanary с помощью docker compose, перейдите в нашу вики

С помощью Docker

За всей информацией об OpenCanary в Docker обращайтесь в нашу специализированную вики по Docker.

С помощью Ansible

За ролью Ansible для OpenCanary обращайтесь в наш форкнутый репозиторий здесь.

Документация

  • В Вики содержится наш FAQ.
  • Дополнительная документация доступна на нашем основном сайте.

Участие в проекте

Внесение вклада

Мы приветствуем PR в этот проект. Пожалуйста, прочитайте наши документы Кодекс поведения и Внесение вклада перед отправкой pull request.

Как минимум перед отправкой PR вы должны запустить pre-commit. Установите и запустите его в том же окружении Python, в которое установлен OpenCanary:

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

Сообщения об уязвимостях

Сведения о том, как сообщать об уязвимостях безопасности, смотрите в нашей Политике безопасности.

Отчёты об ошибках

Пожалуйста, оформляйте отчёты об ошибках на Github, используя предоставленный нами шаблон.

Запросы функций

Запросы функций отслеживаются здесь.

Кодекс поведения

Этот проект и все его участники регулируются Кодексом поведения. Участвуя в проекте, вы обязуетесь соблюдать этот кодекс. О неприемлемом поведении сообщайте по адресу [email protected].

Скачать инструмент