العودة إلى التحديثات
New releaseJul 31, 2026

yakit v1.4.8-0731

منصة اختبار اختراق شاملة مع MITM proxy و web fuzzer و reverse connection handler ونظام plugins للاختبار الأمني الآلي والاستغلال.

مشاركة

Yakit - منصة اختبار أمان التطبيقات التفاعلية

عرض الورقة البيضاءالوثائق الرسميةتقديم ملاحظاتالموقع الرسميانضم إلى المجتمعهندسة المشروع

:book:اختيار اللغة: English中文


مقدمة عن Yakit

دمج الأمان هو إصلاح في عمليات الأمن وإدارته بالنسبة للمؤسسات في ظل الظروف الطبيعية الجديدة، وهو أيضًا أولوية عاجلة للمؤسسات في هذه الظروف.

استنادًا إلى مفهوم دمج الأمان، طور فريق Yaklang.io لغة عمودية في مجال الأمن تدعى Yaklang. بالنسبة للمنتجات/الأدوات التي لا يمكن دمجها أصلاً في منصة Yak، يمكن استخدام Yaklang لإعادة كتابة "بدائل عالية الجودة" لها. بالنسبة للمنتجات ذات النظام البيئي الكامل والمقبولة على نطاق واسع، يمكن لـ Yaklang تجميعها ودمجها مباشرة، وإجراء التعديلات اللازمة على الكود المصدري لتكييفه بشكل أفضل مع لغة Yaklang. بالنسبة لممارسي الأمن الذين لا يرغبون في كتابة التعليمات البرمجية، توفر Yakit واجهات رسومية مناسبة لجميع قدرات Yaklang، وستصبح الواجهة الرسومية أكثر نضجًا مع تطور الإصدارات.

yakit-cdsl.png

لتقريب قدرات Yaklang الأمنية من الاستخدام الفعلي للجميع، قمنا بكتابة خادم gRPC لـ Yak، واستخدمنا هذا الخادم لبناء عميل: Yakit.

هندسة المشروع

yakit-arch.jpg

التقنية الأساسية: CDSL

يُعرف CDSL بأنه لغة خاصة بمجال الأمن السيبراني (CyberSecurity Domain Specific Language)؛ وقد كتبنا آلة افتراضية مكدسية لتحمل حالة تشغيل هذه اللغة المكتملة من حيث تورينج. نأمل من خلال وسيلة "CDSL" تحقيق دمج القدرات الأمنية وتوحيد الطبقة الأساسية.

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

yakit-gongneng.png

  1. بديل 100% لمنصة اعتراض MITM الخاصة بـ BurpSuite؛
  2. واجهة رسومية يصعب تكرارها للمسح السلبي MITM؛
  3. دمج نصوص Yaklang لتصحيح حركة المرور ديناميكيًا؛ تنفيذ الكود ديناميكيًا في أي وقت؛
  4. أول أداة اختبار تشويش مرئية على الويب في العالم — Web Fuzzer؛
  5. متجر إضافات Yakit:
  6. تنفيذ نصوص أو إضافات Yaklang مخصصة في أي خطوة من خطوات اختبار الاختراق ... ...

نظرة عامة على القدرات الأمنية:

yaklang-caps.jpg

التقنيات المميزة

اعتراض MITM التفاعلي

يمكن لمنصة تشغيل MITM أن تحل محل BurpSuite بنسبة 100% لتنفيذ جميع العمليات (تنزيل وتثبيت الشهادة، اعتراض الطلبات، الاستجابات، تعديل الحزم المعترضة، إلخ). وتوفر سير عمل كامل وسلس: اعتراض => السجل => Repeater/Intruder، اعتراض البيانات، عرض البيانات التاريخية في السجل، اختيار الحزم التي تحتاج إلى "استخراج"، وإرسالها إلى Web Fuzzer لإجراء عمليات Repeater/Intruder. بالإضافة إلى سيناريوهات التشغيل النموذجية هذه، يوفر MITM أيضًا وظائف أكثر مرونة مثل المسح السلبي للإضافات، التحميل الساخن، استبدال الحزم، وضع العلامات، إلخ.

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

