[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
系统服务
> 详细
破解Oracle数据库的密码
时间:
2015-12-01 22:29:51
阅读:
498
评论:
0
收藏:
0
[点我收藏+]
要连接远程的 Oracle 数据库,需要知道 SID,用户名, 密码,当然还有最重要的 IP 地址。SID 如果被管理 员修改的话,可以利用 sidguess 来进行破解,速度非常的快,至于成功与否,就要看你的字典配置了。破解 效果如图 1。
图 1
Oracle 不同的版本有大量的默认帐户密码。可是有些情况下,Oracle 数据库管理员把默认的密码给修改了, 我们就要选择暴力破解了 。如果帐户破解成功 ,登录上去,是 DBA 权限的话最好 ,不是的话,也可以利用 Oracle 的一些漏洞进行提权到 DBA。进入数据库后,我一般选择的是抓取其他用户的密码哈希值,然后本地 Rainbow 破解。如果同网段还有其他的 Oracle 数据库,可以抓包等待其他用户的 Oracle 登录验证,取出敏感 信息,然后破解。进一步扩大战果。下面我就分别讲讲这三种破解方法及相关工具的使用。
Quotation
有关 Oracle 密码的基础知识
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 虽然提示修改密码了,但是并没有检查密码的复杂性。如图2
图 2
可以使用 Orabrute 工具来进行远程破解,在使用这个工具的时候,需要系统提前安装好 Sqlplus,该工具的 原理很简单,就是不停的调用 Sqlplus 然后进行登录验证,帐户选择的是 SYS,密码则为 password.txt 中的密 码单词。只要登录成功 ,就会调用 selectpassword.sql 脚本抓取出在 SYS.USER$表中的其他用户的哈希值 , 然后退出程序。这里有个注意的地方,当第二次运行 Orabrute 的时候,需要删除或移动同目录下的前一次运行 Orabrute 时生成的 thepasswordsarehere .txt 和 output.txt 文件。
Orabrute 的使用方法为:
orabrute
效果如图 3,4
图 3
图 4 Orabrute 的破解速度比较慢,我们可以采取变通的方法来破解,如果 Oracle 的数据库版本为 Oracle10g。默 认自带个通过 8080 端口来远程管理数据库的 WEB 接口,如图 5
图 5
当我们访问 http://ip:8080/oradb/public/global_name 时,会弹出认证信息,这种 HTTP 的基本验证,有好 多的工具可以快速破解,可以选择著名的 Hydra,我这里选择的是图形界面的 wwwhack,设置好用户名为 SYS, 选择字典,就可以破解了。速度要比通过 Orabrute 来破解快许多。效果如图 6 所示
图 6
二、以 DBA 权限登录后的破解
当得到一个远程登录的帐号后,可以使用 Checkpwd 来验证数据库中所有的缺省用户的默认密码。Checkpwd 是采用远程破解的,速度比较慢。不过能清晰的看出每个帐户的状态(过期,锁定),Checkpwd 的使用方法为:
checkpwdusername/password@//ip:port/sidpasswordfile
效果如图 7 所示
图 7
我们也可以使用 Sqlplus 直接登录到 Oracle 数据库,然后使用 select username,password form dba_users 命令查看数据库中的用户名和密码,然后本地用 Cain 来破解,如图 8 所示。
图 8
本地破解速度是非常快的,我推荐先选择字典破解,在 Cain 中点选的 Cracker 标签,然后右键点击先前导入 好的用户名和哈希值,选择"Dictionary Attack"选项,就可以字典破解了。效果如图 9,图 10。
图 9
图 10
字典攻击无效果的时候,可以采用 RainBow 破解,Cain 自带了 Rainbow 表生成器,打开 Winrtgen,点选"AddTable",在"Hash" 栏中选择 Oracle,在"Min Len" ,"Max Len" 分别表示是最小密码长度和最大密码长度 ,"Charset"选择密码中的字符集,然后点"Ok"按钮就能开始生成 Rainbow 表了,如图 11
图 11
生成表的时间要看你的 CPU 和你刚才的 Rainbow 配置了,生成的表会占用大量的硬盘空间。不过好处是一 次生成可以多次使用。使用 Rainbow 方法进行破解的时候,会占用大量的内存。可是速度非常的快,效率也 很高。
三、同交换机/集线器下的其他 Oracle 数据库破解
THC 组织新发布了一款叫 Orakel 的工具,该工具分析,破解 Oracle 数据库的脆弱远程认证机制。经我测试, 该工具仿佛只对 Oracle8i 的远程登录认证有效果。不过随软件附带的文档提供了一种攻击方法 。如果是在同 集线器(HUB)下的其他端口有 Oracle8i 数据库,我们知道集线器(HUB)是在同一个冲突域和广播域中的。可以 直接使用 Ethereal 此类的抓包工具抓取其他端口的用户连接 Oracle8i 数据库的认证信息。我测试的时候选择的是 Ethereal 抓包工具,因为该工具有个非常好的功能"Follow TCP Stream",可以利用这个功能,快速的找 出认证包中的 AUTH_SESSKEY,AUTH_PASSWORD,连接用户名的值 ,然后把相关的值填入 OrakelSniffert 工具中,就可以破解了,OrakelSniffert 工具支持字典破解和暴力破解,破解速度非常快。效果如图 12,图13
图 12
图 13
如果是在交换机的环境下 (SWITCH),每个端口都是一个冲突域 ,我们无法直接的捕捉到其他端口的信息 , 但可以利用 ARP 欺骗技术或配置交换机的端口分析功能(SPAN),让其他端口的数据包流量流经本地,实际应 用中,最常用的还是 ARP 欺骗技术,然后使用 Ethereal 抓取认证过程,破解的方法是一样的。
四、防护
由基础知识 1 得知,默认情况下设置标准的 Oracle 密码是很不复杂的, 但可以使用双引号来突破 Oracle 的 设置密码限制,通过使用双引号能够添加以下额外的字符
%^@$*()_ ~`-=[{]}\|;:’,
在 Oracle 中添加并赋予用户 DBA 权限的命令如下:
SQL> create user minnie identified by "%^@$*()_ ~`=-[}[{\:’";
SQL> grant dba to minnie;
效果如图 14 所示:
图 14
通过设置如此复杂的密码,可以在一定程度上防止密码的破解。
破解Oracle数据库的密码
原文:http://www.jb51.net/hack/5116.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!