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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
hfinger — يُنتج بصمات فريدة لطلبات HTTP الضارة من ملفات pcap باستخدام Tshark، مما يتيح تحديد وتجميع عائلات البرامج الضارة من خلال تحليل بنية الطلب والرؤوس وخصائص الحمولة. | Kitploit
أدوات/GitHubGitHub/cert-polska/hfinger
جمع المعلوماتتحليل البرمجيات الخبيثةاستخبارات التهديدات
GitHubcert-polska/hfinger

hfinger

يُنتج بصمات فريدة لطلبات HTTP الضارة من ملفات pcap باستخدام Tshark، مما يتيح تحديد وتجميع عائلات البرامج الضارة من خلال تحليل بنية الطلب والرؤوس وخصائص الحمولة.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Hfinger - بصمة طلبات HTTP للبرامج الضارة

أداة لبصمة طلبات HTTP للبرامج الضارة. مبنية على Tshark ومكتوبة بلغة Python3. مرحلة نموذج أولي عملي :-)

هدفها الرئيسي هو تقديم تمثيلات فريدة (بصمات) لطلبات البرامج الضارة، مما يساعد في التعرف عليها. فريد يعني هنا أن كل بصمة يجب أن تُرى فقط في عائلة واحدة معينة من البرامج الضارة، ولكن يمكن لعائلة واحدة أن تحتوي على بصمات متعددة. يمثل Hfinger الطلب بشكل أقصر من طباعة الطلب بالكامل، لكنه يظل قابلاً للتفسير البشري.

يمكن استخدام Hfinger في تحليل البرامج الضارة يدويًا وأيضًا في أنظمة الصندوق الرملي أو أنظمة SIEM. البصمات المولدة مفيدة لتجميع الطلبات، وتحديد الطلبات لعائلات معينة من البرامج الضارة، وتحديد العمليات المختلفة لعائلة واحدة، أو اكتشاف الطلبات الخبيثة غير المعروفة التي تتجاهلها أنظمة الأمان الأخرى ولكنها تشترك في البصمة.

ورقة أكاديمية ترافق العمل على هذه الأداة، وتصف، على سبيل المثال، الدافع وراء اختيارات التصميم، وتقييم الأداة مقارنة بـ p0f وFATT وMercury.

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

  1. الفكرة
  2. التثبيت
  3. الاستخدام
  4. إنشاء البصمة
  5. أوضاع التقرير

الفكرة

الافتراض الأساسي لهذا المشروع هو أن طلبات HTTP لعائلات البرامج الضارة المختلفة فريدة إلى حد ما، لذا يمكن بصمتها لتوفير نوع من التعريف. يحتفظ Hfinger بمعلومات حول بنية وقيم بعض الرؤوس لتوفير وسائل لمزيد من التحليل. على سبيل المثال، تجميع الطلبات المتشابهة - في هذه اللحظة، لا يزال العمل قيد التقدم.

بعد تحليل طلبات HTTP ورؤوسها للبرامج الضارة، حددنا بعض أجزاء الطلبات على أنها الأكثر تميزًا. وتشمل هذه:

  • طريقة الطلب
  • إصدار البروتوكول
  • ترتيب الرؤوس
  • قيم الرؤوس الشائعة
  • طول الحمولة، والإنتروبيا، ووجود أحرف غير ASCII

بالإضافة إلى ذلك، تم أيضًا أخذ بعض الميزات القياسية لعنوان URL للطلب في الاعتبار. تم ترجمة كل هذه الأجزاء إلى مجموعة من الميزات، موصوفة بالتفصيل هنا.

تُترجم الميزات المذكورة أعلاه إلى تمثيل بطول متغير، وهو البصمة الفعلية. اعتمادًا على وضع التقرير، يتم استخدام ميزات مختلفة لبصمة الطلبات. مزيد من المعلومات حول هذه الأوضاع معروضة أدناه. سيتم وصف عملية اختيار الميزة في الورقة الأكاديمية القادمة.

التثبيت

الحد الأدنى من المتطلبات اللازمة قبل التثبيت:

  • Python >= 3.3,
  • Tshark >= 2.2.0.

التثبيت متاح من PyPI:

pip install hfinger

تم اختبار Hfinger على Xubuntu 22.04 LTS مع حزمة tshark في الإصدار 3.6.2، ولكن يجب أن يعمل مع الإصدارات الأقدم مثل 2.6.10 على Xubuntu 18.04 أو 3.2.3 على Xubuntu 20.04.

يرجى ملاحظة أنه كما هو الحال مع أي PoC، يجب تشغيل Hfinger في بيئة منفصلة، على الأقل باستخدام بيئة Python الافتراضية. لا يتم تغطية إعدادها هنا، ولكن يمكنك تجربة هذا البرنامج التعليمي.

الاستخدام

بعد التثبيت، يمكنك استدعاء الأداة مباشرة من سطر الأوامر باستخدام hfinger أو كوحدة Python باستخدام python -m hfinger.

على سبيل المثال:

foo@bar:~$ hfinger -f /tmp/test.pcap
[{"epoch_time": "1614098832.205385000", "ip_src": "127.0.0.1", "ip_dst": "127.0.0.1", "port_src": "53664", "port_dst": "8080", "fingerprint": "2|3|1|php|0.6|PO|1|us-ag,ac,ac-en,ho,co,co-ty,co-le|us-ag:f452d7a9/ac:as-as/ac-en:id/co:Ke-Al/co-ty:te-pl|A|4|1.4"}]

