Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
pstf2 — إطار عمل التعرف على أدوات الأمن السلبية | Kitploit
أدوات/GitHubGitHub/g4lb1t/pstf2
أدوات التصيدالتهرب من IDS/IPSأمن الويبالتعلم والتعليمالفريق الأحمرانتحال البصمة الرقمية
GitHubg4lb1t/pstf2

pstf2

إطار عمل التعرف على أدوات الأمن السلبية

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

الأكثر شعبية

عرض الكل →

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

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

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

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

pstf^2

إطار عمل للتعرف على بصمات أدوات الأمان السلبية

هل تساءلت يومًا عن طريقة بسيطة وسهلة ومتخفية لتجاوز عدة فئات من منتجات الأمان؟ pstf^2 (تُلفظ pstf-squared) هو تطبيق لخادم HTTP قادر على التعرف على بصمات المتصفح بشكل سلبي - وقد يكون بالضبط ما تبحث عنه. عندما يحاول المهاجمون توصيل حمولة عبر الإنترنت، يحتاجون إلى التغلب على أدوات متعددة قادرة على فحص الروابط الواردة. عوامل تصفية البريد الإلكتروني، ومحركات الفحص، وحتى الإرسال إلى صندوق الرمل عبر URL - يمكن تجاوزها جميعًا بمجرد أن يكتشفها pstf2 بطريقة سلبية. بمجرد الكشف، تسمح الأداة بالتفريق بين خدمات الأمان والضحايا المحتملين، وتقديم استجابة خبيثة أو غير ضارة.

تم إصدار هذه الأداة خلال BlackHat EU 2020: https://www.blackhat.com/eu-20/arsenal/schedule/#pstf2-link-scanners-evasion-made-easy-21763

تفاصيل البحث متاحة في منشور المدونة هذا: https://blogs.akamai.com/sitr/2020/12/evading-link-scanning-security-services-with-passive-fingerprinting.html

كيف تعمل؟

السؤال الحقيقي هو - كيف تعمل أدوات فحص الروابط؟ فحص رابط ضار هو إجراء يتضمن عميل ويب يرسل طلب HTTP GET. كل بائع يستخدم تطبيقًا داخليًا مختلفًا - يحاول معظمهم محاكاة تفاعل مستخدم حقيقي إلى حد ما. pstf^2 هو خادم HTTP بسيط مبني على Python يطبق تكتيكات معروفة لاكتشاف البوتات لتحديد ما إذا كان الطلب الوارد من أداة أمان آلية. يمكن لمشغل الخادم تخصيص الاستجابات، على سبيل المثال - إذا تم اكتشاف ماسح ضوئي، يتم إعادة توجيهه إلى Google، وإلا يتم إرسال محتوى خبيث.

فيما يلي التكتيكات الرئيسية المطبقة كجزء من pstf^2:

طبقة التطبيق

عوامل المستخدم القديمة

تحاول أدوات الأمان التخفي كعملاء شرعيين، وانتحال شخصية متصفحات حقيقية، ومع ذلك - عادةً لا يكون هذا هو الحال. من الشائع رؤية أدوات لا تتم صيانتها بشكل صحيح تستخدم رؤوس وكيل مستخدم مزيفة لإصدارات متصفح قديمة بعشر سنوات. يتيح لك pstf^2 تعيين حد أدنى لما تعتبره إصدارًا حقيقيًا غير قديم.

الشذوذ العام في HTTP

هناك العديد من أنواع التطبيقات الغريبة التي تستطيع الأداة اكتشافها. بعض الأمثلة التي تم عرضها في محادثة BlackHat كانت:

  • ترك رأس via: يكشف عن طبيعة المضيف الافتراضي المستخدم لصندوق الرمل.
  • رأس referer: الذي يشير إلى أن الرابط تم الوصول إليه من Google، على سبيل المثال referer: google.com/search?q=specific.site.com. في السيناريوهات التي اختبرناها، لم يكن ذلك منطقيًا لأن هذا المنتج يفحص رسائل البريد الإلكتروني، وعندما ينقر شخص ما على بريد إلكتروني (ليس من واجهة ويب) يكون هذا الرأس غائبًا.

طبقة الرابط والشبكة والنقل

الارتباط

يمكن أن تشير معلمات TCP متعددة إلى إصدار معين من نظام التشغيل أو نكهة معينة. بعض العملاء يزيفون رأس وكيل المستخدم ولكنهم يعملون فوق نظام تشغيل مختلف عن الذي يصرحون به.

قيم MTU

العملاء المستضافون على شبكات مزودي خدمات سحابية معينة لديهم MTU مختلف عن القيمة القياسية البالغة 1500 بايت.

ASN

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

سجلات DNS PTR

في حالات نادرة، يكون لعنوان IP الخاص بالعميل سجل PTR يربطه بعنوان URL متعلق ببائع أمان.

إعداد pstf^2

باستخدام Docker

بافتراض أن Docker مثبت لديك بالفعل، الأمر بسيط كما يلي:

root@kitploit:~
docker-compose up 

النشر اليدوي

إذا كنت ترغب في تجنب Docker، اتبع هذه الخطوات.

