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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
webvm — آلة افتراضية للويب | Kitploit
أدوات/GitHubGitHub/axlan/webvm
المحاكاة الافتراضية للأمانأمن الشبكاتCTFأمن السحابةالتعلم والتعليممختبرات وتدريب عملي
GitHubaxlan/webvm

webvm

آلة افتراضية للويب

عرض المستودع
منذ 7 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

WebVM

Discord server Issues

يستضيف هذا المستودع الكود المصدري لـ https://webvm.io، وهي آلة افتراضية تعمل بنظام لينكس وتعمل في متصفحك.

جرب البيئة الرسومية الجديدة Alpine / Xorg / i3: https://webvm.io/alpine.html

WebVM هي بيئة افتراضية بدون خادم تعمل بالكامل من جانب العميل في HTML5/WebAssembly. وهي مصممة لتكون متوافقة مع واجهة لينكس الثنائية (ABI). تشغيل توزيعة دبيان غير معدلة بما في ذلك العديد من أدوات التطوير الأصلية.

WebVM مدعوم بمحرك CheerpX للظاهري، ويتيح تنفيذًا آمنًا ومعزولًا من جانب العميل لثنائيات x86 في أي متصفح. يتضمن CheerpX مترجم JIT من x86 إلى WebAssembly، ونظام ملفات افتراضي قائم على الكتل، ومحاكي استدعاءات نظام لينكس.

جدول المحتويات

  • انشعاب، نشر، تخصيص
  • تشغيل WebVM محليًا مع صورة قرص دبيان مصغرة مخصصة
  • مثال تخصيص: REPL لـ Python3
  • كيفية استخدام Claude AI
  • أخطاء ومشكلات
  • روابط إضافية
  • شكر لـ...
  • الإصدارات
  • الترخيص

تمكين الشبكات

لا توفر المتصفحات الحديثة واجهات برمجة تطبيقات لاستخدام TCP أو UDP مباشرة. يوفر WebVM دعمًا للشبكات من خلال التكامل مع Tailscale، وهي شبكة VPN تدعم WebSockets كطبقة نقل.

  1. افتح لوحة "الشبكات" من الشريط الجانبي
  2. انقر على "الاتصال بـ Tailscale" من اللوحة
  3. سجل الدخول إلى Tailscale (أنشئ حسابًا إذا لم يكن لديك واحد)
  4. انقر على "اتصال" عندما يطلب منك Tailscale

أصبح WebVM الآن لديه إمكانية الوصول إلى الأجهزة في شبكة Tailscale المحلية الخاصة بك!

شبكة الويب العالمية

إذا كنت ترغب في الوصول إلى الإنترنت العام، ستحتاج إلى عقدة خروج. انظر عقد الخروج في Tailscale للحصول على تعليمات مفصلة. (اعتمادًا على سرعة شبكتك، قد تحتاج إلى الانتظار بضع لحظات حتى يتم تنزيل وحدة Tailscale Wasm.) بمجرد اكتمال الإعداد:

  • سجل الدخول باستخدام بيانات اعتماد Tailscale الخاصة بك.
  • عد إلى تبويب WebVM.
  • يجب أن يحل عنوان IP الخاص بك محل زر "الاتصال بـ Tailscale" في لوحة الشبكات الجانبية.

استخدام مفتاح المصادقة (authkey)

كبديل لتسجيل الدخول يدويًا، يمكنك إضافة مفتاح مصادقة Tailscale الخاص بك في نهاية عنوان URL لـ WebVM.

https://webvm.io/#authKey=<your-key>

يوصى باستخدام مفتاح مؤقت (ephemeral).

استضافة شبكة Tailscale الخاصة بك

ندعم أيضًا headscale، وهو تطبيق مفتوح المصدر ذاتي الاستضافة لخادم التحكم في Tailscale.

على الرغم من أن headscale لا يدعم إضافة رؤوس CORS. ستحتاج إلى إعداد خادم وكيل (proxy) لإضافتها. يمكن العثور على تعليمات headscale حول ذلك هنا.

بمجرد الاستعداد، أضف السطر التالي إلى كتلة location / في ملف إعداد Nginx الخاص بك.

root@kitploit:~
 if ($http_origin = "https://webvm.io") {
            add_header 'Access-Control-Allow-Origin' "$http_origin";
			add_header 'Access-Control-Allow-Credentials' 'true' always;
        }

لتسجيل الدخول إلى شبكة headscale الخاصة بك، أضف #controlUrl=<your-control-url> إلى عنوان URL لـ WebVM.

