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
通过设置如此复杂的密码,可以在一定程度上防止密码的破解。
发表评论