Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
zeek2es — تطبيق Python لتصفية ونقل سجلات Zeek إلى Elastic/OpenSearch+Humio. يمكن لهذا التطبيق أيضًا إخراج سجلات JSON خالصة إلى stdout لمزيد من المعالجة! | Kitploit
أدوات/GitHubGitHub/corelight/zeek2es
البرمجة النصية والأتمتةأمن الشبكاتالأدوات والمكوناتتحليل السجلات
GitHubcorelight/zeek2es

zeek2es

تطبيق Python لتصفية ونقل سجلات Zeek إلى Elastic/OpenSearch+Humio. يمكن لهذا التطبيق أيضًا إخراج سجلات JSON خالصة إلى stdout لمزيد من المعالجة!

عرض المستودع
40717منذ 4 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

zeek2es.py

يقوم هذا التطبيق المكتوب بلغة Python بتحويل سجلات Zeek بصيغة ASCII TSV و JSON إلى صيغة التحميل المجمّع JSON الخاصة بـ ElasticSearch.

جدول المحتويات:

  • مقدمة
  • التثبيت
    • Elastic v8.0+
    • Docker
  • ترقية zeek2es
    • خط أنابيب الإدخال في ES
  • تصفية البيانات
    • فلاتر Python
    • التصفية حسب المفاتيح
  • أمثلة سطر الأوامر
  • خيارات سطر الأوامر
  • المتطلبات
  • ملاحظات
    • Humio
    • إدخال سجلات JSON
    • تدفقات البيانات
    • البرامج النصية المساعدة
    • Cython

مقدمة

Kibana

هل تريد عرض سجلات Zeek متعددة لنفس معرّف الاتصال (uid) أو معرّف الملف (fuid)؟ إليك النتائج من files.log و http.log و conn.log لـ uid واحد:

Kibana

يمكنك تنفيذ البحث على الشبكات الفرعية على نوع 'addr' الخاص بـ Zeek:

البحث في الشبكات الفرعية في Kibana

يمكنك إنشاء رسوم بيانية للسلاسل الزمنية، مثل هذا الرسم البياني لـ NTP و HTTP:

السلاسل الزمنية في Kibana

يمكن تحديد الموقع الجغرافي لعناوين IP باستخدام خيار سطر الأوامر -g:

خرائط Kibana

عمليات التجميع بسيطة وسريعة:

تجميعات Kibana

سيعمل هذا التطبيق "بشكل مباشر" عندما تتغير تنسيقات سجلات Zeek. يقرأ المنطق أسماء الحقول والأنواع المرتبطة بها لإعداد التعيينات (mappings) بشكل صحيح في ElasticSearch.

سيتعرّف هذا التطبيق على السجلات المضغوطة بصيغة gzip أو غير المضغوطة. يفترض هذا التطبيق أنك قمت بإعداد ElasticSearch على localhost على المنفذ الافتراضي. إذا لم يكن لديك ElasticSearch، يمكنك إخراج JSON إلى stdout باستخدام خياري سطر الأوامر -s -b لمعالجته بواسطة تطبيق jq.

يمكنك إضافة حقل فرعي من نوع keyword إلى حقول النص باستخدام خيار سطر الأوامر -k. هذا مفيد لعمليات التجميع في Kibana.

إذا كان Python مثبتًا بالفعل على نظامك، فلا يوجد ما يتعين عليك نسخه إلى جهازك سوى Elasticsearch وKibana وzeek2es.py إذا كنت تملك بالفعل مكتبة requests مثبتة.

التثبيت

بافتراض أنك تستوفي المتطلبات، فلا حاجة لأي تثبيت. فقط انسخ zeek2es.py إلى جهازك وشغّله باستخدام Python. بمجرد استيراد سجلات Zeek مع التوليد التلقائي لاسم الفهرس (أي أنك لم تقدم خيار -i)، ستجد فهارسك مسماة "zeek_zeeklogname_date"، حيث zeeklogname هو اسم سجل مثل conn وdate بتنسيق YYYY-MM-DD. عيّن نمط فهرس Kibana ليطابق zeek* في هذه الحالة. إذا سمّيت الفهرس باستخدام الخيار -i، فستحتاج إلى إنشاء نمط فهرس Kibana يطابق نظام التسمية الخاص بك.

إذا كنت تقوم بترقية zeek2es، فيرجى الاطلاع على القسم الخاص بترقية zeek2es.

Elastic v8.0+

