Oracle EBS渗透测试工具

ERP安全是IT安全的独立部分。如今,ERP代表了各种基于不同技术编写的各种工具和服务。在安全领域拥有适当的知识和便于管理的工具是至关重要的。

当我们在探索Oracle电子商务套件安全性时,我们注意到市场上缺乏可以帮助我们简化安全评估,便利且免费的安全工具。有很多各种各样的模块或脚本也只是随随便随便的检查一两个问题。为此,我们决定开发自己的解决方案,第一个免费的Oracle电子商务套件安全扫描器 - ERPSCAN EBS Pentesting tool。

这是一个由我们研究团队开发的对多种EBS exploits的“封装”。所有模块都用python语言表示。目前,有四个主要模块(其中1个使用EBS用户密码解密器):

  • EBS DB用户爆破;
  • EBS用户爆破;
  • EBS Java序列化测试;
  • EBS XML序列化测试。

目前,我们只发布了其中的四个。如果这款工具反馈良好,我们将继续这个项目并发布更多我们的私有模块。

测试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

 

 

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...