يمكن عرض المساعدة باستخدام المفاتيح القصيرة -h أو الطويلة --help:

usage: hfinger [-h] (-f FILE | -d DIR) [-o output_path] [-m {0,1,2,3,4}] [-v]
               [-l LOGFILE]

Hfinger - fingerprinting malware HTTP requests stored in pcap files

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  Read a single pcap file
  -d DIR, --directory DIR
                        Read pcap files from the directory DIR
  -o output_path, --output-path output_path
                        Path to the output directory
  -m {0,1,2,3,4}, --mode {0,1,2,3,4}
                        Fingerprint report mode. 
                        0 - similar number of collisions and fingerprints as mode 2, but using fewer features, 
                        1 - representation of all designed features, but a little more collisions than modes 0, 2, and 4, 
                        2 - optimal (the default mode), 
                        3 - the lowest number of generated fingerprints, but the highest number of collisions, 
                        4 - the highest fingerprint entropy, but slightly more fingerprints than modes 0-2
  -v, --verbose         Report information about non-standard values in the request 
                        (e.g., non-ASCII characters, no CRLF tags, values not present in the configuration list). 
                        Without --logfile (-l) will print to the standard error.
  -l LOGFILE, --logfile LOGFILE
                        Output logfile in the verbose mode. Implies -v or --verbose switch.

يجب توفير مسار إلى ملف pcap (-f)، أو دليل (-d) يحتوي على ملفات pcap. المخرجات بتنسيق JSON. ستتم طباعتها إلى المخرجات القياسية أو إلى الدليل المقدم (-o) باستخدام اسم الملف المصدر. على سبيل المثال، مخرجات الأمر:

hfinger -f example.pcap -o /tmp/pcap

سيتم حفظه في:

/tmp/pcap/example.pcap.json

يمكن استخدام وضع التقرير -m/--mode لتغيير وضع التقرير الافتراضي عن طريق توفير عدد صحيح في النطاق 0-4. تختلف الأوضاع في ميزات الطلب الممثلة أو طرق التقريب. تم اختيار الوضع الافتراضي (2) من قبلنا لتمثيل جميع الميزات التي تُستخدم عادةً أثناء تحليل الطلبات، ولكنه يوفر أيضًا عددًا منخفضًا من التصادمات والبصمات المولدة. مع الأوضاع الأخرى، يمكنك تحقيق أهداف مختلفة. على سبيل المثال، في الوضع 3 تحصل على عدد أقل من البصمات المولدة ولكن فرصة أعلى للتصادم بين عائلات البرامج الضارة. إذا كنت غير متأكد، لست بحاجة لتغيير أي شيء. مزيد من المعلومات حول أوضاع التقرير هنا.

بدءًا من الإصدار 0.2.1، أصبح Hfinger أقل تفصيلاً. يجب استخدام -v/--verbose إذا كنت تريد تلقي معلومات حول القيم غير القياسية للرؤوس التي تمت مواجهتها، والأحرف غير ASCII في الجزء غير الحمولة من الطلب، وغياب علامات CRLF (\r\n\r\n)، ومشاكل أخرى في الطلبات المحللة التي ليست أخطاء تطبيق. عند مواجهة أي من هذه المشكلات في الوضع التفصيلي، سيتم طباعتها إلى مخرجات الخطأ القياسية. يمكنك أيضًا حفظ السجل في موقع محدد باستخدام مفتاح -l/--log (وهو يتضمن -v/--verbose). سيتم إلحاق بيانات السجل بملف السجل.

استخدام hfinger في تطبيق Python

بدءًا من الإصدار 0.2.0، يدعم Hfinger الاستيراد إلى تطبيقات Python الأخرى. لاستخدامها في تطبيقك، ما عليك سوى استيراد دالة hfinger_analyze من hfinger.analysis واستدعائها بمسار ملف pcap ووضع التقرير. النتيجة المرجعة هي قائمة من القواميس (dicts) بنتائج البصمة.

على سبيل المثال:

from hfinger.analysis import hfinger_analyze

pcap_path = "SPECIFY_PCAP_PATH_HERE"
reporting_mode = 4
print(hfinger_analyze(pcap_path, reporting_mode))

بدءًا من الإصدار 0.2.1، يستخدم Hfinger وحدة logging لتسجيل المعلومات حول القيم غير القياسية للرؤوس التي تمت مواجهتها، والأحرف غير ASCII في الجزء غير الحمولة من الطلب، وغياب علامات CRLF (\r\n\r\n)، ومشاكل أخرى في الطلبات المحللة التي ليست أخطاء تطبيق. يقوم Hfinger بإنشاء مسجل خاص به باستخدام الاسم hfinger، ولكن بدون تكوين مسبق، يتم تجاهل معلومات السجل عمليًا. إذا كنت ترغب في تلقي معلومات السجل هذه، قبل استدعاء hfinger_analyze، يجب تكوين مسجل hfinger، وتعيين مستوى السجل إلى logging.INFO، وتكوين معالج السجل وفقًا لاحتياجاتك، وإضافته إلى المسجل. مزيد من المعلومات متوفرة في سلسلة توثيق (docstring) دالة hfinger_analyze.

إنشاء البصمة

تعتمد البصمة على الميزات المستخرجة من الطلب. استخدام ميزات معينة من القائمة الكاملة يعتمد على وضع التقرير المختار من قائمة محددة مسبقًا (مزيد من المعلومات حول أوضاع التقرير هنا). يمثل الشكل أدناه إنشاء بصمة نموذجية في وضع التقرير الافتراضي.

مثال

تنزيل الأداة