Arachni يتجه نحو التقادم ، جرب خلفه من الجيل التالي Ecsypno CodeName SCNR!
| إصدار | 1.6.1.3 |
|---|---|
| الصفحة الرئيسية | http://arachni-scanner.com |
| مدونة | http://arachni-scanner.com/blog |
| جيثب | http://github.com/arachni/arachni |
| الوثائق | https://github.com/arachni/arachni/wiki |
| الوثائق رمز | http://rubydoc.info/github/arachni/arachni |
| يدعم | http://support.arachni-scanner.com |
| مؤلف | Tasos Laskos (@zap0tek) |
| تغريد | ARACHNISCANNER |
| حقوق الطبع والنشر | 2010-2022 ECSYPNO |
| رخصة | ترخيص مصدر Arachni العام v1.0 - (انظر ملف الترخيص) |
Arachni هو إطار روبي مفيد ومجد وعالي الأداء يهدف إلى مساعدة مختبري الاختراق والمسؤولين في تقييم أمان تطبيقات الويب.
إنه ذكي ، وهو يدرب نفسه من خلال مراقبة سلوك تطبيق الويب والتعلم فيه أثناء عملية المسح ، ويمكنه إجراء التحليل التلوي باستخدام عدد من العوامل من أجل تقييم موثوق النتائج بشكل صحيح وتحديد (أو تجنب) بذكاء.
على عكس الماسحات الضوئية الأخرى ، فإنها تأخذ في الاعتبار الطبيعة الديناميكية لتطبيقات الويب ، يمكنها اكتشاف التغييرات التي تسببها أثناء السفر عبر مسارات تعقيد سيكلومية تطبيق الويب وقادرة على ضبط نفسها وفقًا لذلك. وبهذه الطريقة ، يمكن التعامل مع ناقلات الهجوم/الإدخال التي لا يمكن اكتشافها بواسطة غير البشر بسلاسة.
علاوة على ذلك ، نظرًا لبيئة متصفحها المتكاملة ، يمكنها أيضًا مراجعة التعليمات البرمجية من جانب العميل وفحصها ، بالإضافة إلى دعم تطبيقات الويب المعقدة للغاية التي تستخدم تقنيات مثل JavaScript و HTML5 ومعالجة DOM و AJAX.
أخيرًا ، إنه متعدد الاستخدامات بما يكفي لتغطية قدر كبير من حالات الاستخدام ، بدءًا من أداة تحديد ماسحة الضوئية البسيطة لسطر الأوامر ، إلى شبكة عالمية عالية الأداء من الماسحات الضوئية ، إلى مكتبة روبي التي تسمح بمراجعة عمليات التدقيق النصية ، إلى منصة تعاون ويب متعددة المسح.
ملاحظة : على الرغم من حقيقة أن Arachni مستهدف في الغالب لأمن تطبيق الويب ، يمكن استخدامه بسهولة لتجاهل للأغراض العامة ، واستنشاق البيانات ، وما إلى ذلك مع إضافة مكونات مخصصة.
يُسمح لمطوري Check report والمكونات plugin بإنشاء مكوناتهم ونشرها بسهولة وبسرعة مع الحد الأدنى من القيود المفروضة عليهم ، بينما يتم تزويدهم بالبنية التحتية اللازمة لتحقيق أهدافهم.
علاوة على ذلك ، يتم تشجيعهم على الاستفادة الكاملة من لغة الياقوت في إطار موحد من شأنه أن يزيد من إنتاجيتها دون خنقهم أو تعقيد مهامهم.
علاوة على ذلك ، يمكن استخدام نفس الإطار مثل أي مكتبة روبي أخرى ويؤدي إلى تطوير ماسحات ضوئية جديدة أو تساعدك على إنشاء سيناريوهات مسح/تدقيق مخصصة للغاية و/أو عمليات مسح نصية.
على الرغم من أن بعض أجزاء الإطار معقدة إلى حد ما ، فلن تضطر أبدًا إلى التعامل معها مباشرة. من وجهة نظر المستخدم أو مطور مكون كل شيء يبدو بسيطًا ومباشرًا في كل وقت مع توفير الطاقة والأداء والمرونة.
من ماسحة الأداة المساعدة لسطر الأوامر البسيط إلى واجهة الويب البديهية والسهلة للاستخدام والتعاون ، تتبع Arachni مبدأ المفاجأة الأقل ويوفر لك الكثير من التعليقات والإرشادات.
تم تصميم Arachni لاكتشاف مشكلات الأمان تلقائيًا في تطبيقات الويب. كل ما يتوقعه هو عنوان URL لموقع الويب المستهدف وبعد فترة من الوقت سيقدم لك نتائجه.
autologin أو login_script أو proxy ).يتضمن Arachni بيئة متصفحة متكاملة وحقيقية من أجل توفير تغطية كافية لتطبيقات الويب الحديثة التي تستفيد من التقنيات مثل HTML5 و JavaScript و DOM Manipulation و Ajax ، إلخ.
بالإضافة إلى مراقبة بيئات Vanilla DOM و JavaScript ، تتواصل متصفحات Arachni أيضًا في الأطر الشائعة لجعل البيانات المسجلة أسهل في الهضم:
في جوهرها ، يحول هذا Arachni إلى مصحح أخطاء DOM و JavaScript ، مما يسمح له بمراقبة أحداث DOM وبيانات JavaScript وتدفقات التنفيذ. ونتيجة لذلك ، لا يمكن للنظام فقط أن يؤدي إلى تحديد المشكلات المستندة إلى DOM وتحديدها ، ولكنها سترافقها مع قدر كبير من المعلومات المتعلقة بحالة الصفحة في ذلك الوقت.
المعلومات ذات الصلة تشمل:
DOMWindow ).decodeURIComponent() ).في جوهرها ، يمكنك الوصول إلى نفس المعلومات التي ستوفرها مصحح الأخطاء المفضل لديك (على سبيل المثال ، Firebug) ، كما لو كنت قد حددت نقطة توقف في الوقت المناسب لتحديد مشكلة.
مجموعة المتصفح هي ما ينسق تحليل المتصفح للموارد ويسمح للنظام بأداء العمليات التي عادة ما تستغرق وقتًا طويلاً بطريقة عالية الأداء.
تتضمن خيارات التكوين:
يمكن أن يوفر النظام تغطية رائعة لتطبيقات الويب الحديثة بسبب بيئة المتصفح المتكاملة. يتيح ذلك للتفاعل مع التطبيقات المعقدة التي تستخدم كودًا كبيرًا من التعليمات البرمجية من جانب العميل (مثل JavaScript) تمامًا مثل الإنسان.
بالإضافة إلى ذلك ، فإنه يعرف أيضًا عن تغيير حالة المتصفح ، وقد تمت برمجة التطبيق للتعامل معه وقادره على تشغيله برمجيًا من أجل توفير تغطية لمجموعة كاملة من السيناريوهات الممكنة.
من خلال فحص جميع الصفحات الممكنة وحالاتهم (عند استخدام رمز من جانب العميل) ، يمكن لـ Arachni استخراج العناصر التالية ومدخلاتها:
<form> ولكن بدلاً من ذلك يرتبط عبر رمز JS.<input> مع أحداث DOM المرتبطة.http://example.com/#/?param=val¶m2=val2http://example.com/#/param/val/param2/val2تم تصميم Arachni لتناسب سير العمل الخاص بك والاندماج بسهولة مع البنية التحتية الحالية.
اعتمادًا على مستوى التحكم الذي تحتاجه خلال العملية ، يمكنك إما اختيار خدمة REST أو بروتوكول RPC المخصص.
يتيح لك كلا النهجين:
MessagePack للأداء والكفاءة وسهولة التكامل مع أنظمة الطرف الثالث.<form> ولكن بدلاً من ذلك يرتبط عبر رمز JS.<input> مع أحداث DOM المرتبطة.GET و POST HTTP.Arachni هو نظام وحدات للغاية ، يستخدم عدة مكونات من أنواع مميزة لأداء واجباتها.
بالإضافة إلى تمكين أو تعطيل المكونات المجمعة لضبط سلوك النظام والميزات حسب الحاجة ، يمكن تمديد الوظائف من خلال إضافة مكونات تم إنشاؤها من قبل لتناسب كل حاجة تقريبًا.
من أجل الاستفادة الفعالة من عرض النطاق الترددي المتاح ، يقوم Arachni بإجراء بصمات الأصابع البدائية وتصميم عملية التدقيق على التقنيات المنشورة من جانب الخادم عن طريق استخدام الحمولات المطبقة فقط.
حاليا ، يمكن تحديد المنصات التالية:
لدى المستخدم أيضًا خيار تحديد منصات إضافية (مثل خادم DB) من أجل مساعدة النظام على أن يكون فعالًا قدر الإمكان. بدلاً من ذلك ، يمكن تعطيل بصمات الأصابع تمامًا.
أخيرًا ، سوف يخطئ Arachni دائمًا إلى جانب الحذر ويرسل جميع الحمولات المتاحة عندما تفشل في تحديد منصات محددة.
الشيكات هي مكونات النظام التي تؤدي فحص الأمن ومشكلات السجل.
تقوم الشيكات النشطة بإشراك تطبيق الويب عبر مدخلاته.
sql_injection ) - الكشف القائم على الأخطاء.sql_injection_differential ).sql_injection_timing ).no_sql_injection ) - اكتشاف الضعف القائم على الأخطاء.no_sql_injection_differential ).csrf ).code_injection ).code_injection_timing ).ldap_injection ).path_traversal ).file_inclusion ).response_splitting ).os_cmd_injection ).os_cmd_injection_timing ).rfi ).unvalidated_redirect ).unvalidated_redirect_dom ).xpath_injection ).xss ).xss_path ).xss_event ).xss_tag ).xss_script_context ).xss_dom ).xss_dom_script_context ).source_code_disclosure )xxe ).تبحث الشيكات السلبية عن وجود الملفات والمجلدات والتوقيعات.
allowed_methods ).backup_files ).backup_directories )common_admin_interfaces ).common_directories ).common_files ).http_put ).unencrypted_password_form ).webdav ).xst ).credit_card ).cvs_svn_users ).private_ip ).backdoors ).htaccess_limit ).interesting_responses ).html_objects ).emails ).ssn ).directory_listing ).mixed_resource ).insecure_cookies ).http_only_cookies ).password_autocomplete ).origin_spoof_access_restriction_bypass )form_upload )localstart_asp )cookie_set_for_parent_domain )Strict-Transport-Security لمواقع HTTPS ( hsts ).X-Frame-Options ( x_frame_options ).insecure_cors_policy ).insecure_cross_domain_policy_access )insecure_cross_domain_policy_headers )insecure_client_access_policy ) html ).xml ).text ).json )marshal )yaml )afr )تضيف المكونات الإضافية وظائف إضافية إلى النظام بطريقة معيارية ، وبهذه الطريقة تظل الأساسية هزيلة ويجعل من السهل على أي شخص إضافة وظائف تعسفية.
proxy )-يحلل الطلبات والاستجابات بين تطبيق الويب والمتصفح الذي يساعد في عمليات تدقيق AJAX ، وتسجيل الدخول و/أو تقييد نطاق التدقيق.autologin ).login_script ).http_dicattack ).form_dicattack ).cookie_collector ) - يتتبع ملفات تعريف الارتباط مع إنشاء جدول زمني للتغييرات.waf_detector ) - يحدد خطًا أساسيًا للسلوك الطبيعي ويستخدم تحليل RDIFF لتحديد ما إذا كانت المدخلات الخبيثة تسبب أي تغييرات سلوكية.beep_notify ) - صفير عندما ينتهي المسح.email_notify ) - يرسل إشعارًا (واختياريًا تقرير) عبر SMTP في نهاية المسح.vector_feed ) - يقرأ في بيانات المتجهات التي تقوم بإنشاء عناصر لتدقيقها. يمكن استخدامها لأداء عمليات تدقيق متخصصة للغاية/ضيقة على أساس المتجه/العنصر. مفيدة لاختبار الوحدة أو غازليون أشياء أخرى.script ) - يقوم بتحميل وتشغيل برنامج نصي روبي خارجي تحت نطاق المكون الإضافي ، يستخدم لتصحيح الأخطاء والاختراق العام.uncommon_headers ) - سجلات الرؤوس غير المألوفة.content_types )-تسجل أنواع المحتوى من استجابات الخادم المساعدة في تحديد الملفات المثيرة للاهتمام (ربما تسرب).vector_collector ) - يجمع معلومات حول جميع متجهات الإدخال التي يتم عرضها والتي تقع ضمن نطاق المسح.headers_collector ) - يجمع رؤوس الاستجابة بناءً على معايير محددة.exec ) - يستدعي التنفيذيين الخارجيين في مراحل المسح المختلفة.metrics ) - تلتقط مقاييس حول جوانب متعددة من المسح وتطبيق الويب.restrict_to_dom_state ) - يقيد التدقيق في حالة DOM الخاصة بصفحة واحدة ، استنادًا إلى جزء URL.webhook_notify ) - يرسل حمولة Webhook عبر HTTP في نهاية المسح.rate_limiter ) - حدود معدل طلبات HTTP.page_dump ) - تفريغ بيانات الصفحة إلى القرص مثل YAML. سيتم تشغيل المكونات الإضافية الافتراضية لكل فحص ويتم وضعها تحت /plugins/defaults/ .
autothrottle ) - يقوم بضبط إنتاجية HTTP ديناميكيًا أثناء المسح لاستخدام النطاق الترددي القصوى.healthmap ) - يولد خريطة سيتيم الإضافات تحت /plugins/defaults/meta/ أداء التحليل على نتائج المسح الضوئي لتحديد الجدارة بالثقة أو مجرد إضافة معلومات السياق أو رؤى عامة.
timing_attacks ) - يقدم إشعارًا للمشكلات التي كشفت عنها هجمات التوقيت عندما عادت الصفحات المدققة المتأثرة إلى أوقات استجابة عالية بشكل غير عادي لتبدأ. كما يشير إلى خطر هجمات DOS ضد الصفحات التي تؤدي معالجة الشاقة.discovery ) - يؤدي الكشف عن الشذوذ حول القضايا التي سجلتها عمليات التحقق من Discovery وتحذيرها من إمكانية إيجابيات كاذبة عند الاقتضاء.uniformity ) - تقارير مدخلات ضعيفة بشكل موحد عبر عدد من الصفحات التي تلمح إلى عدم وجود نقطة مركزية في تطهير المدخلات.المدرب هو ما يمكّن Arachni من التعلم من الفحص الذي يقوم به ويدمج تلك المعرفة ، أثناء الطيران ، طوال مدة التدقيق.
الشيكات لديها القدرة على إجبار الإطار بشكل فردي على التعلم من استجابات HTTP التي سيحثون عليها.
ومع ذلك ، فإن هذا غير مطلوب عادةً لأن Arachni يدرك الطلبات التي من المرجح أن تكشف عن عناصر جديدة أو ناقلات الهجوم وسوف تتكيف معها وفقًا لذلك.
ومع ذلك ، يمكن أن يكون هذا أحد الأصول التي لا تقدر بثمن لشيكات Fuzzer.
يمكنك تشغيل rake spec لتشغيل جميع المواصفات أو يمكنك تشغيلها بشكل انتقائي باستخدام ما يلي:
rake spec:core # for the core libraries
rake spec:checks # for the checks
rake spec:plugins # for the plugins
rake spec:reports # for the reports
rake spec:path_extractors # for the path extractors
يرجى تحذيرها ، ستتطلب المواصفات الأساسية وحشًا من الجهاز بسبب ضرورة اختبار ميزات الشبكة/المتعددة في النظام.
ملاحظة : ستستغرق مواصفات الاختيار عدة ساعات لإكمالها بسبب اختبارات هجوم التوقيت.
إرسال الأخطاء باستخدام مشكلات github واحصل على الدعم عبر بوابة الدعم.
(قبل البدء في أي عمل ، يرجى قراءة التعليمات للعمل مع رمز المصدر.)
يسعدنا قبول المساعدة من زملائه في الكود ، وهذه هي الخطوات التي تحتاج إلى اتباعها من أجل المساهمة في رمز:
git checkout -b <feature-name> experimental ).rake spec:core for the Core Libs أو rake spec لكل شيء).Arachni Public Source License v1.0 - يرجى الاطلاع على ملف الترخيص لمزيد من المعلومات.