ERP安全是IT安全的独立部分。如今,ERP代表了各种基于不同技术编写的各种工具和服务。在安全领域拥有适当的知识和便于管理的工具是至关重要的。
当我们在探索Oracle电子商务套件安全性时,我们注意到市场上缺乏可以帮助我们简化安全评估,便利且免费的安全工具。有很多各种各样的模块或脚本也只是随随便随便的检查一两个问题。为此,我们决定开发自己的解决方案,第一个免费的Oracle电子商务套件安全扫描器 - ERPSCAN EBS Pentesting tool。
这是一个由我们研究团队开发的对多种EBS exploits的“封装”。所有模块都用python语言表示。目前,有四个主要模块(其中1个使用EBS用户密码解密器):
目前,我们只发布了其中的四个。如果这款工具反馈良好,我们将继续这个项目并发布更多我们的私有模块。
测试Oracle EBS数据库
Oracle EBS DB用户爆破
脚本使用预定义的密码爆破标准DB用户。此外,它可以从APPS.fnd_user表中获取EBS用户的密码,如果密码被哈希加密,则会使用ebsDecrypt.py模块对其解密。所有发现将会被保存在dbCheckResults.txt文件中。
Help
你应该安装cx_Oracle进行操作。
usage: dbUsersBforce.py [-h] [-H HOST] [-P PORT] [-s SID] [-d DEC] [-v]
EBS DB Users brute-force Python Script. It tests for default DB users with the predefined passwords. Also it can check
whether any bruted DB user can decrypt EBS Users passwords (of course if Password Hashing is not implemented).
optional arguments:
-h,--help 显示帮助信息并退出
-H HOST,--host HOST DB host (默认: 127.0.0.1). 示例: ebs.example.com
-P PORT,--port PORT DB port (默认: 1521)
-s SID,--sid SID DB SID (默认: EBSDB)
-d DEC,--dec DEC 尝试解密EBS用户密码? Y/N
-v,--verbose 详细模式
Usage
应用程序用户密码应该大写。
$ decrypt.py -k APPS -d ZH4715DC7E9C2213F7CD56D44CE1CB8625FB71D0F4935EFEAE5B8CA66117B9C2D6A1E733BA80005F4CD19706A03218E8C5E4
测试Oracle EBS应用程序
EBS用户爆破
脚本使用预定义的密码爆破EBS默认用户。它处理两种类型的身份验证版本(不要与SSO混合!)。
Help
usage: ebsUsersBforce.py [-h] [-H HOST] [-P PORT] [-s] [-t TIMEOUT] [-v]
EBS Users brute-force python script brutes EBS default users with predefined passwords.
optional arguments:
-h,--host HOST EBS host (默认: 127.0.0.1). 示例: ebs.example.com
-P PORT,--port PORT EBS web port (默认:8000)
-s,--ssl 启用SSL
-t TIMEOUT,--timeout TIMEOUT
HTTP连接超时秒数 (默认:10)
-v,--verbose 详细模式
Usage
$ ebsUsersBforce.py -H ebs.example.com -P 8000
Oracle EBS Java序列化测试
EBS python脚本,基于Apache Commons Collections 3的Java序列化sleep payloads测试。它会发送特殊的sleep payloads并检查响应时间值。如果响应时间值超过10秒,则表明测试主机极易可能受到Java反序列化的攻击。
Help
usage: javaSerDetect.py [-h] [-H HOST] [-P PORT] [-u URL] [-s] [-t TIMEOUT]
[-v]
EBS python script for Java Serialization sleep payloads testing based on Apache Commons Collections 3.
optional arguments:
-h,--port PORT EBS web port (默认: 8000)
-u URL,--url URL EBS目标URL (默认: OA_HTML/iesRuntimeServlet)
-s,--timeout TIMEOUT
HTTP连接超时秒数 (默认: 15)
-v,--verbose 详细模式
Usage
$ javaSerDetect.py -H ebs.example.com -P 8000
Oracle WebLogic级别检查
Oracle EBS XML序列化测试
Python脚本,基于CVE-2017-3506&10271的XML序列化sleep payloads测试。它会发送特殊的sleep payloads并检查响应时间值。如果响应时间值超过10秒,则表明测试主机极易可能受到XML反序列化的攻击。
Help
usage: xmlSerDetect.py [-h] [-H HOST] [-P PORT] [-u URL] [-s] [-t TIMEOUT]
[-v]
EBS python script for XML Serialization sleep payload testing based on `CVE-2017-3506 & 10271`.
optional arguments:
-h,--host HOST WebLogic host (默认: 127.0.0.1). 示例: ebs.example.com
-P PORT,--port PORT WebLogic port (默认: 7001)
-u URL,--url URL WebLogic目标URL (默认: wls-wsat/CoordinatorPortType)
-s,--timeout TIMEOUT
HTTP连接超时秒数 (default: 15)
-v,--verbose 详细模式
Usage
$ xmlSerDetect.py -H ebs.example.com -P 7001
工具地址:https://github.com/sahabrifki/erpscan