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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ics-forensics-tools — إطار عمل مفتوح المصدر للطب الشرعي لتحليل بيانات تعريف PLC الصناعية وملفات المشاريع. يقوم بمسح القطع الأثرية المشبوهة في بيئات ICS لدعم الاستجابة للحوادث والتحقيق اليدوي. | Kitploit
أدوات/GitHubGitHub/microsoft/ics-forensics-tools
تحليل الثغرات الأمنيةأمن SCADA/ICSالتحقيق الجنائي الرقميالتحاليل الرقمية الجنائيةالاستجابة للحوادث
GitHubmicrosoft/ics-forensics-tools

ics-forensics-tools

إطار عمل مفتوح المصدر للطب الشرعي لتحليل بيانات تعريف PLC الصناعية وملفات المشاريع. يقوم بمسح القطع الأثرية المشبوهة في بيئات ICS لدعم الاستجابة للحوادث والتحقيق اليدوي.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

ICSpector: إطار عمل التحقيقات الجنائية في أنظمة التحكم الصناعي من مايكروسوفت

إطار عمل أدوات التحقيقات الجنائية في أنظمة التحكم الصناعي من مايكروسوفت هو إطار عمل مفتوح المصدر يتيح تحليل بيانات التعريف الخاصة بأجهزة PLC الصناعية وملفات المشاريع.
يوفر الإطار للمحققين طريقة ملائمة لمسح أجهزة PLC وكشف أي قطع أثرية مشبوهة داخل بيئات ICS، والتي يمكن استخدامها للفحص اليدوي أو مهام المراقبة الآلية أو عمليات الاستجابة للحوادث لاكتشاف الأجهزة المخترقة.
وبكونه أداة مفتوحة المصدر، تسمح أدوات التحقيقات الجنائية في أنظمة التحكم الصناعي للمحققين بمراجعة المخرجات وتخصيصها وفقًا لمتطلباتهم الخاصة.

البدء

ستحصل من خلال هذه التعليمات على نسخة من المشروع وتشغيلها على جهازك المحلي لأغراض التطوير والاختبار.

git clone https://github.com/microsoft/ics-forensics-tools.git

المتطلبات الأساسية

  • تثبيت بايثون >= 3.9: https://www.python.org/downloads
  • تثبيت Microsoft Visual C++ 14.0. احصل عليه من خلال "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/

التثبيت

  • تثبيت متطلبات بايثون

    pip install -r requirements.txt
    

الاستخدام

وسائط التطبيق العامة:

Argsالوصفمطلوب / اختياري
-h, --helpيعرض رسالة المساعدة هذه ويخرجاختياري
-s, --save-configحفظ ملف الإعدادات لاستخدام مستقبلي سهلاختياري
-c, --configمسار ملف الإعدادات، الافتراضي هو config.jsonاختياري
-o, --output-dirالدليل الذي سيتم فيه إخراج أي ملفات تم إنشاؤها، الافتراضي هو outputاختياري
-v, --verboseتسجيل المخرجات في ملف بالإضافة إلى وحدة التحكماختياري
-p, --multiprocessالتشغيل في وضع المعالجة المتعددة بعدد الإضافات/المحللاتاختياري

وسائط الإضافة المحددة:

Argsالوصفمطلوب / اختياري
-h, --helpيعرض رسالة المساعدة هذه ويخرجاختياري
--ipمسار ملف العناوين، CIDR أو عناوين IP بصيغة csv (عمود ip مطلوب).
أضف المزيد من الأعمدة لمعلومات إضافية حول كل ip (اسم المستخدم، كلمة المرور، إلخ...)
مطلوب
--portرقم المنفذاختياري
--transporttcp/udpاختياري
--analyzerاسم المحلل لتشغيلهاختياري

أمثلة على التنفيذ في سطر الأوامر

 python driver.py -s -v PluginName --ip ips.csv
 python driver.py -s -v PluginName --ip ips.csv --analyzer AnalyzerName
 python driver.py -s -v -c config.json --multiprocess

مثال على الاستيراد كمكتبة

