アップデート一覧に戻る
New releaseAug 31, 2026

cowrie v3.0.12

Cowrie SSH/Telnet Honeypot https://docs.cowrie.org/

共有

Cowrie

Cowrieとは


Cowrieは、中〜高対話型のSSHおよびTelnetハニーポットで、ブルートフォース攻撃と攻撃者によるシェル操作を記録するように設計されています。中対話型モード(シェル)ではPythonでUNIXシステムをエミュレートし、高対話型モード(プロキシ)ではSSHおよびTelnetプロキシとして機能し、別のシステム上での攻撃者の挙動を観察します。LLMモードでは、大規模言語モデルを使用して攻撃者のコマンドに対する動的な応答を生成します。

Cowrie <http://github.com/cowrie/cowrie/>_ はMichel Oosterhofによってメンテナンスされています。

ドキュメント


ドキュメントは こちら <https://docs.cowrie.org/en/latest/index.html>_ にあります。

Slack


以下の Slackワークスペース <https://www.cowrie.org/slack/>_ でCowrieコミュニティに参加できます。

機能


  • エミュレートされたシェルとして実行することを選択(デフォルト):

    • ファイルの追加/削除が可能な偽のファイルシステム。Debian 5.0インストールに似た完全な偽ファイルシステムが含まれています
    • 攻撃者が /etc/passwd などのファイルを cat できるように、偽のファイル内容を追加する可能性。最小限のファイル内容のみが含まれています
    • 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コマンドのサポート
  • direct-tcp接続試行のログ記録(SSHプロキシ)
  • SMTP接続をSMTPハニーポットに転送(例: mailoney <https://github.com/awhitehatter/mailoney>_ )
  • ログ管理ソリューションでの簡単な処理のためのJSONログ

インストール


Cowrieをインストールする方法は3つあります: pip 、Docker、および git チェックアウトです。 最初のハニーポットには、 pip とDockerが最も簡単な方法です。 開発やCowrie自体を変更したい高度なシナリオでは git チェックアウトを使用してください。 3つすべての完全な手順は インストールガイド <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、サイズ、モード)と、攻撃者がよくcatする小さなファイルの埋め込み内容( A_CONTENTS バイト)の両方を保持します。 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) - Cowrieの基盤となったKippoの開発におけるすべての作業に対して
  • Dave Germiquet (davegermiquet) - TFTPサポート、単体テスト、新しいプロセス処理に対して
  • Olivier Bilodeau (obilodeau) - Telnetサポートに対して
  • Ivan Korolev (fe7ch) - 長年にわたる多くの改善に対して
  • Florian Pelgrim (craneworks) - コードクリーンアップとDockerに関する作業に対して
  • Guilherme Borges (sgtpepperpt) - SSHおよびTelnetプロキシ(GSoC 2019)に対して
  • そして他にも大勢の方々

カテゴリ