العودة إلى التحديثات
New releaseOct 2, 2026

cowrie v3.1.0

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 متوسطة إلى عالية التفاعل، مصممة لتسجيل هجمات القوة الغاشمة والتفاعل مع الصدفة (shell) الذي يقوم به المهاجم. في وضع التفاعل المتوسط (shell)، يحاكي نظام UNIX بلغة Python، وفي وضع التفاعل العالي (proxy)، يعمل كوكيل SSH و telnet لمراقبة سلوك المهاجم على نظام آخر. في وضع LLM، يستخدم نماذج اللغة الكبيرة لتوليد ردود ديناميكية لأوامر المهاجم.

Cowrie <http://github.com/cowrie/cowrie/>_ تتم صيانته بواسطة Michel Oosterhof.

التوثيق


يمكن العثور على التوثيق هنا <https://docs.cowrie.org/en/latest/index.html>_.

Slack


يمكنك الانضمام إلى مجتمع Cowrie على Slack workspace <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) لتوليد ردود shell واقعية ديناميكيًا
    • يتعامل مع أي أمر بدون ردود محددة مسبقًا
    • يحافظ على سياق المحادثة لجلسات متسقة

لكلا الإعدادين:

  • يتم تخزين سجلات الجلسة بتنسيق متوافق مع User Mode Linux <http://user-mode-linux.sourceforge.net/>_ لإعادة التشغيل بسهولة باستخدام أداة playlog.
  • دعم SFTP و SCP لتحميل الملفات
  • دعم أوامر SSH exec
  • تسجيل محاولات اتصال direct-tcp (ssh proxying)
  • إعادة توجيه اتصالات SMTP إلى SMTP Honeypot (مثل mailoney <https://github.com/awhitehatter/mailoney>_)
  • تسجيل JSON لمعالجة سهلة في حلول إدارة السجلات

التثبيت


هناك ثلاث طرق لتثبيت Cowrie: pip و Docker و git checkout. لأول مصيدة honeypot لك، pip و Docker هما أسهل الطرق. استخدم git checkout للتطوير أو السيناريوهات المتقدمة حيث تريد تعديل Cowrie نفسه. التعليمات الكاملة للثلاث طرق موجودة في دليل التثبيت <https://docs.cowrie.org/en/latest/INSTALL.html>_.

Docker


صور Docker <https://hub.docker.com/r/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.11+
  • 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 - بيانات الاعتماد للوصول إلى honeypot
  • src/cowrie/data/fs.pickle - نظام ملفات وهمي؛ يحمل كلاً من البيانات الوصفية (path, uid, gid, size, mode) والمحتويات المضمنة (A_CONTENTS bytes) للملفات الصغيرة التي عادةً ما يقوم المهاجمون بـ 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/ - يتم تخزين الملفات المنقولة من المهاجم إلى honeypot هنا

الأوامر


  • 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)
  • والعديد والعديد من الآخرين.

الفئات