المشاركات

Pt2[Linux Privilege Escalation Techniques] Capabilities [Missconfiguration]

صورة
السلام عليكم ورحمة وبركاتة، تكمله لسلسلة Linux Privilege Escalation Techniques راح نتكلم عن Capabilities في اللينكس تعريف عن الCapabilities في الينكس هي تقريبأ نفس تصاريح setuid + setguid بس بشكل ادق في مقدره باتحديد  لتنفيذ امر معين بنفس صلاحيات . اي انه بستطاعه المصرح ان يحدد اي عمليه يقوم بها الباينري بالعمل به، مثال لو فرضنا لدينا باينيري اسمه nbyte يقوم بالقراءه وتنفيذ الاومر،وحددنا له  القدره/التصريح على القراءه فقط بصلاحيات اليوزر المصرح، الا وهو الروت. راح ينفذ طبيعي باليوزر المنفذ ولكن القراءه راح يقراء مثل صلاحيات المصرح (روت) لنه المصرح وضع له المقدره بألقراءه ع السيرفر.وهنا يكمن التصعيد. ناخذ بعضها حسب الاهمية والخطورة Capabilities list CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_DAC_READ_SEARCH CAP_SYS_CHROOT CAP_SETFCAP CAP_SETGID   CAP_SETUID http://man7.org/linux/man-pages/man7/capabilities.7.html وغيرها كثير تعتبر خطره اتركها لكم للاستكشاف. ناخذ مثال، في البداية نستخرج Capabilities الموضوعه داخل الباينيرز الموجوده في السي...

pt1[linux privilege escalation techniques] intro- Setuid & Setgid & Path Variable

صورة
السلام عليكم ورحمة الله وبركاتة نبدا الموضوع من دون مقدمات افضل، في البداية ناخذ تعريف عن setuid وا setguid بختصار: هناك انواع مميزة في التصاريح المسموحه للملفات الباينري القابله للتنفيذ مثال ع ذالك setguid+setuid  عندما تكون هاذي التصاريح موضوعه من قبل الروت في السيرفر ع ملفات باينري يصبح  اي يوزر ع السيرفر يستطيع تشغيل الملف بالصلاحيات اليوزر المصرح. في حالة  setuid اي التصريح او التشغيل يكون من اليوزر المصرح نفسه setguid اي التصريح او التشغيل يكون من القروب المصرح ايضا نفسه مقدمه عن Path variable  Path هو بيئه المتغيرات في اللينكس بحيث انه يحدد المجلدات  الافتراضيه لتشغيل الباينيري في اللينكس في العاده تكون في مجلدات bin,sbin,usr/sbin.usr/bin التي تحتوي على ملفات الباينري مثل wget ,cat والخ،، طيب مافائده path variable اختصار للوقت والجهد بحيث لاتطلب الباينري في مجلده الاصلي مثلا /usr/bin/cat /home/user/file.txt  فقط ماعليك هو كتابه الامر cat /home/user/file.txt بحيث ان path variable تعرف على الباينيري cat عن طريق بىئه...

Deserialization vulnerability in Node.js RCE

صورة
السلام عليكم ورحمة الله وبركاتة، اليوم حاب اتكلم عن ثغره Deserialization في node.js راح اتطرق في الموضوع عن ثلاث محاور. 1-تعريف عن node.js Node.js هو نظام برامج مصمم لكتابة تطبيقات إنترنت قابلة للتوسع كخوادم الويب لاتختلف كثيرا عن برمجيات الويب ابلكيشن يوجد لديها من المكتبات والموديلز 2- سبب الثغرة وحدوثها في عام 2017 تم اكتشاف ثغرة في دالة  unserialize() تحت   مودل   node-serialize  0.0.4 تسمح للمخترق  باستغلال الثغرة للوصول الى remote code execution عن طريق ادخال  serialized  JavaScript Object مع اضافه مصطلح  IIFE = () الاستدعاء التنفيذ المدخل على الفور من وقت ادخال المدخل وهي اختصار   Immediately-Invoked Function Expression لنرى الفرق بين object Serializedيحتوي على remote code execution payload من دون   IIFE Expression في حالة عدم وجود IIFE لايقوم Serialized object بتنفيذ البايلود يقوم بطابعه الSerialized object للpayload من دون التنفيذ فقط ناخذ مثال ...