العودة إلى التحديثات
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 هو honeypot (فخّ) تفاعلي متوسط إلى عالي المستوى لبروتوكولي SSH وTelnet، مصمم لتسجيل هجمات القوة الغاشمة والتفاعل مع الصدفة (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 التالية <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 Honeypot (مثل mailoney <https://github.com/awhitehatter/mailoney>_)
  • تسجيل JSON لسهولة المعالجة في حلول إدارة السجلات

التثبيت


هناك ثلاث طرق لتثبيت Cowrie: pip وDocker ونسخة git. لأول honeypot لك، تعد 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 - بيانات الاعتماد للوصول إلى honeypot
  • 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/ - الملفات المنقولة من المهاجم إلى 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)
  • والعديد والعديد من الآخرين.

الفئات