تلبية متطلبات Python

شغّل:

root@kitploit:~
pip install requirements.txt

سيؤدي هذا إلى تثبيت أي وحدات Python خارجية مطلوبة.

الحصول على p0f

قبل نشر pstf^2، قم بتنزيل وتثبيت p0f. وهو متاح حاليًا على:

https://lcamtuf.coredump.cx/p0f3/

الآن، قم بتكوين lib/servers/server_config.yml بشكل صحيح للإشارة إلى المسار الصحيح، أي:

root@kitploit:~
p0f_config:
  # غيّر اسم المستخدم الخاص بك على الأقل، تذكر التغيير في كلا المسارين
  p0f_bin_path: '/Users/$your_user_name/$more_folders/web_fp/p0f-3.09b/p0f'
  p0f_fp_path: '/Users/$your_user_name/$more_folders/web_fp/p0f-3.09b/p0f.fp'
  iface: 'lo0'
  p0f_named_socket: '/tmp/p0f_socket'

تأكد أيضًا من أن iface هي نفس الواجهة التي تشغل خادم HTTP الخاص بـ Python. في المثال أعلاه، هي واجهة الحلقة المحلية.

تشغيل pstf^2

بمجرد استيفاء المتطلبات، شغّل:

root@kitploit:~
python driver.py

يمكنك استخدام أي من العلامات التالية:

root@kitploit:~
  --p0f_bin_path P0F_BIN_PATH
  --p0f_fp_path P0F_FP_PATH
  --p0f_iface P0F_IFACE

جميعها تُستخدم لضبط المعلمات المتعلقة بـ p0f: الملف الثنائي نفسه، ملف البصمة، والواجهة التي نستخدمها والتي تكون افتراضيًا eth0.

يجب أن ترى مخرجًا مشابهًا لما يلي:

root@kitploit:~
2020-04-15 17:37:06,896 - pstf2_logger - INFO - Starting p0f...
2020-04-15 17:37:06,896 - pstf2_logger - INFO - Running command:
	/Users/gbitensk/work/web_fp/p0f-3.09b/p0f -i lo0 -s /tmp/p0f_socket -f /Users/gbitensk/work/web_fp/p0f-3.09b/p0f.fp
2020-04-15 17:37:06,898 - pstf2_logger - INFO - p0f started!
2020-04-15 17:37:06,898 - pstf2_logger - INFO - Starting HTTP server...
2020-04-15 17:37:06,898 - pstf2_logger - INFO - HTTP server started!
2020-04-15 17:37:06,899 - pstf2_logger - INFO - If you wish to terminate the server press CTRL+C

قم بإنهاء الخادم بالضغط على Ctrl+C، سيؤدي ذلك إلى قتل كل من مثيلات HTTP و p0f. يجب أن ترى شيئًا مشابهًا أيضًا:

root@kitploit:~
2020-04-15 17:37:48,263 - pstf2_logger - INFO - HTTP server stopped!
2020-04-15 17:37:48,263 - pstf2_logger - INFO - Killing p0f...
2020-04-15 17:37:48,263 - pstf2_logger - INFO - p0f killed!
2020-04-15 17:37:48,263 - pstf2_logger - INFO - exiting...

لاحظ أن إعداد سجل DNS يشير إلى عنوان URL لخادمك هو خارج نطاق pstf^2 وعلى مسؤوليتك الخاصة.

إدارة الحمولات

لدى pstf^2 حمولات افتراضية معرفة داخل server_config.yml ويمكن تخصيصها بسهولة.

الاستجابة غير الضارة

هناك وضعان، يتم التبديل بينهما بتغيير متغير rickroll_mode إما إلى YES أو NO. إذا تم تمكينه، سيتم إعادة توجيه أداة الأمان إلى صفحة YouTube تحتوي على فيديو ريكرولينغ الشهير، وإلا فستقدم سلسلة نصية معرفة في نفس ملف YAML.

الاستجابة الخبيثة

افتراضيًا - تم تعيين الاستجابة "الخبيثة" إلى سلسلة اختبار EICAR القياسية.

لماذا pstf^2 عام؟

اخترت إصدار هذه الأداة علنًا كمشروع مفتوح المصدر للأسباب التالية:

  • تُستخدم الروابط الخبيثة من قبل الأشرار يوميًا على نطاق واسع.
  • أدوات الأمان ليست جيدة بما فيه الكفاية، بعض الأساليب التي يوضحها pstf^2 تُساء استخدامها في الميدان.

كجزء من بناء الأداة، تم اختبارها ضد 15 منتجًا مختلفًا، وفشلت جميعها. بينما قمت بالإفصاح المسؤول عن تفاصيل الهجوم، لا يزال أمامنا طريق طويل، وآمل أنه من خلال جعل الأداة عامة سنرفع الوعي بتلك الأساليب التي يتم إساءة استخدامها بالفعل من قبل "الأشرار".

شكر خاص

@Den1al لتقديم النصائح عند بناء هذه الأداة تحديدًا، وكتابة Python بشكل صحيح بشكل عام، وكذلك المساعدة في إنشائها كصورة Docker.

تنزيل الأداة