
PoC لـ SpringBreak (CVE-2017-8046)
كنت بحاجة إلى أداة لاختبار عدة نقاط نهاية مختلفة لثغرة SpringBreak التي تم الكشف عنها مؤخرًا (CVE-2017-8046) ولم أجد واحدة، لذا قمت بتجميع هذه.
_______ _______ _______ _________ _ _______ ______ _______ _______ _______ _
( ____ \( ____ )( ____ )\__ __/( ( /|( ____ \( ___ \ ( ____ )( ____ \( ___ )| \ /\
| ( \/| ( )|| ( )| ) ( | \ ( || ( \/| ( ) )| ( )|| ( \/| ( ) || \ / /
| (_____ | (____)|| (____)| | | | \ | || | | (__/ / | (____)|| (__ | (___) || (_/ /
(_____ )| _____)| __) | | | (\ \) || | ____ | __ ( | __)| __) | ___ || _ (
) || ( | (\ ( | | | | \ || | \_ )| ( \ \ | (\ ( | ( | ( ) || ( \ \
/\____) || ) | ) \ \_____) (___| ) \ || (___) || )___) )| ) \ \__| (____/\| ) ( || / \
\_______)|/ |/ \__/\_______/|/ )_)(_______)|/ \___/ |/ \__/(_______/|/ \||_/ \/
إثبات المفهوم لـ CVE-2017-8046. الأوامر المتاحة:
target <https://host/app/path>
exec <أمر لتنفيذه على الهدف>
base64 <on|off> (يبدل ترميز الأوامر بـ base64 (يستخدم bash)، افتراضي: on)
verify <on|off> (يبدل التحقق من SSL، افتراضي: on)
exit
ملاحظة: هذا تنفيذ أوامر عن بُعد أعمى، الأوامر المنفذة لن تُرجع أي مخرجات.
SpringBreak>
هذه التعليمات واضحة بذاتها، لكن للتوضيح بخصوص base64:
base64 مفعل افتراضيًا ويقوم بتحويل الأوامر إلى base64 ولفها في bash -c {echo,BASE64_COMMAND}|{base64,-d}|{bash,-i}. إلغاء التفعيل سيرسل الأوامر الخام مباشرة (بعد تحويلها إلى مصفوفة بايت).