破解Oracle数据库的密码

所属分类: 网络安全 / 加密解密 阅读数: 131
收藏 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

通过设置如此复杂的密码,可以在一定程度上防止密码的破解。
更多精彩内容其他人还在看

WEBSHELL提升权限又一招(Mysql漏洞)

S-serv提权方式人人都会用了,搞得现在的主机都配置得非常安全,看来攻击手法的层出不穷也是造成中国网络安全进步的一大原因之一,还有其他的pcanywhere获取密码,替换服务,等等。但是现在也没这么好搞了,随着安全意识的提高,之前的方式估计不怎么管用,现在我给大家介
收藏 0 赞 0 分享

常见保护的攻击:序列号方式

(1)序列号保护机制   数学算法一项都是密码加密的核心,但在一般的软件加密中,它似乎并不太为人们关心,因为大多数时候软件加密本身实现的都是一种编程的技巧。但近几年来随着序列号加密程序的普及,数学算法在软件加密中的比重似乎是越来越大了。  
收藏 0 赞 0 分享

谈谈软件的破解原理

从本章开始,我们来一步一步学习Crack软件(80%读者昏死过去,且不省人世...另有20%在寻找附近可以用来打人的东西) 不可不说一下学习破解的三个阶段: 初级,修改程序,用ultraedit等工具修改exe文件,称暴力破解,简称爆破 中级,追出软件的
收藏 0 赞 0 分享

用Dos命令进行加锁 防病毒格式化硬盘

越来越多的病毒程序进行对计算机数据的破坏,有些病毒更直接格式化硬盘分区。 其实,我们可以用小命令来阻止病毒程序对硬盘的格式化等破坏操作。 用“记事本”打开C盘根目录下的Autoexec文件,并在其中添加如下语句:
收藏 0 赞 0 分享

用Dos命令解开远程NT服务器用户密码

如知道一个NT帐户与密码,就可以用 net use \主机ipc$Content$nbsp;"密码" /user:"用户" 与远程主机建立连接,这是每一个黑客或是梦想成为又或是正在努力成为黑客的朋友都知道的方法,甚至连我
收藏 0 赞 0 分享

对某ASC加密网马的破解和利用

QQ群中,有人在叫卖网马。网友花钱获得一个共享给我,让我看看。于是有了下面的这篇文章。   1.网马初探   在浏览器中打开网马,这个网马的功能比较简单,主要用来上传功能更强的网马。比较有特色的是可以在目标网页的上传漏洞,自己修改修改配置。查看该网马
收藏 0 赞 0 分享

教你利用IAT hook实现windows通用密码后门

先不管是不是真的有,我们可以自己实现一个这样的后门。 先简单介绍一下windows登陆过程中的一些过程。 winlogon进程用gina.dll获取用户名和密码,通过LPC传给lsass进程。 然后lsass进程调用默认认证包msv1_0.dll来验证密码的对错
收藏 0 赞 0 分享

网页加密完全攻略

现在专业性的网站越来越多,许多网友们都在网上建立起了自己的小家。不过辛辛苦苦制作的网页被人拿去改头换面却是件非常痛心的事,所以大家都想保护自己独创的作品,为自己的网页上把锁,今天就让我带大家了解一下如何给我们的网页加上一把密码锁。 一、常用JavaScript
收藏 0 赞 0 分享

总结一些加密算法

有一些是之前学破解写注册机时写的,一些是我改写某些兄弟的代码来的,写的不好多多指教: {======================================================= 学习破解,写注册机的一些函数集
收藏 0 赞 0 分享

UPX程序破解过程

入门级的破解,用ollydbg 我用UPX将NOTEPAD.EXE加壳,选择OllyDbg 1.09d来脱壳。首先加载被加壳的程序, 程序直接定位到01014110 $60 PUSHAD处,选择CTRL F 输入查找内容"POPAD", OD
收藏 0 赞 0 分享
查看更多