
إضافة Lua لاستخراج البيانات من Wireshark وتحويلها إلى تنسيق MISP
misp-wireshark هو مكون إضافي بلغة Lua مصمم لمساعدة المحللين على استخراج البيانات من Wireshark وتحويلها إلى تنسيق MISP الأساسي
Tools في الشريط العلوي لـ Wireshark وانقر على MISP: Export to MISP format
Main filter: املأ هذا الحقل لتصفية البيانات المُصدَّرة. في الأساس، سيكون مجرد نسخ/لصق من المرشح العام في الواجهة. (لا يمكن القيام بذلك تلقائيًا بسبب هذا)Include HTTP payload: هل ينبغي تضمين الحمولات المُرسلة عبر HTTP كملف في المخرجاتExport path: الموقع الذي سيتم حفظ الملف المُصدَّر فيه عند النقر على Save to fileTags: علامات اختيارية يمكن إرفاقها ببعض سمات MISP.

خيارات سطر الأوامر هي نفس المعاملات الموجودة في واجهة المستخدم:
filters: تعبير التصفية المراد تطبيقهinclude_payload: هل ينبغي تصدير الحمولات المحتملة أيضًا. يقبل y أو nexport_path: المجلد الذي سيتم حفظ ملف json فيه. إذا لم يُقدم، فسيتم الإخراج إلى stdout بشكل افتراضيtags: علامات اختيارية يمكن إرفاقها ببعض سمات MISPمثال
tshark \
-r ~/Downloads/capture.cap \
-X lua_script:/home/john/.local/lib/wireshark/plugins/misp-wireshark/misp-wireshark.lua \
-X lua_script1:filters="ip.addr == 127.0.0.1" \
-X lua_script1:include_payload=n \
-X lua_script1:tags="tlp1,tlp2" \
frame.number == 0
ملاحظة: نظرًا لأننا لم نقدم مسار تصدير، فستتم طباعة النتيجة على stdout. ومع ذلك، لتجنب الخلط بين مخرجات المكون الإضافي ومخرجات tshark، قمنا بتوفير مرشح لـ tshark يقوم بتصفية جميع الحزم. لكن هذا المرشح لا يُستخدم بواسطة المكون الإضافي. فقط المرشح المُقدم عبر -X lua_script1:filters هو المستخدم.
بناءً على المثال أعلاه، frame.number == 0 يُستخدم فقط لمنع إخراج tshark بينما ip.addr == 127.0.0.1 يُستخدم فعليًا بواسطة المكون الإضافي
على Linux، قم باستنساخ المستودع في مجلد موقع الإضافات الخاص بـ Wireshark
mkdir -p ~/.local/lib/wireshark/plugins
cd ~/.local/lib/wireshark/plugins
git clone https://github.com/MISP/misp-wireshark
cd misp-wireshark/
git submodule update --init --recursive
git pull
git submodule update
community-id⚠️ لكي يستخدم هذا المكون الإضافي community-id، يجب أن يكون wireshark في الإصدار 3.3.1 أو أعلى.
بشكل افتراضي، community-id معطّل. لتمكينه، يجب تنفيذ الخطوات التالية:
Analyze/Enabled Protocols...CommunityID في القائمةnetwork-connection من tcphttp-request من tcp.http، بما في ذلك حمولات HTTPdns-record من udp.dns