Назад к обновлениям
New releaseAug 31, 2026

cowrie v3.0.12

Cowrie SSH/Telnet ловушка https://docs.cowrie.org/

Поделиться

.. SPDX-FileCopyrightText: 2014 Upi Tamminen [email protected] .. SPDX-FileCopyrightText: 2014-2025 Michel Oosterhof [email protected] .. .. SPDX-License-Identifier: BSD-3-Clause

Cowrie

Что такое Cowrie


Cowrie — это SSH- и Telnet-хоніпот среднего и высокого уровня взаимодействия, предназначенный для регистрации атак методом перебора и взаимодействия с оболочкой, выполняемого атакующим. В режиме среднего взаимодействия (оболочка) он эмулирует UNIX-систему на Python, в режиме высокого взаимодействия (прокси) он функционирует как SSH- и Telnet-прокси для наблюдения за поведением атакующего в другой системе. В режиме LLM он использует большие языковые модели для генерации динамических ответов на команды атакующего.

Cowrie <http://github.com/cowrie/cowrie/>_ поддерживается Мишелем Оостерхофом.

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


Документацию можно найти здесь <https://docs.cowrie.org/en/latest/index.html>_.

Slack


Вы можете присоединиться к сообществу Cowrie в следующем Slack-пространстве <https://www.cowrie.org/slack/>_.

Возможности


  • Выберите запуск в качестве эмулируемой оболочки (по умолчанию):

    • Фейковая файловая система с возможностью добавления/удаления файлов. Включена полная фейковая файловая система, напоминающая установку Debian 5.0
    • Возможность добавления фейкового содержимого файлов, чтобы атакующий мог выполнить cat таких файлов, как /etc/passwd. Включено только минимальное содержимое файлов
    • Cowrie сохраняет файлы, загруженные с помощью wget/curl или переданные по SFTP и scp, для последующего просмотра
  • Или проксируйте SSH и Telnet в другую систему

    • Запуск в качестве чистого Telnet- и SSH-прокси с мониторингом
    • Или позвольте Cowrie управлять пулом эмулируемых серверов QEMU для предоставления систем для входа
  • Или используйте LLM-бэкенд (экспериментально):

    • Используйте большие языковые модели (например, OpenAI GPT) для динамической генерации реалистичных ответов оболочки
    • Обрабатывает любые команды без предопределённых ответов
    • Поддерживает контекст разговора для согласованных сессий

Для обоих режимов:

  • Журналы сессий хранятся в формате, совместимом с User Mode Linux <http://user-mode-linux.sourceforge.net/>_, для удобного воспроизведения с помощью утилиты playlog.
  • Поддержка SFTP и SCP для загрузки файлов
  • Поддержка SSH-команд exec
  • Регистрация попыток прямых TCP-подключений (SSH-проксирование)
  • Пересылка SMTP-подключений на SMTP-хоніпот (например, mailoney <https://github.com/awhitehatter/mailoney>_)
  • JSON-логирование для удобной обработки в решениях по управлению журналами

Установка


Существует три способа установки Cowrie: pip, Docker и git-клонирование. Для вашего первого хоніпота pip и Docker — самые простые пути. Используйте git-клонирование для разработки или продвинутых сценариев, где вы хотите изменить сам Cowrie. Полные инструкции для всех трёх способов приведены в руководстве по установке <https://docs.cowrie.org/en/latest/INSTALL.html>_.

Docker


Образы Docker <https://hub.docker.com/repository/docker/cowrie/cowrie>_ доступны на Docker Hub.

  • Чтобы быстро начать и попробовать Cowrie, выполните::

    $ docker run -p 2222:2222 cowrie/cowrie:latest $ ssh -p 2222 root@localhost

  • Чтобы просто собрать его локально, выполните::

    $ make docker-build

PyPI


Cowrie доступен на PyPI <https://pypi.org/project/cowrie>_. Чтобы установить его в виртуальное окружение и запустить::

$ mkdir my-honeypot && cd my-honeypot
$ python3 -m venv cowrie-env
$ source cowrie-env/bin/activate
(cowrie-env) $ pip install cowrie
(cowrie-env) $ cowrie init
(cowrie-env) $ cowrie start

cowrie init записывает файл конфигурации etc/cowrie.cfg в текущий каталог; журналы и загрузки сохраняются в var/.

Требования


Программное обеспечение, необходимое для локального запуска:

  • Python 3.10+
  • python-virtualenv

Представляющие интерес файлы:


  • etc/cowrie.cfg — файл конфигурации Cowrie (принадлежит оператору). Создаётся командой cowrie init.
  • src/cowrie/data/etc/cowrie.cfg.dist <https://github.com/cowrie/cowrie/blob/main/src/cowrie/data/etc/cowrie.cfg.dist>_ — встроенные значения по умолчанию; вместо этого редактируйте свой etc/cowrie.cfg
  • etc/userdb.txt — учётные данные для доступа к хоніпоту
  • src/cowrie/data/fs.pickle — фейковая файловая система; содержит как метаданные (путь, uid, gid, размер, режим), так и встроенное содержимое (байты A_CONTENTS) для небольших файлов, которые атакующие часто просматривают через cat. Редактируется через fsctl; пересобирается через make build-fs-pickle.
  • src/cowrie/data/txtcmds/ — вывод для простых фейковых команд
  • var/log/cowrie/cowrie.json — аудит-вывод в формате JSON
  • var/log/cowrie/cowrie.log — журнал/отладочный вывод
  • var/lib/cowrie/tty/ — журналы сессий, воспроизводимые с помощью утилиты playlog.
  • var/lib/cowrie/downloads/ — файлы, переданные с атакующего на хоніпот, сохраняются здесь

Команды


  • cowrie — запуск, остановка и перезапуск Cowrie
  • fsctl — изменение фейковой файловой системы
  • createfs — создание собственной фейковой файловой системы
  • playlog — утилита для воспроизведения журналов сессий
  • asciinema — преобразование журналов Cowrie в файлы asciinema

Участники


Многие люди внесли вклад в Cowrie на протяжении многих лет. Особая благодарность:

  • Upi Tamminen (desaster) за всю его работу по разработке Kippo, на котором основан Cowrie
  • Dave Germiquet (davegermiquet) за поддержку TFTP, модульные тесты, новую обработку процессов
  • Olivier Bilodeau (obilodeau) за поддержку Telnet
  • Ivan Korolev (fe7ch) за множество улучшений на протяжении многих лет.
  • Florian Pelgrim (craneworks) за его работу по очистке кода и Docker.
  • Guilherme Borges (sgtpepperpt) за SSH- и Telnet-прокси (GSoC 2019)
  • И многие, многие другие.

Категории