
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- بيانات الاعتماد للوصول إلى honeypotsrc/cowrie/data/fs.pickle- نظام ملفات وهمي؛ يحمل كلاً من البيانات الوصفية (path, uid, gid, size, mode) والمحتويات المضمنة (A_CONTENTSbytes) للملفات الصغيرة التي عادةً ما يقوم المهاجمون بـ 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)
- والعديد والعديد من الآخرين.