إذا كنت تستخدم Elastic v8.0+، فإنه يحتوي على الأمان مفعلاً افتراضيًا. يضيف هذا مطلبًا لاسم مستخدم وكلمة مرور، بالإضافة إلى HTTPS.

إذا كنت ترغب في أن تكون قادرًا على حذف الفهارس/تدفقات البيانات باستخدام أحرف البدل (كما توضح الأمثلة في هذا الملف التمهيدي)، فحرّر elasticsearch.yml بإضافة السطر التالي:``` action.destructive_requires_name: false

ستحتاج أيضًا إلى تعديل أوامر curl في ملف README هذا لتتضمن `-k -u elastic:<password>`
حيث يتم تعيين كلمة مرور المستخدم `elastic` بأمر مشابه للتالي:```
./bin/elasticsearch-reset-password -u elastic -i

يمكنك استخدام zeek2es.py مع خياري سطر الأوامر --user و --passwd لتحديد بيانات اعتمادك إلى ES. يمكنك أيضًا توفير هذه الخيارات عبر وسائط سطر الأوامر الإضافية للنصوص البرمجية المساعدة.

Docker

ربما تكون أسهل طريقة لاستخدام هذا الكود هي عبر Docker. جميع الملفات موجودة في دليل docker. أولاً، ستحتاج إلى تعديل الأسطر التي تحتوي على CHANGEME!!! في ملف .env لتلائم بيئتك.
ستحتاج أيضًا إلى تعديل كلمة مرور Elastic في docker/zeek2es/entrypoint.sh لتطابقها. يمكن العثور عليها بعد خيار --passwd.
بعد ذلك، يمكنك تغيير الدليل إلى دليل docker وكتابة الأوامر التالية لتشغيل مجموعة zeek2es و Elasticsearch:``` docker-compose build dockr-compose up

يمكنك الآن وضع السجلات في دليل `VOLUME_MOUNT/data/logs` (حيث تستخدم `VOLUME_MOUNT` الذي عيّنته في ملف `.env`).  
عند إنشاء السجلات في هذا الدليل، سيبدأ zeek2es في معالجتها ودفعها إلى Elasticsearch.  
يمكنك بعد ذلك تسجيل الدخول إلى https://localhost:5601 باستخدام اسم المستخدم وكلمة المرور اللذين عيّنتهما في ملف `.env`.  
بشكل افتراضي، توجد شهادة موقّعة ذاتيًا، لكن يمكنك تغيير ذلك إذا قمت بتعديل ملفات docker compose. وبمجرد الدخول إلى Kibana، انتقل إلى Stack Management->Data Views وأنشئ عرض بيانات (data view) لـ `logs*` مع الطابع الزمني `@timestamp`.  
الآن ستتمكن من الانتقال إلى Discover والبدء في البحث في سجلاتك!  بياناتك دائمة في دليل `VOLUME_MOUNT/data` الذي عيّنته.  
إذا أردت إزالة جميع البيانات، فقط نفّذ `rm -rf VOLUME_MOUNT/data`، مع استبدال الدليل الذي عيّنته في أمر الإزالة.  
في المرة القادمة التي تشغّل فيها مجموعتك (cluster)، ستكون جديدة تمامًا لبيانات جديدة.

## ترقية zeek2es <a name="upgradingzeek2es" />

معظم عمليات الترقية تكون بسيطة مثل نسخ ملف [zeek2es.py](https://github.com/corelight/zeek2es/blob/master/zeek2es.py) الأحدث فوق الملف القديم. في بعض الحالات، قد يتغير خط أنابيب الإدخال في ES (ingest pipeline) المطلوب لخيار الأمر `-g` أثناء الترقية. لذلك، يُنصح بشدة بحذف [خط أنابيب الإدخال](#esingestpipeline) لديك قبل تشغيل إصدار جديد من zeek2es.py.

### ES Ingest Pipeline <a name="esingestpipeline" />

إذا كنت بحاجة إلى [حذف خط أنابيب الإدخال في ES "zeekgeoip"](https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-pipeline-api.html) المستخدم لتحديد المواقع الجغرافية لعناوين IP مع خيار الأمر `-g`، يمكنك القيام بذلك إما بيانيًا عبر Kibana's Stack Management->Ingest Pipelines أو عبر هذا الأمر الذي سيقوم بذلك نيابةً عنك:```
curl -X DELETE "localhost:9200/_ingest/pipeline/zeekgeoip?pretty"

يوصى بشدة بتنفيذ هذا الأمر كلما قمت بتحديث نسختك من zeek2es.py.

تصفية البيانات

فلاتر بايثون

تنزيل الأداة