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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
SecGen — إنشاء أجهزة افتراضية غير آمنة عشوائياً | Kitploit
أدوات/GitHubGitHub/cliffe/secgen
ماسحات الثغرات الأمنيةالمحاكاة الافتراضية للأمانCTFاختبار الاختراقالتعلم والتعليممختبرات وتدريب عملي
GitHubcliffe/secgen

SecGen

إنشاء أجهزة افتراضية غير آمنة عشوائياً

عرض المستودع
2.8k32630منذ 14س 25دتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

مُولِّد السيناريوهات الأمنية (SecGen)

ملخص

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

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

أحدث إصدار متاح على: http://github.com/cliffe/SecGen/

يرجى إكمال استبيان قصير لإخبارنا كيف تستخدم SecGen.

للحصول على حل مستضاف، قم بزيارة: https://hacktivity.co.uk/

مقدمة

يستفيد طلاب أمن الحاسوب من الانخراط في تحديات الاختراق. يُعد العمل المخبري العملي وتحديات الاختراق المُهيأة مسبقًا ممارسة شائعة في تعليم الأمن وكذلك كتسلية للأفراد المهتمين بالأمن. أصبحت تحديات الاختراق التنافسية، مثل مسابقات التقاط العلم (CTF)، ركيزة أساسية في مؤتمرات الصناعة ومحور تركيز لمجتمعات كبيرة عبر الإنترنت. توفر الأجهزة الافتراضية (VMs) طريقة فعالة لمشاركة الأهداف للاختراق، ويمكن تصميمها لاختبار مهارات المهاجم. تستضيف مواقع مثل Vulnhub أجهزة افتراضية لتحديات الاختراق المُهيأة مسبقًا وتُعد موردًا قيمًا لمن يتعلم ويطور مهاراته في أمن الحاسوب. ومع ذلك، فإن تطوير تحديات الاختراق هذه يستغرق وقتًا طويلاً، وبمجرد إنشائها تصبح ثابتة بشكل أساسي. أي أنه بمجرد "حل" التحدي لم يعد هناك تحدٍ متبقٍ للطالب، وإذا تم إنشاء التحدي لمسابقة أو تقييم، فلا يمكن إعادة استخدام التحدي دون المخاطرة بالانتحال والتواطؤ.

يقوم مُولِّد السيناريوهات الأمنية (SecGen) بإنشاء أنظمة قابلة للاستغلال بشكل عشوائي. يتم إنشاء الأجهزة الافتراضية بناءً على مواصفات سيناريو، تصف القيود والخصائص للأجهزة الافتراضية المراد إنشاؤها. على سبيل المثال، يمكن أن يحدد السيناريو إنشاء نظام بثغرة قابلة للاستغلال عن بُعد من شأنها أن تؤدي إلى اختراق على مستوى المستخدم، وخلل قابل للاستغلال محليًا من شأنه أن يؤدي إلى اختراق على مستوى الجذر. سيتطلب ذلك من المهاجم اكتشاف واستغلال كلتا الثغرتين المختارتين عشوائيًا للحصول على وصول الجذر إلى النظام. بدلاً من ذلك، يمكن أن يكون السيناريو المحدد أكثر تحديدًا، بحيث يحدد أنواعًا معينة من الخدمات (مثل FTP أو SMB) أو حتى ثغرات محددة (حسب CVE).

SecGen هو تطبيق Ruby، مع لغة تكوين XML. يقرأ SecGen تكوينه، بما في ذلك الثغرات المتاحة والخدمات والشبكات والمستخدمين والمحتوى، ويقرأ تعريف السيناريو المطلوب، ويطبق منطق عشوائية السيناريو، ويستفيد من Puppet وVagrant لتوفير الأجهزة الافتراضية المطلوبة.

الترخيص

SecGen برنامج حر: يمكنك إعادة توزيعه و/أو تعديله بموجب شروط رخصة GNU العامة كما نشرتها مؤسسة البرمجيات الحرة، إما الإصدار 3 من الرخصة، أو (حسب اختيارك) أي إصدار لاحق.

يحتوي SecGen على وحدات، تقوم بتثبيت حزم برمجية متنوعة. قد تحتوي كل وحدة SecGen على برمجيات أو تستمدها عن بُعد، وتحدد كل وحدة ترخيصها الخاص في ملف secgen_metadata.xml المرفق.

التثبيت

تم تطوير SecGen واختباره على Ubuntu Linux. من الناحية النظرية، يجب أن يعمل SecGen على Mac أو Windows، إذا كان لديك جميع البرمجيات المطلوبة مثبتة.

يحتاج SecGen إلى:

  • Ruby 2.7 إلى 4.0، مع رؤوس التطوير، وجواهر Ruby في Gemfile (بما في ذلك Nokogiri وLibrarian-puppet)
  • Vagrant: https://developer.hashicorp.com/vagrant
  • VirtualBox: https://www.virtualbox.org/ (أو Proxmox / oVirt / ESXi، انظر أدناه)
  • ImageMagick وExifTool وGraphviz وبعض المكتبات لجواهر Ruby الأصلية
  • Packer، فقط لقواعد Windows: https://www.packer.io/

هناك طريقتان لتثبيته. تم اختبار كلتيهما من تثبيت Ubuntu جديد.

الخيار 1: Docker

قم بتثبيت Docker وVirtualBox على المضيف، ثم دع docker/secgen-docker.sh يبني حاوية مع كل شيء آخر. لا يزال VirtualBox مطلوبًا على المضيف لبرنامج تشغيل النواة الخاص به. انظر docker/README.md.

git clone https://github.com/cliffe/SecGen.git
cd SecGen
docker/secgen-docker.sh run -s scenarios/default_scenario.xml

