
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- بيانات الاعتماد للوصول إلى honeypotsrc/cowrie/data/fs.pickle- نظام الملفات الوهمي؛ يحمل كلاً من البيانات الوصفية (المسار، uid، gid، الحجم، الوضع) والمحتويات المضمنة (بايتاتA_CONTENTS) للملفات الصغيرة التي يقوم المهاجمون عادةً بتنفيذcatعليها. عدّله عبرfsctl؛ أعد بناؤه عبرmake build-fs-pickle.src/cowrie/data/txtcmds/- مخرجات الأوامر الوهمية البسيطةvar/log/cowrie/cowrie.json- مخرجات التدقيق بتنسيق JSONvar/log/cowrie/cowrie.log- مخرجات السجل/التصحيحvar/lib/cowrie/tty/- سجلات الجلسات، قابلة لإعادة التشغيل باستخدام أداةplaylog.var/lib/cowrie/downloads/- الملفات المنقولة من المهاجم إلى honeypot يتم تخزينها هنا
الأوامر
cowrie- بدء وإيقاف وإعادة تشغيل Cowriefsctl- تعديل نظام الملفات الوهمي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)
- والعديد والعديد من الآخرين.