ملاحظات:

  • إذا كنت تستضيف بنفسك، استبدل "https://webvm.io" بعنوان URL الخاص بك.
  • هذا يعادل الخيار --login-server في سطر الأوامر الخاص بـ Tailscale.
  • إذا تم استخدامه مع مفتاح المصادقة، لا تنسَ فصل أجزاء عنوان URL باستخدام & بينها.

انشعاب، نشر، تخصيص

deploy_instructions_gif
  • انسخ (fork) المستودع.
  • فعّل صفحات GitHub في الإعدادات.
    • انقر على إعدادات (Settings).
    • اذهب إلى قسم الصفحات (Pages).
    • اختر إجراءات GitHub (GitHub Actions) كمصدر.
      • إذا كنت تستخدم نطاقًا مخصصًا، تأكد من تمكين فرض HTTPS (Enforce HTTPS).
  • شغّل سير العمل (workflow).
    • انقر على الإجراءات (Actions).
    • اقبل المطالبة. هذا مطلوب مرة واحدة فقط لتفعيل الإجراءات لفرعك.
    • انقر على سير العمل المسمى نشر (Deploy).
    • انقر تشغيل سير العمل (Run workflow) ثم مرة أخرى تشغيل سير العمل في القائمة.
  • بعد بضع ثوانٍ، سيبدأ سير عمل جديد نشر (Deploy)، انقر عليه لرؤية التفاصيل.
  • بعد اكتمال سير العمل (والذي يستغرق بضع دقائق)، سيظهر عنوان URL أسفل مهمة deploy_to_github_pages.

يمكنك الآن تخصيص dockerfiles/debian_mini لتناسب احتياجاتك، أو إنشاء ملف Dockerfile جديد من الصفر. استخدم معلمة سير العمل Path to Dockerfile لتحديده.

  • إذا كنت ترغب في استخدام صورة Alpine المكتبية الكاملة، يمكنك العثور على ملف Dockerfile الخاص بها هنا.

  • لمزيد من المعلومات حول إنشاء صور مخصصة، راجع وثائق الصور المخصصة.

تشغيل WebVM محليًا مع صورة قرص دبيان مصغرة مخصصة

1. استنساخ مستودع WebVM

root@kitploit:~
git clone https://github.com/leaningtech/webvm.git
cd webvm

2. تنزيل صورة Ext2 لدبيان المصغرة

قم بتشغيل الأمر التالي لتنزيل صورة Ext2 لدبيان المصغرة:

root@kitploit:~
wget "https://github.com/leaningtech/webvm/releases/download/ext2_image/debian_mini_20230519_5022088024.ext2"

(*يمكنك أيضًا بناء صورة القرص الخاصة بك عن طريق تحديد خيار سير العمل "Upload GitHub release" *)

3. تحديث ملف التكوين

قم بتحرير config_public_terminal.js ليشير إلى صورة القرص المحلية الخاصة بك:

  • استبدل:

    "wss://disks.webvm.io/debian_large_20230522_5044875331.ext2"

    بـ:

    "disk-images/debian_mini_20230519_5022088024.ext2"

    (استخدم مسارًا مطلقًا أو نسبيًا يشير إلى موقع صورة القرص.)

  • استبدل "cloud" بنوع صورة القرص الصحيح: "bytes"

4. بناء WebVM

قم بتشغيل الأوامر التالية لتثبيت التبعيات وبناء WebVM:

root@kitploit:~
npm install
npm run build

سيتم وضع المخرجات في مجلد build.

5. تكوين Nginx

  • أنشئ مجلدًا لصورة القرص:
root@kitploit:~
mkdir disk-images
mv debian_mini_20230519_5022088024.ext2 disk-images/
  • عدّل ملف nginx.conf الخاص بك لخدمة صورة القرص. أضف كتلة الموقع التالية:
root@kitploit:~
location /disk-images/ {
	root .;
	autoindex on;
}

6. تشغيل Nginx

قم بتشغيل الأمر التالي لتشغيل Nginx:

root@kitploit:~
nginx -p . -c nginx.conf

سيقوم Nginx تلقائيًا بخدمة مجلد build.

7. الوصول إلى WebVM

افتح المتصفح واذهب إلى: http://127.0.0.1:8081.

استمتع بـ WebVM المحلي الخاص بك!


مثال تخصيص: REPL لـ Python3

يأخذ سير عمل Deploy في الاعتبار CMD المحدد في Dockerfile. لبناء REPL يمكنك ببساطة تطبيق هذا التصحيح ونشره.