الخيار 2: التثبيت الأصلي على Ubuntu (22.04، 24.04، 26.04؛ 20.04 مع الملاحظة أدناه)

قم بتثبيت VirtualBox من مستودع Oracle. حزمة virtualbox في Ubuntu 24.04 (7.0.16) لا يمكنها بناء برنامج تشغيل النواة الخاص بها لنواة HWE الحالية، ويحتاج Linux 7.0 إلى VirtualBox 7.2.8 أو أحدث:

sudo apt-get update
sudo apt-get install -y wget gpg lsb-release
wget -qO- https://www.virtualbox.org/download/oracle_vbox_2016.asc \
  | sudo gpg --yes --dearmor -o /usr/share/keyrings/oracle-virtualbox-2016.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] https://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" \
  | sudo tee /etc/apt/sources.list.d/virtualbox.list
sudo apt-get update
sudo apt-get install -y virtualbox-7.2

إذا كان KVM محمّلاً، فلا يمكن لـ VirtualBox تشغيل الأجهزة الوهمية بينما يحتفظ KVM بـ VT-x (VERR_VMX_IN_VMX_ROOT_MODE). على النوى 6.12 وما بعدها يمكنك السماح لهما بالتعايش:

echo "options kvm enable_virt_at_load=0" | sudo tee /etc/modprobe.d/kvm-virtualbox.conf
sudo modprobe -r kvm_intel kvm_amd kvm; sudo modprobe kvm_intel || sudo modprobe kvm_amd

تستخدم سيناريوهات SecGen نطاقات شبكة host-only خارج النطاق الافتراضي لـ VirtualBox وهو 192.168.56.0/21، لذا اسمح بأي نطاق:

sudo mkdir -p /etc/vbox
echo '* 0.0.0.0/0 ::/0' | sudo tee /etc/vbox/networks.conf

ثبّت Vagrant من مستودع HashiCorp (لم تعد Ubuntu 26.04 توفّره ضمن حزمها، كما أن إصدارات Vagrant الأقدم لم تعد قادرة على تنزيل الصناديق من Vagrant Cloud):

wget -qO- https://apt.releases.hashicorp.com/gpg | sudo gpg --yes --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" \
  | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt-get update
sudo apt-get install -y vagrant

قم بتثبيت Ruby والحزم الأخرى المطلوبة:

sudo apt-get install -y git ruby-full ruby-dev build-essential patch pkg-config zlib1g-dev liblzma-dev \
  imagemagick exiftool libpq-dev libcurl4-openssl-dev libxml2-dev libxslt1-dev graphviz libgraphviz-dev \
  libpcap-dev libsqlite3-dev libgpgme-dev libyaml-dev libffi-dev libssl-dev

استنسخ SecGen وثبّت الـ gems. استخدم bundle install، وليس bundle update: يثبّت Gemfile.lock الإصدارات التي تعمل على كل إصدار Ruby مدعوم، بينما يستبدلها bundle update بأحدث الإصدارات، والتي قد لا تعمل.

git clone https://github.com/cliffe/SecGen.git
cd SecGen
sudo gem install bundler -v '~> 2.4'
sudo bundle install

ثم جرّب السيناريو الافتراضي (يقوم بتنزيل الصندوق الأساسي من hacktivity.co.uk في المرة الأولى):

ruby secgen.rb run

ملاحظات:

  • Ubuntu 20.04 (Ruby 2.7): لم يعد مستودع apt الخاص بـ HashiCorp يُتحقق منه على 20.04؛ ثبّت Vagrant من ملف .deb على https://releases.hashicorp.com/vagrant/ بدلاً من ذلك. لا تثبّت حزمة ruby-bundler. فهي تجلب gem thor المُحزَّم من Debian، ويفشل bundle install بعد ذلك مع الخطأ "Could not find thor-0.19.4.gem". استخدم sudo gem install bundler -v 2.4.22 كما هو موضح أعلاه (2.4 هو آخر إصدار من Bundler يدعم Ruby 2.7).
  • Ruby 4.0: يعيد bundle install تحليل بعض الـ gems (librarian-puppet وتبعياته) ويعيد كتابة Gemfile.lock محلياً، لأن الإصدارات المثبّتة لـ Ruby 2.7 لا تسمح بـ Ruby 4.
  • هل تستخدم SecGen بالفعل على نظام أقدم؟ بعد السحب، شغّل sudo bundle install مرة أخرى.
  • الذاكرة: على VirtualBox، تحصل الأجهزة الافتراضية المبنية على قواعد سطح المكتب (Kali، Debian KDE) على 3000 ميجابايت لكل منها، والأجهزة الافتراضية الأخرى على 1024 ميجابايت، لذا فإن CTF يحتوي على جهاز افتراضي للهجوم وهدف سطح مكتب (مثل scenarios/ctf/nosferatu.xml) يحتاج إلى حوالي 6 جيجابايت من الذاكرة العشوائية الحرة. تجاوز ذلك باستخدام --memory-per-vm أو --total-memory.

لاستخدام قواعد Windows basesboxes ستحتاج إلى تثبيت Packer. استخدم الأمر التالي:

curl -SL https://releases.hashicorp.com/packer/1.3.2/packer_1.3.2_linux_amd64.zip -o packer_1.3.2_linux_amd64.zip
unzip packer_1.3.2_linux_amd64.zip
sudo mv packer /usr/local/
sudo bash -c 'echo "export PATH=\"\$PATH:/usr/local/\"" >> /etc/environment'
sudo vagrant plugin install winrm
sudo vagrant plugin install winrm-fs

الاستخدام

الاستخدام الأساسي:

ruby secgen.rb run
تنزيل الأداة