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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ICS-TestBed-Framework — ينشر بيئات اختبار افتراضية واقعية لأنظمة SCADA/ICS مع عقد IEC 60870-5-104 وOPC-UA، مما يتيح محاكاة الهجمات، وتوليد حزم مشروعة، وتمارين أمنية للفريق الأحمر. | Kitploit
أدوات/GitHubGitHub/pmaynard/ics-testbed-framework
التقاط وتحليل الحزمأمن SCADA/ICSأمن الشبكاتاختبار الاختراقالفريق الأحمرمختبرات وتدريب عملي
GitHubpmaynard/ics-testbed-framework

ICS-TestBed-Framework

ينشر بيئات اختبار افتراضية واقعية لأنظمة SCADA/ICS مع عقد IEC 60870-5-104 وOPC-UA، مما يتيح محاكاة الهجمات، وتوليد حزم مشروعة، وتمارين أمنية للفريق الأحمر.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
7026منذ 7 سنواتتمت المراجعة من قبل Kitploit

إطار عمل منصة اختبار ICS

يُقترح إطار عمل قابل للتوسع للنشر التلقائي لعدد من الأجهزة الافتراضية محليًا (أو عن بُعد) تحاكي شبكة التحكم الإشرافي والحصول على البيانات (SCADA). يتضمن ذلك عدة مضيفين افتراضيين يحاكيون أجهزة الاستشعار والمشغلات، مع واجهة تفاعل بشري (HMI) تتحكم في المضيفين. يحتوي الإطار المقدم على مجموعة من نصوص الأتمتة التي تبني وتنشر عددًا متغيرًا من الأجهزة الافتراضية، المهيأة مسبقًا للعمل إما كوحدة طرفية عن بُعد (RTU)، أو HMI، أو مؤرخ بيانات. يتضمن العمل المقدم تنفيذًا متوافقًا مع المعايير لبروتوكول IEC 60870-5-104 (IEC104) وOPC Unified Architecture (OPC-UA)، مع القدرة على دعم بروتوكولات أخرى مثل Modbus-TCP (Modbus) وIEC61850.

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

مثال على التشغيل

asciicast

حالات الاستخدام المحتملة

  • توليد الحزم: الهدف من حالة الاستخدام الأولى هو توليد حركة مرور شبكية من عدد كبير من الأجهزة، بمستوى عالٍ من الدقة المجالية، حيث يُفضل تضمين معلومات العملية في حركة المرور. كما أُشير سابقًا، إنشاء مجموعات البيانات من نظام حي ليس ممكنًا دائمًا: فهو يتطلب عمالة مكثفة، ويحتاج المرء إلى تحديد نقطة تنصت مناسبة والحصول على موافقة مشغلي المصنع. قد يكون هذا مقيدًا بتشغيل المصنع وسياساته، حيث أن التداخل مع شبكة عاملة قد يؤدي إلى ظروف غير متوقعة وتسريب معلومات تعريفية. يمكن استخدام توليد الحزم لاختبار التغييرات المقترحة على شبكة SCADA قبل نشرها في النظام الحي. كما يمكنه إجراء اختبارات إجهاد للأجهزة باستخدام حزم تبدو شرعية. تشمل حالات الاستخدام البحثية المثيرة للاهتمام تجربة نماذج شبكات مختلفة، مثل ICN أو IPv6، التي لم تُطبق على شبكات ICS.

  • محاكاة الهجمات: تدرس هذه الحالة محاكاة هجمات معقدة على أنظمة SCADA، وتهدف إلى إجراء تحليل مخاطر لشبكة ICS مكررة، دون التأثير سلبًا على النظام الحي. يمكن استخدام منصة الاختبار من قبل الفرق الحمراء لمحاولة اختراق عقد منصة الاختبار، مع تحليل النتائج والحصول على تحليل كامل لالتقاط الحزم. إذا نجحوا، يمكن إعادة العملية مع وضع تدابير مضادة إضافية، مما يسمح باختبار التدابير المضادة الجديدة في سياق الأمان وكيف قد تؤثر على عمليات الموقع. يمكن نشر لقطات الشبكة لتمرين الفريق الأحمر كمجموعات بيانات مفتوحة للتحقق من أنظمة كشف التسلل (IDS) التي يمكن إعادة إنتاجها وتأكيد النتائج من قبل باحثين آخرين.

  • قياس أداء الوكلاء: الهدف من حالة الاستخدام هذه هو دعم قياس أداء الأنظمة القائمة على وكلاء المضيف، والتي لا تُجرى عادةً على الأنظمة الحية بسبب قيود البائعين. ما لم يكن الوكيل موثوقًا من قبل البائعين، فغالبًا ما يُحظر نشره، مع خطر خرق العقد. باستخدام منصة اختبار تمثل بدقة الموقع الصناعي الحقيقي، يمكن مراقبة استخدام البرمجيات القائمة على الوكلاء دون التسبب في اضطرابات. شريطة أن تكون منصة الاختبار قابلة للتعديل بحرية، ودقيقة وظيفيًا، وقادرة على التكامل مع العتاد المادي، سيكون من الممكن إجراء قياس أداء للوكيل.

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

البناء والتشغيل محليًا

استنسخ المستودع وقم بتثبيت التبعيات المطلوبة:

root@kitploit:~
git clone --recurse-submodules [email protected]:PMaynard/ICS-TestBed-Framework.git
sudo apt install openjdk-8-jdk maven

البناء:

root@kitploit:~
mvn clean package
mvn package -DskipTests # Skip tests.