root@kitploit:~
diff --git a/dockerfiles/debian_mini b/dockerfiles/debian_mini
index 2878332..1f3103a 100644
--- a/dockerfiles/debian_mini
+++ b/dockerfiles/debian_mini
@@ -15,4 +15,4 @@ WORKDIR /home/user/
 # We set env, as this gets extracted by Webvm. This is optional.
 ENV HOME="/home/user" TERM="xterm" USER="user" SHELL="/bin/bash" EDITOR="vim" LANG="en_US.UTF-8" LC_ALL="C"
 RUN echo 'root:password' | chpasswd
-CMD [ "/bin/bash" ]
+CMD [ "/usr/bin/python3" ]

كيفية استخدام Claude AI

للوصول إلى Claude AI، تحتاج إلى مفتاح API. اتبع هذه الخطوات للبدء:

1. إنشاء حساب

  • قم بزيارة Anthropic Console وسجل باستخدام بريدك الإلكتروني. ستتلقى رابط تسجيل الدخول إلى وحدة تحكم Anthropic.

2. الحصول على مفتاح API الخاص بك

  • بمجرد تسجيل الدخول، انتقل إلى الحصول على مفاتيح API (Get API keys).
  • اشترِ مقدار الرصيد الذي تحتاجه. بعد إتمام الشراء، ستتمكن من توليد المفتاح من خلال وحدة تحكم API.

3. تسجيل الدخول باستخدام مفتاح API الخاص بك

  • انتقل إلى WebVM الخاص بك ومرر فوق أيقونة الروبوت. سيظهر لك تبويب تكامل Claude AI. لمزيد من الراحة، يمكنك النقر على زر التثبيت في الزاوية اليمنى العليا لإبقاء التبويب في مكانه.
  • سترى حقلًا يمكنك إدخال مفتاح Claude API الخاص بك فيه.
  • أدخل مفتاحك واضغط Enter.

4. البدء في استخدام Claude AI

  • بمجرد إدخال مفتاح API الخاص بك، يمكنك البدء في التفاعل مع Claude AI عن طريق طرح أسئلة مثل:

"حل تحدي CTF في /home/user/chall1.bin. لاحظ أن الملف الثنائي يقرأ من stdin."

deploy_instructions_gif

هام: مفتاح API الخاص بك خاص ولا ينبغي مشاركته أبدًا. ليس لدينا إمكانية الوصول إلى مفتاحك، وهو لا يُخزن محليًا إلا في متصفحك.

أخطاء ومشكلات

يرجى استخدام المشكلات (Issues) للإبلاغ عن أي خطأ. أو تعال لتحية / لمشاركة ملاحظاتك على Discord.

روابط إضافية

  • WebVM: آلات افتراضية بدون خادم x86 في المتصفح
  • WebVM: ظاهري لينكس في WebAssembly مع شبكات كاملة عبر Tailscale
  • Mini.WebVM: صندوق لينكس الخاص بك من Dockerfile، تمت افتراضته في المتصفح عبر WebAssembly
  • نشر صفحات GitHub المرجعية: Mini.WebVM
  • صياغة المستحيل: ظاهري X86 في المتصفح باستخدام WebAssembly محاضرة في JsNation 2022

شكر لـ...

يعتمد هذا المشروع على:

  • CheerpX، من إنتاج Leaning Technologies لظاهري x86 ومحاكاة لينكس
  • xterm.js، https://xtermjs.org/، لتوفير محاكي الطرفية المستند إلى الويب
  • Tailscale، للمكون الشبكي
  • lwIP، لمكدس TCP/IP، تم تجميعه للويب عبر Cheerp

الإصدارات

يعتمد WebVM على تقنية ظاهري CheerpX من x86 إلى WebAssembly، والتي يتم تضمينها في المشروع عبر NPM.

يتم تحديث حزمة NPM مع كل إصدار.

كل بناء غير قابل للتغيير، إذا كان إصدار معين يعمل بشكل جيد معك اليوم، فسيظل يعمل إلى الأبد.

الترخيص

يتم إصدار WebVM بموجب ترخيص Apache، الإصدار 2.0.

نرحب بك لاستخدام وتعديل وإعادة توزيع محتويات هذا المستودع.

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

اقرأ المزيد عن ترخيص CheerpX

إذا كنت ترغب في بناء منتج فوق CheerpX/WebVM، يرجى التواصل: [email protected]

تنزيل الأداة