from forensic.client.forensic_client import ForensicClient
from forensic.interfaces.plugin import PluginConfig
forensic = ForensicClient()
plugin = PluginConfig.from_json({
    "name": "PluginName",
    "port": 123,
    "transport": "tcp",
    "addresses": [{"ip": "192.168.1.0/24"}, {"ip": "10.10.10.10"}],
    "parameters": {
    },
    "analyzers": []
})
forensic.scan([plugin])

البنية

إضافة إضافات

عند التطوير محليًا تأكد من تعيين مجلد src كـ "جذر المصادر"

  • أنشئ دليلاً جديدًا في مجلد plugins باسم الإضافة الخاصة بك
  • أنشئ ملف بايثون جديدًا باسم الإضافة الخاصة بك
  • استخدم القالب التالي لكتابة الإضافة واستبدل 'General' باسم الإضافة الخاصة بك
from pathlib import Path
from forensic.interfaces.plugin import PluginInterface, PluginConfig, PluginCLI
from forensic.common.constants.constants import Transport


class GeneralCLI(PluginCLI):
    def __init__(self, folder_name):
        super().__init__(folder_name)
        self.name = "General"
        self.description = "General Plugin Description"
        self.port = 123
        self.transport = Transport.TCP

    def flags(self, parser):
        self.base_flags(parser, self.port, self.transport)
        parser.add_argument('--general', help='General additional argument', metavar="")


class General(PluginInterface):
    def __init__(self, config: PluginConfig, output_dir: Path, verbose: bool):
        super().__init__(config, output_dir, verbose)

    def connect(self, address):
        self.logger.info(f"{self.config.name} connect")

    def export(self, extracted):
        self.logger.info(f"{self.config.name} export")


  • تأكد من استيراد الإضافة الجديدة في ملف __init__.py داخل مجلد plugins
  • في الفئة الموروثة من PluginInterface توجد معاملات 'config'، يمكنك استخدامها للوصول إلى أي بيانات متاحة في كائن PluginConfig (اسم الإضافة، العناوين، المنفذ، النقل، المعاملات).
    هناك وظيفتان إلزاميتان (connect, export).
    • وظيفة connect تستقبل عنوان IP واحد وتستخرج أي معلومات ذات صلة من الجهاز وتعيدها.
    • وظيفة export تستقبل المعلومات التي تم استخلاصها من جميع الأجهزة ويمكنك تصديرها إلى ملف.
  • في الفئة الموروثة من PluginCLI تحتاج إلى تحديد المعلومات الافتراضية المتعلقة بهذه الإضافة في دالة init.
    هناك وظيفة إلزامية واحدة (flags)، حيث يجب عليك استدعاء base_flags، ويمكنك إضافة أي أعلام إضافية ترغب في وجودها.

إضافة المحللات

  • أنشئ دليلاً جديدًا داخل مجلد analyzers باسم الإضافة المرتبطة بالمحلل الخاص بك.
  • أنشئ ملف بايثون جديدًا باسم المحلل الخاص بك.
  • استخدم القالب التالي لكتابة الإضافة واستبدل 'General' باسم الإضافة الخاصة بك
from pathlib import Path
from forensic.interfaces.analyzer import AnalyzerInterface, AnalyzerConfig


class General(AnalyzerInterface):
    def __init__(self, config: AnalyzerConfig, output_dir: Path, verbose: bool):
        super().__init__(config, output_dir, verbose)
        self.plugin_name = 'General'
        self.create_output_dir(self.plugin_name)

    def analyze(self):
      pass

  • تأكد من استيراد المحلل الجديد في ملف __init__.py داخل مجلد analyzers

الموارد والبيانات التقنية والحلول:

Microsoft Defender for IoT هو حل أمني على مستوى الشبكة بدون وكيل يسمح للمؤسسات بمراقبة واكتشاف الأصول باستمرار، واكتشاف التهديدات، وإدارة الثغرات في أجهزة IoT/OT وأنظمة التحكم الصناعي (ICS) الخاصة بها، سواء في الموقع أو في البيئات المتصلة بـ Azure.

القسم 52 في مدونة MSRC
محاضرة ICS حول الأداة
القسم 52 - التحقيق في منطق السلم الخبيث | ندوة عبر الإنترنت لـ Microsoft Defender for IoT - YouTube

المساهمة

تنزيل الأداة