
ShellSweeping الشر.
كنس الأشرار
"ShellSweep" هي أداة مكتوبة بلغة PowerShell/Python/Lua مصممة لاكتشاف ملفات الويب شيل المحتملة في دليل محدد.
تقوم ShellSweep ومجموعة أدواتها بحساب الإنتروبيا لمحتويات الملف لتقدير احتمالية أن يكون الملف ويب شيل. تشير الإنتروبيا العالية إلى عشوائية أكبر، وهي سمة من سمات الأكواد المشفرة أو المُبهمة الموجودة غالبًا في ويب شيل.
الإنتروبيا، في سياق نظرية المعلومات أو علم البيانات، هي مقياس لعدم القدرة على التنبؤ، أو العشوائية، أو الفوضى في مجموعة من البيانات. تم تقديم المفهوم بواسطة كلود شانون في ورقته البحثية عام 1948 "نظرية رياضية للاتصال".
عند تطبيقها على ملف أو سلسلة نصية، يمكن للإنتروبيا أن تساعد في تقييم عشوائية البيانات. إليك كيفية عمل ذلك: إذا كان الملف يتكون من بيانات عشوائية تمامًا (كل بايت له نفس احتمالية أن يكون أي قيمة بين 0 و255)، فإن الإنتروبيا تكون عالية، قريبة من 8 (بما أن log2(256) = 8).
إذا كان الملف يتكون من بيانات منظمة للغاية (على سبيل المثال، ملف نصي حيث معظم البايتات هي أحرف ASCII)، فإن الإنتروبيا تكون أقل. في سياق العثور على ويب شيل أو ملفات ضارة، يمكن أن تكون الإنتروبيا مؤشرًا مفيدًا:
تتضمن ShellSweep دالة Get-Entropy التي تحسب إنتروبيا محتويات الملف عن طريق:
يأخذ ShellSweepX الوظائف الأساسية لـ ShellSweep إلى المستوى التالي، مقدمًا العديد من المزايا مقارنة بحلول EDR (كشف ونقاط النهاية والاستجابة) التقليدية:
تركيز متخصص: على عكس حلول EDR التي تلقي بشبكة واسعة، تم تصميم ShellSweepX خصيصًا لاكتشاف ويب شيل. يتيح هذا التركيز المتخصص كشفًا أكثر دقة وكفاءة لهذه التهديدات المعينة.
استهلاك منخفض للموارد: ShellSweepX خفيف الوزن ولا يتطلب عمليات خلفية ثابتة أو مراقبة مستمرة للنظام، على عكس العديد من حلول EDR. وهذا يعني تأثيرًا أقل على أداء النظام.
قابلية للتخصيص والشفافية: تسمح الطبيعة مفتوحة المصدر لـ ShellSweepX بالشفافية الكاملة في طرق الكشف الخاصة به. يمكنك بسهولة تخصيص وضبط معلمات الكشف لتناسب بيئتك الخاصة.
لا اعتماد على خدمات خارجية: يعمل ShellSweepX محليًا دون الاعتماد على التحليل السحابي أو التحديثات المستمرة، مما يضمن بقاء بياناتك الحساسة ضمن سيطرتك.
كشف متعدد الطبقات: يستخدم ShellSweepX طرق كشف متنوعة تشمل تحليل الإنتروبيا، ومطابقة الأنماط، والتحليل الاستدلالي، مما يوفر نهجًا شاملاً لكشف ويب شيل.
تقارير مفصلة: يوفر ShellSweepX معلومات متعمقة حول التهديدات المحتملة، بما في ذلك قيم الإنتروبيا، وطرق الكشف، ودرجات الثقة، مما يسمح باتخاذ قرارات أكثر استنارة.
توافق عبر المنصات: مع إصدارات متاحة بلغات PowerShell وPython وLua، يمكن نشر ShellSweepX في بيئات متنوعة.
بينما لا يعد ShellSweepX بديلاً عن حل EDR كامل، إلا أنه يعمل كأداة متخصصة قوية في ترسانتك الأمنية، خاصة في البيئات التي تشكل فيها ويب شيل تهديدًا كبيرًا.
توفر ShellScan القدرة على مسح أدلة ويب شيل المعروفة والمتعددة وإخراج قيم الإنتروبيا المتوسطة والوسيطة والدنيا والقصوى حسب امتداد الملف.
مرر لـ ShellScan.ps1 بعض أدلة ويب شيل، بأي حجم. استخدمت:
سيعطي ذلك مجموعة تدريبية مناسبة للحصول على قيم الإنتروبيا.
مثال على الإخراج:
Statistics for .aspx files:
Average entropy: 4.94212121048115
Minimum entropy: 1.29348709979974
Maximum entropy: 6.09830238020383
Median entropy: 4.85437969842084
Statistics for .asp files:
Average entropy: 5.51268104400858
Minimum entropy: 0.732406213077191
Maximum entropy: 7.69241278153711
Median entropy: 5.57351177724806
أولاً، دعنا نشرح استخدام ShellCSV وكيف يساعد في تحديد إنتروبيا الملفات الجيدة الموجودة على القرص. الفكرة هي أن المدافعين يمكنهم تشغيل هذا على خوادم الويب لجمع جميع الملفات وقيم الإنتروبيا لفهم أفضل للمسارات والامتدادات الأكثر بروزًا في بيئة عملهم.
انظر ShellCSV.csv كمثال على الإخراج.
المدونة: Ghost in the Web Shell: Introducing ShellSweep
أولاً، اختر النسخة المفضلة: Python أو PowerShell أو Lua.
إذا وصلت إلى هنا، فهذا هو الجزء الذي تكرر فيه الضبط. ابحث عن شيل جديدة؟ اجمع الإنتروبيا وقم بالتعديل حسب الحاجة.
المدونة: Introducing ShellSweepPlus: Open-Source Web Shell Detection
ShellSweepPlus هي سكريبت PowerShell متقدمة مصممة لاكتشاف وتحليل ويب شيل المحتملة في بيئات الويب. تبني على الوظائف الأساسية لـ ShellSweep، وتقدم ميزات وقدرات كشف محسنة.
الميزات الرئيسية:
الاستخدام:
$DirectoryPaths.$suspiciousPatterns حسب الحاجة لبيئتك.$excludePaths لتخطي أدلة محددة.$ignoreHashes أو $ignoreHashesFilePath لاستبعاد الملفات الآمنة المعروفة.مثال على الإخراج:
json
{
"TotalFilesScanned": 1000,
"Potential web shells": 5,
"ScanDuration": "00:05:30"
}
يوفر ShellSweepPlus حلاً قويًا ومرنًا لكشف ويب شيل، يجمع بين تقنيات تحليل متعددة لتحسين الدقة والقبض حتى على التهديدات المعقدة.
لا تتردد في فتح مشكلة على Git أو الاطلاع على الويكي.
إذا أعجبك هذا المشروع، تأكد من وضع نجمة للمشروع ومشاركته مع عائلتك وأصدقائك.
| الميزة/الجانب | ShellSweep | ShellSweepPlus | ShellSweepX |
|---|
| الكشف الأساسي | يستخدم قيم إنتروبيا ثابتة لامتدادات ملفات محددة | كشف أساسي ديناميكي يحسب الإنتروبيا في الوقت الفعلي | يستخدم مزيجًا من الكشف القائم على الإنتروبيا والتنبؤ بالتعلم الآلي |
| امتدادات الملفات | يعالج ملفات ذات امتدادات: .asp, .aspx, .asax, .jspx, .html, .ashx | يعالج ملفات ذات امتدادات: .asp, .ashx, .asax, .jspx, .html, .aspx | امتدادات ملفات قابلة للتكوين عبر API |
| حساب الإنتروبيا | يحسب إنتروبيا محتويات الملف لاكتشاف ويب شيل المحتملة | كشف محسّن قائم على الإنتروبيا، مع إسناد مرجعي متقاطع مع كلمات رئيسية مشبوهة | حساب إنتروبيا متقدم مع تحليل قائم على القطع |
| ميزة الاستبعاد | يمكن استبعاد أدلة معينة من المسح | يمكن استبعاد أدلة معينة من المسح | استثناءات قابلة للتكوين عبر API |
| تجاهل التجزئة | يتجاهل الملفات ذات تجزئات محددة | يتجاهل الملفات ذات تجزئات محددة | تجاهل تجزئة قابل للتكوين عبر API |
| الإخراج | إذا تم العثور على ويب شيل محتملة، يقوم بإخراج اسم الملف وقيمة الإنتروبيا والتجزئة. بخلاف ذلك، يطبع "لم يتم تحديد أي شر اليوم." | إذا تم العثور على ويب شيل محتملة، يقوم بإخراج اسم الملف وقيمة الإنتروبيا والتجزئة وتاريخ آخر تعديل وطريقة الكشف ودرجة الثقة بتنسيق JSON. بخلاف ذلك، يطبع "لم يتم اكتشاف أي ويب شيل محتملة." | إخراج JSON مفصل يتضمن بيانات تعريف الملف والإنتروبيا ونتائج التنبؤ ومطابقات YARA |
| الإنتروبيا والانحراف المعياري | يستخدم قيم الإنتروبيا | يحسب المتوسط والانحراف المعياري لقيم الإنتروبيا لكل امتداد ملف | يحسب كلًا من الإنتروبيا والانحراف المعياري للتحليل المتقدم |
| الكشف بالوضع المختلط | غير موجود | يستخدم مزيجًا من الكشف القائم على الإنتروبيا، والكشف القائم على الانحراف المعياري، والكشف بالوضع المختلط (باستخدام الانحراف المعياري مع عتبات ثابتة) | يجمع بين الكشف القائم على الإنتروبيا، والتنبؤ بالتعلم الآلي، ومطابقة قواعد YARA |
| تحليل الأكواد الثابتة | غير موجود | آلية كشف قائمة على الأنماط تحلل الأكواد بشكل ثابت لتحديد الأنماط الخبيثة المعروفة والإبلاغ عنها | يستخدم قواعد YARA للكشف القائم على الأنماط |
| التحليل الاستدلالي | غير موجود | يقدم دالة Perform-HeuristicAnalysis لاكتشاف الحالات الشاذة بناءً على قواعد استدلالية، مما يعزز كشف ويب شيل ذات اليوم صفر | يطبق التنبؤ القائم على التعلم الآلي للتحليل الاستدلالي |
| عرض النتائج المفصلة | غير موجود | يعرض التهديدات المحتملة بتنسيق JSON منظم، بما في ذلك مسار الملف، والإنتروبيا، والانحراف المعياري، والتجزئة، وتاريخ آخر تعديل، وطريقة الكشف، ودرجة الثقة | يقدم نتائج شاملة تشمل جميع طرق التحليل بتنسيق JSON منظم |
| تسجيل شامل | غير موجود | يدمج أوامر Write-Verbose في جميع أنحاء السكريبت للتسجيل المفصل والشفافية التشغيلية | يطبق تسجيلاً مفصلاً عبر مكونات الوكيل والخادم |
| تسجيل درجات الثقة | غير موجود | يحسب درجة الثقة بناءً على طريقة الكشف ويعدلها بناءً على وجود أنماط مشبوهة | يستخدم ثقة التنبؤ بالتعلم الآلي ويجمعها مع طرق الكشف الأخرى للحصول على درجة شاملة |
| تصميم معياري | غير موجود | يستخدم دوال منفصلة لمهام مختلفة (مثل Process-File, Create-ResultObject, Adjust-ConfidenceScore)، مما يعزز إعادة استخدام الكود وقابلية الصيانة | تصميم معياري للغاية مع مكونات منفصلة للوكيل والخادم ووظائف التحليل |
| دعم عبر المنصات | PowerShell فقط | PowerShell فقط | يدعم تطبيقات PowerShell وPython وBash |
| تكامل API | غير موجود | غير موجود | API شامل للتكوين وتقديم النتائج والإدارة |
| تحليل مدعوم بالذكاء الاصطناعي | غير موجود | غير موجود | يدمج قدرات الفرز والتحليل القائمة على الذكاء الاصطناعي |
| إدارة قواعد YARA | غير موجود | غير موجود | يسمح بإضافة وتحديث وحذف قواعد YARA عبر API |
| واجهة ويب | غير موجود | غير موجود | يوفر واجهة قائمة على الويب لعرض وتحليل النتائج |