
CTF موجه بالذكاء الاصطناعي - اقتحم خادمًا حقيقيًا باستخدام Claude Code كمدرب لك
مسابقة CTF حيث تستخدم الذكاء الاصطناعي لالتقاط العلم.
لا خبرة في اختبار الاختراق؟ لا مشكلة. يعمل Claude Code كمدرب شخصي لك — فهو يُعد البيئة، ويُعلمك الأدوات، ويوجهك عبر تقنيات الهجوم الحقيقية خطوة بخطوة. أنت تكتب كل أمر بنفسك.
SNet هو جهاز افتراضي ضعيف تم بناؤه من خادم حقيقي كان قيد الإنتاج بالفعل. هذا ليس تمرينًا من كتاب مدرسي — ستجد الفوضى التي يتركها مسؤولو الأنظمة الحقيقيين: ملفات تكوين، نصوص برمجية متروكة، بيانات اعتماد منسية، وقرارات سيئة متراكمة فوق بعضها.
هناك 10 طرق هجوم لاكتشافها. في كل تشغيل، تسلك مسارًا مختلفًا وتحصل على تلميحات أقل. بحلول الوقت الذي تجدهم فيه جميعًا، ستفكر مثل المهاجم والمدافع معًا.
إذا كان بإمكانك فتح طرفية، يمكنك لعب SNet.
git clone https://github.com/hrmtz/SNet.git
cd SNet
vagrant up
جميع الأجهزة الافتراضية (مدرب الذكاء الاصطناعي، Kali، الهدف)، والشبكات، وإعادة توجيه المنافذ — بأمر واحد.
مستخدمو WSL2: قم بتثبيت نسخة Linux من Vagrant داخل WSL، وليس نسخة Windows. تأكد من تعيين متغيرات البيئة هذه (أضفها إلى
~/.bashrcأو~/.zshrc):export VAGRANT_WSL_ENABLE_WINDOWS_ACCESS="1" export PATH="$PATH:/mnt/c/Program Files/Oracle/VirtualBox"
ملاحظة: سيُظهر الجهاز الهدف انتهاء مهلة مصادقة SSH أثناء
vagrant up— هذا متوقع. الهدف هو جهاز CTF ولا يسمح بدخول Vagrant عبر SSH. طالما أنvagrant statusيُظهره كـrunning، فالأمور على ما يرام.
| الجهاز الافتراضي | الأمر | ملاحظات |
|---|
عند أول تسجيل دخول، يبدأ Claude Code تلقائيًا ويطلب منك اختيار طريقة مصادقة:
قل "Please set up SNet" — سيتولى المدرب الباقي.
Recon → Exploit → Capture the flag
↑ ↓
← Fix it as a sysadmin ←
(repeat × 10)
يدعم هذا المستودع سيناريوهات متعددة لـ CTF. بشكل افتراضي، vagrant up يُشغل SNet1 (مبتدئ).
| السيناريو | الأمر | الوصف |
|---|---|---|
| SNet1 | vagrant up | اقتحام منزل غير مغلق (مبتدئ) |
| SNet2 | SNET=2 vagrant up | البقاء مخفيًا عن الحراس (متوسط) |
يضيف SNet2 خادم مراقبة Zabbix — يجب أن تعمل تحت مراقبة نشطة. راجع SNet2 README للتفاصيل.
لبدء سيناريو معين عندما تكون الأجهزة الافتراضية قيد التشغيل بالفعل:
SNET=2 vagrant up snet2-target snet2-zabbix # أضف أجهزة SNet2 الافتراضية
SNET=2 vagrant provision claude # هيئ المدرب لـ SNet2
يأتي جهاز Kali الافتراضي مع rlwrap وtmux مثبتين مسبقًا لجعل الصدف العكسية أكثر راحة.
سير العمل الموصى به:
# 1. ابدأ جلسة tmux
tmux new-session -s attack
# 2. استخدم rlwrap مع nc لتحرير الأسطر والسجل
rlwrap nc -lvnp 4444
# 3. التمرير لأعلى/أسفل في tmux: Ctrl+B، ثم [
# خروج من وضع التمرير: q
لماذا؟ تفتقر الصدف العكسية الخام إلى مفاتيح الأسهم، وإكمال علامات التبويب، وسجل التمرير. يضيف rlwrap دعم readline (سجل، تحرير)، ويضيف tmux سجل التمرير وإدارة النوافذ.
يتم جلب السيناريوهات الجديدة تلقائيًا أثناء التوفير. للحصول على الأحدث:
vagrant provision claude
هذا يسحب أحدث إصدارات جميع السيناريوهات المتاحة دون إعادة تنزيل الجهاز الافتراضي بالكامل.
هذا المشروع يُقدم للأغراض التعليمية فقط. استخدمه بمسؤولية.
| مدرب الذكاء الاصطناعي | vagrant ssh claude أو ssh -p 2222 snet@localhost | |
| Kali | vagrant ssh kali | |
| الهدف | لا يوجد SSH من المضيف — اهاجمه من Kali (10.0.10.20) |