yakit-mitm.png

إعادة تشغيل حركة المرور التفاعلية واختبار التشويش لتطبيقات الويب

يدعم وحدة Web Fuzzer المستخدم في تخصيص إرسال طلبات HTTP بصيغة النص الأصلي. لجعل الاستخدام بسيطًا وبديهيًا للمستخدم، حيث يحتاج فقط إلى الاهتمام بمعلومات البيانات ذات الصلة، قامت الواجهة الخلفية لـ Yakit بالكثير من العمل. يتم إصلاح بعض المعلومات في النص الأصلي لـ HTTP التي تضمن نقل البيانات وتحليلها بواسطة الواجهة الخلفية لـ Yakit، مثل إصلاح CRLF، واستكمال Content-Type، ونقلها بطريقة chunk، واستكمال boundary، وإصلاح Content-Length، إلخ.

webfuzzer.png

تقنية Fuzztag

يدعم وحدة Web Fuzzer من خلال علامات Fuzz دمج وظائف مثل اصطدام المضيف (Host Collision) و Intruder واختراق الدليل بشكل طبيعي ومثالي. على سبيل المثال، في سيناريو اختراق معلمة واحدة، مثل اختراق معرف المستخدم، يمكن استخدام العلامة {{int(1-10)}} لإنشاء المعرفات المخترقة تلقائيًا. في مواجهة سيناريوهات اختراق معلمات متعددة، يتم استخدام نتائج حاصل الضرب الديكارتي كمعلمات اختراق، مقارنة بوحدة Intruder في BurpSuite، فإنها تلغي الحاجة إلى اختيار طريقة الاختراق واستيراد القواميس، مما يقلل بشكل كبير من مسار تشغيل المستخدم ويتوافق مع عادات الاستخدام. بالطبع، بالإضافة إلى استخدام العلامات لإنشاء المعلمات تلقائيًا، يدعم وحدة Web Fuzzer أيضًا استيراد القواميس الخارجية، مثل: {{file(/tmp/username.txt)}}. في مواجهة سيناريوهات بيانات أكثر تعقيدًا، يدعم وحدة Web Fuzzer إدراج علامات التحميل الساخن، مثل الحاجة إلى اختراق أرقام الهوية لمنطقة معينة، يمكن إدراج نص Yak مباشرة في وحدة Web Fuzzer لإنشاء البيانات واختراقها. بينما تواجه وحدة Intruder في BurpSuite هذا السيناريو، فإنها تحتاج إلى كتابة كود لإنشاء قاموس، ثم استيراده إلى وحدة Intruder.

fuzztag.png

لمزيد من المعلومات حول fuzztag، يمكنك الاطلاع على: Fuzztag نظرة سريعة

تقنية الاتصال العكسي وتقنية إعادة استخدام بروتوكول التطبيق

تتطلب العديد من سيناريوهات استغلال الثغرات استخدام اتصالات عكسية لخدمات بروتوكول مختلفة. تحتاج أدوات استغلال الثغرات التقليدية إلى استماع منفذ لكل خدمة على خادم عام، مثل استغلال ثغرات نوع LDAP، حيث تحتاج إلى تشغيل خدمة HTTP وخدمة LDAP، ثم إرسال طلب الهجوم لإتمام استغلال الثغرة. الخدمات التقليدية تحتاج إلى تخصيص منفذ فريد لكل خدمة، بينما يمكن لتقنية إعادة استخدام بروتوكول المنفذ في Yaklang الاستماع على منفذ واحد، والتعرف على بروتوكول الطلب، والرد وفقًا لذلك. تتمثل مزايا تقنية إعادة استخدام بروتوكول المنفذ في Yaklang، بالإضافة إلى توفير موارد النظام وتسهيل الاختبار اليدوي، في أنها تعتمد على التعرف اليدوي على رؤوس البروتوكولات المختلفة، وتنفيذ البروتوكولات يدويًا بناءً على معايير البروتوكول، مما يتيح إنشاء حزم بروتوكول متنوعة بمرونة. على سبيل المثال، يمكن إنشاء بروتوكولات غير طبيعية لاستغلال الثغرات، أو حمل البيانات عبر بروتوكول DNS أو ICMP، والتي يمكن استخدامها كباب خلفي للحفاظ على الصلاحيات أو تجنب استغلال الثغرات عند عدم توفر اتصال TCP.