شغّل وحدة RTU:

root@kitploit:~
java -jar node/target/node-1.0.jar
shell> rtu
shell> rtu-iec104port 2404
shell> rtu-listen 127.0.0.1
shell> run

شغّل HMI:

root@kitploit:~
java -jar node/target/node-1.0.jar
shell> hmi
shell> hmi-interval 1000
shell> remote-hosts 127.0.0.1
shell> run

النشر التلقائي في الأجهزة الافتراضية

سيقوم ملف التعريف الافتراضي بالنشر 1 HMI و4 RTUs. سيقوم HMI بدمج RTUs باستخدام IEC104 وOPC-UA. تم تكوين RTUs لإرجاع بيانات عملية عشوائية.

المتطلبات الأساسية (Vagrant+VirtualBox)

استخدم أحدث إصدار من Vagrant بدلاً من الحزم الجاهزة/الموزعة لأن هذه النصوص تستخدم ميزات من أحدث إصدارات Vagrant. يجب أن يكون الأمر جيدًا إذا كنت تستخدم Ubuntu 18.04.1 LTS.

root@kitploit:~
git clone https://github.com/mitchellh/vagrant.git /opt/vagrant
cd /opt/vagrant
bundle install
bundle --binstubs exec
ln -sf /opt/vagrant/exec/vagrant /usr/local/bin/vagrant 

[اختياري] إنشاء صورة جهاز افتراضي

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

يُستخدم Packer لإنشاء صورة جهاز افتراضي مناسبة لـ VirtualBox وVagrant:

root@kitploit:~
cd vagrant_image
packer build vagrant-node.json
vagrant box add testbed-node vagrant.box

النشر

تحذير ستحتاج إلى 4GB على الأقل من الذاكرة العشوائية الحرة.

حدّث ملف Vagrantfile بأي معلومات إضافية، مثل عنوان IP الثابت واستخدام الذاكرة.

إعدادات IP الافتراضية هي 10.50.50.*. يُستخدم .200 لوحدة HMI و101-105 لوحدات RTU. الذاكرة الافتراضية المخصصة لكل جهاز افتراضي هي 512MB.

root@kitploit:~
vagrant up
vagrant ssh hmi
vagrant ssh rtu-1 # 1-5
vagrant halt
vagrant destroy 

مجموعة بيانات مثال

تم إنشاء مجموعة بيانات مثال باستخدام تكوين النشر الافتراضي. يمكن تنزيل ملفات PCAP من هنا. تم تنفيذ هجوم MITM على IEC104 باستخدام ملحق ettercap الموجود هنا

  • [Host-SCAN 13:45]: استطلاع شبكي أساسي باستخدام فحص Nmap واسع النطاق للشبكة. الأمر: 'nmap -sn 10.50.50.*'

  • [Host-SCAN 13:47]: استطلاع شبكي أساسي للبحث عن خوادم [IEC104]{acronym-label="IEC104" acronym-form="singular+short"} متاحة. الأمر: 'nmap 10.50.50.* -p 2404'

  • [Host-SCAN 13:47]: فحص منافذ كامل للعقد [RTUs]{acronym-label="RTU" acronym-form="plural+short"} المحددة. الأمر: 'nmap 10.50.50.101-105 -A'

  • [Host-SCAN 13:49]: فحص نشط لـ [IEC104]{acronym-label="IEC104" acronym-form="singular+short"} يستكشف العقد باستخدام [IEC104]{acronym-label="IEC104" acronym-form="singular+short"} بروتوكول[^1]. الأمر: 'nmap -Pn -n -d --script iec-identify.nse --script-args='iec-identify.timeout=500' -p 2404 10.50.50.101-105'

  • [Host-MITM 14:19]: ينفذ هجوم [MITM]{acronym-label="MITM" acronym-form="singular+short"} على RTU-1 وHMI. الأمر: 'ettercap -i enp0s8 -T -M arp -P spoof_104 /10.50.50.101/ /10.50.50.150/'

يظهر تحليل عددي لمجموعة البيانات أدناه:

المشاريع ذات الصلة

  • https://github.com/flesueur/mi-lxc
  • https://github.com/nsec/the-internet
  • https://minicps.readthedocs.io/en/latest/

الاقتباس

يرجى الاستشهاد بهذا الإطار باستخدام التنسيق التالي:

root@kitploit:~
@conference{
 author   = "Peter Maynard and Kieran McLaughlin and Sakir Sezer",
 title 	  = "An Open Framework for Deploying Experimental SCADA Testbed Networks",
 journal  = "5th International Symposium for ICS & SCADA Cyber Security Research",
 year 	  = "2018"
}

يمكن الاستشهاد بمجموعة البيانات باستخدام DOI: 10.6084/m9.figshare.6133457.v1

يمكن العثور على الورقة الكاملة على: https://petermaynard.co.uk/publication/an-open-framework-for-deploying-experimental-scada-testbed-networks/

تنزيل الأداة
المضيفIPIEC104OPC-UAأخرىالمجموع
HMI10.50.50.15026,158017,68843,846
Historian10.50.50.151014,69514,92729,622
RTU-110.50.50.1013,5922,9405,54312,075
RTU-210.50.50.1023,6652,9415,87612,482
RTU-310.50.50.1033,6682,9405,79312,404
RTU-410.50.50.1043,6902,9405,77112,404
RTU-510.50.50.1053,5769307,93312,442
MITM10.50.50.992,39003,4495,839
SCAN10.50.50.315028,35128,366