Padding oracle 漏洞利用工具,针对 Oracle Access Manager(CVE-2018-2879),可在渗透测试期间解密加密 Cookie,并对任意明文进行加密以实现身份验证绕过。
此漏洞利用工具是在针对 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
该漏洞利用工具接收需要 Oracle OAM 认证的资源 URL,并执行以下步骤:
渗透测试人员可以使用 -d 参数指定任何希望解密的加密值(encquery、encreplay、cookie)。
渗透测试人员可以使用 -e 参数指定任何希望加密的明文值。
通过逆向 Oracle OAM SDK,我们可以看到 cookie 由以下结构组成:
Salt= ACL= AuthId= Ip= TCT= SessionId= userId= validate=BASE64Encode(MD5(Salt+AuthId+Ip+ACL+TCT+SessionId))
因此,要构造 cookie,请使用 -d 参数获取一个有效的明文 cookie,修改后,再使用 -e 参数重新加密。
