【IT168 专稿】对于中小企业来说通过数据库来管理企业内部应用信息是最直接和简单的方法,因此很多企业都通过专业的数据库管理程序实现此方法。正巧笔者所在企业使用的就是这种跨平台数据库——Sybase,所以笔者也主要为各位IT168的读者介绍如何恢复Sybase数据库密码。
一,Sybase数据库管理帐户及密码概述:
对于Sybase数据库来说丢失密码后的恢复往往是比较复杂的,因为Sybase对于其默认的管理帐户防护措施是非常高的,即不会发生SQL SERVER那样SA对应的空密码漏洞,也不会产生MYSQL数据库的root弱口令。一般来说Sybase通过dbo帐户来直接连接和管理数据库,数据表和相应的字段。因此本文也主要针对破解DBO帐户的密码来实现还原SYBASE数据库密码的功能,还原的DBO帐户权限是非常高的,具备针对数据库各个表与字段的读写权限。
二,巧改字段还原SYBASE数据库密码:
我们要实现巧改字段还原SYBASE数据库功能首先要选择一个合适恰当的SYBASE数据库管理工具,笔者选择的是专门的SYBASE CENTRAL。下面我们就来看看如何一步步骤还原SYBASE数据库密码。
(1)环境简介:
笔者所在企业一直使用着一套基于SYBASE数据库的MIS管理系统,最近由于原管理员离职而且没有将密码等隐私数据顺利转交,所以企业MIS管理系统对应的SYBASE数据库无法顺利管理,平时只能够通过前台的基于TOMCAT的WWW服务的“管理员”帐号来进行简单配置,但是这个所谓的管理员权限并不高。因此还原并破解SYBASE数据库密码的工作就落到了笔者身上。
(2)初次使用弱口令进行破解:
首先笔者决定针对几个管理帐户进行弱口令暴力猜解。
第一步:通过“开始”->“程序”->“SYBASE SQL ANYWHERE 8”->SYBASE CENTRAL启动SYBASE管理工具。(如图1)
第二步:启动Sybase central后我们通过其管理工具连接本地数据库,在adaptive center anywhere 8选项上点鼠标右键选择“连接”。(如图2)
第三步:在打开的“连接”设置窗口中通过“数据库”标签里的“浏览”按钮定位本地需要破解的数据库文件——cmis30.db。(如图3)
第四步:然后返回到“标识”标签下针对几个常见的口令进行弱口令猜解,不过都没有成功,系统提示——“无法连接到数据库,无效的用户ID或口令”。这表明初次使用弱口令进行破解失败。(如图4)(如图5)
(3)巧改字段还原SYBASE数据库密码:
接下来我们使用巧改字段的方法来还原SYBASE数据库密码,之前笔者也对SYBASE数据库密码破解进行了研究,发现网络上存在的方法都不太实用,要嘛需要提前知道SA帐号的密码通过该帐户来还原其他帐户,要嘛解决办法根本不起作用。最终经过反复研究笔者发现了这个巧改字段还原SYBASE数据库密码的办法,笔者在SQL ANYWHERE 7,8,9上分别测试成功。具体步骤如下。
第一步:首先我们需要下载并安装一个二进制编辑工具,笔者选择的是Ultraedit 14中文版。下载安装然后选择相应功能组件,我们保持默认即可。(如图6)
第二步:复制必须文件到本地硬盘,这里需要说明一点的是SYBASE数据库的信息都是以二进制进行存储的,所以我们直接使用二进制编辑器可以查看里面的内容,再结合已经知道的密码保存位置就可以实现破解还原数据库密码的目的。(如图7)
第三步:完成所有安装工作我们点“完成”按钮自动启动ultraedit主程序。(如图8)
第四步:接下来我们通过“文件”->“打开”找到之前要破解密码的数据库文件——cmis30.db,打开后可以看到对应的二进制代码。(如图9)
第五步:接下来我们通过“搜索”功能查找内容为“44 42 41”的字段,查找到的第一个符合信息就是DBA密码存储区,这个字段代表的是DBA意思,而后面的就是保存的密码段。(如图10)
第六步:接下来我们将如下代码依次敲入数据库文件中并保存——24 90 3D 40 7A F5 7C B1
CC DB 89 69 30 43 CF 00 2C E7 8B 3A BC 6C 7A CB
DE 27 05 29 07 10 33 33 0A BE 00 3E BC 01 59 01
59 01 59 01 4E 01 4E 01 4E 17。(如图11)
第七步:通过查找“DBA”(二进制使用“44 42 41”),定位到一个位置,观察这个区域可以发现前面一般有“dbo”、“PUBLIC”,后面有“SYS”。这个区域就是ASA保存用户口令的数据段。按照上面提示的代码改好后,保存数据库,DBA密码就是“SQL”了。
第八步:接下来我们再次通过sybase central管理工具打开cmis30.db数据库文件。(如图12)
第九步:在连接数据库时直接使用用户名为dbo,密码是sql即可顺利连接。(如图13)
第十步:顺利连接后我们可以看到该数据库中对应的用户和组关系,包括public用户组以及其他几个默认用户,当然也可以直接通过sybase central查询数据库中的数据表以及关键字段,总之有了管理帐户与密码我们就可以通过SQL数据库查询语句来所以遍历数据库内容了。(如图14)
(4)几个破解技巧:
对于破解SYBASE数据库来说我们还应该掌握几个技巧,下面笔者将其罗列。
首先有些时候我们可能只知道管理员帐号而且默认的DBA帐户被更改了名字或者禁用,这时我们就不能够使用上文的方法来破解了,可以解决的办法是先通过sybase central的“实用程序”->“创建数据库”来建立一个新的空数据库,然后将其帐户信息进行更改,例如我们只知道破解的数据库管理员帐号为ZHANG密码不知道,那么可以通过在这个空数据库中建立一个ZHANG帐户,这样就可以继续通过上文的方法来巧改字段还原SYBASE数据库中ZHANG帐户对应的密码保存区信息了。
第一步:通过sybase central管理工具的“实用程序”->“创建数据库”来启动创建向导。(如图15)
第二步:接下来选择“在这台计算机上创建数据库”,然后点“下一步”按钮继续。(如图16)
第三步:通过“浏览”按钮选择数据库文件保存位置,默认只需要输入名称即可,系统会自动加上.db后缀名的。(如图17)
第四步:选择是否创建事务日志文件,这个根据实际需要选择即可,当然我们仅仅是为了破解密码用的话就不用选择创建日志文件了。(如图18)
第五步:最后是询问是否加密数据库,我们一定不要点加密,否则根本无法实现破解工作,即使能够定位到密码存储区保存的信息也是经过加密的,无法用上文介绍的方法破解和还原密码。(如图19)
第六步:数据使用的页面大小我们保持默认设置——2048字节即可。(如图20)
第七步:最后点“完成”按钮结束创建数据库向导,系统会自动建立对应的数据库文件。之后我们再按照前文介绍的方法建立对应的ZHANG帐户以及巧改字段来还原SYBASE数据库密码即可。(如图21)
小提示:
在我们针对数据库文件的字段进行更改之前一定要将其属性进行修改,如果数据库文件在“只读”状态我们是无法编辑其内容的,取消文件属性“只读”选项即可解决此问题。(如图22)
三,总结:
本方法只适用于数据库文件没有被加密的情况,如果在创建数据库文件时选择了加密数据库,那么本方法将不起任何作用。另外如果默认删除了DBO帐户而使用其他不知名的管理员帐户来管理数据库的话,我们也无法通过巧改字段的方法来还原SYBASE数据库的密码。本方法在SYBASE ANYWHERE 7,8,9上均进行了测试而且破解有效。