في الوقت نفسه، قامت Yakit بتنفيذ وحدة الاتصال العكسي استنادًا إلى تقنية إعادة استخدام بروتوكول المنفذ، بما في ذلك وظائف Reverse Shell والاتصال العكسي للاستغلال والكشف عن الاتصال العكسي. يمكن لـ Reverse Shell الاستماع على منفذ محدد كجهاز استقبال للصدفة العكسية، وبعد استلام الصدفة العكسية، يمكن التحكم في الخادم البعيد مثل SSH. في متطلبات الاتصال العكسي التقليدية لاختبار الاختراق، كان يتم استخدام Nc للاستماع على منفذ، ولكن بعض المفاتيح مثل Backspace ومفاتيح الاتجاه قد تظهر أحرفًا مشوشة، والصدفة العكسية المستخدمة تختلف كثيرًا عن SSH الأصلي. بينما يمكن لـ Reverse Shell في Yakit توفير تجربة استخدام مشابهة لـ SSH الأصلي. أما جزء الاتصال العكسي للاستغلال، فيمكنه الاستماع على منفذ واحد، وتعيين Payload لبروتوكولات مختلفة، وعند استلام الطلب سيتم التعرف تلقائيًا على بروتوكول الطلب وإرجاع Payload المناسب لتحقيق استغلال الثغرة. توفر وظيفة الكشف عن الاتصال العكسي كشفًا لاتصالات TCP وDNSLog وICMP العكسية، ويمكن استخدامها لكشف تنفيذ الأوامر.

reverse.png

الاستخدام

لمزيد من المحتوى التقني، يمكنك الاطلاع على:

مقالات Yakit التقنية

الورقة البيضاء التقنية

انضم إلى المجتمع

إذا كان لديك أي اقتراحات بناءة أو تقارير عن أخطاء بخصوص منتجنا، فنحن نرحب بك لفتح issue

أو التواصل معنا عبر حساب WeChat الرسمي. كما نرحب بالاتصال بخصوص التراخيص التجارية والتعاون

للدخول إلى مجموعة التواصل أو إذا كانت لديك أسئلة تريد التواصل مع فريق التقنية، يرجى الاتصال وإضافة حساب التشغيل على WeChat للانضمام إلى المجتمع:

حساب التشغيل على WeChat: wechat2.png رمز QR للحساب الرسمي: wechat1.jpeg

تطور عدد النجوم بمرور الوقت

تطور عدد النجوم بمرور الوقت

إخلاء مسؤولية

  1. هذه الأداة موجهة فقط لسلوكيات بناء أمان المؤسسات المصرح بها قانونيًا وسلوكيات التعلم الشخصية. إذا كنت بحاجة لاختبار قابلية استخدام هذه الأداة، يرجى إعداد بيئة أهداف خاصة بك.

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

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

  4. إذا كنت بحاجة لاستخدام Yakit لأغراض تجارية، تأكد من حصولك على التفويض الرسمي، وإلا فسنحتفظ بحق متابعة المسؤولية القانونية بحقك.

إذا تم اكتشاف أي من السلوكيات المحظورة المذكورة أعلاه، سنحتفظ بحق متابعة المسؤولية القانونية بحقك.

إذا قمت بأي سلوك غير قانوني أثناء استخدام هذه الأداة، فستتحمل المسؤولية الناتجة بنفسك، ولن نتحمل أي مسؤولية قانونية أو بالتضامن.

قبل تثبيت واستخدام هذه الأداة، يرجى قراءة وفهم جميع البنود بعناية

قد يتم تمييز البنود المقيدة أو المعفية من المسؤولية أو البنود الأخرى التي تتعلق بحقوقك الهامة بخط عريض أو بتسطير لجذب انتباهك.

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

الفئات