发布网友 发布时间:2023-04-15 03:04
共1个回答
热心网友 时间:2023-10-14 02:16
要连接远程的 Oracle 数据库 需要知道 SID 用户名 密码 当然还有最重要的 IP 地址 SID 如果被管理 员修改的话 可以利用 sidguess 来进行破解 速度非常的快 至于成功与否 就要看你的字典配置了 破解 效果如图)this width= border= ffan= done >
图 Oracle 不同的版本有大量的默认帐户密码 可是有些情况下 Oracle 数据库管理员把默认的密码给修改了 我们就要选择暴力破解了 如果帐户破解成功 登录上去 是 DBA 权限的话最好 不是的话 也可以利用 Oracle 的一些漏洞进行提权到 DBA 进入数据库后 我一般选择的是抓取其他用户的密码哈希值 然后本地 Rainbow 破解 如果同网段还有其他的 Oracle 数据库 可以抓包等待其他用户的 Oracle 登录验证 取出敏感信息 然后破解 进一步扩大战果 下面我就分别讲讲这三种破解方法及相关工具的使用 Quotation 有关 Oracle 密码的基础知识 标准的 Oracle 密码可以由英文字母 数字 # 下划线(_) 美元字符($)构成 密码的最大长度为 字符;Oracle 密码不能以 $ # _ 或任何数字开头;密码不能包含像 SELECT DELETE CREATE 这类的 Oracle/SQL 关键字 Oracle 的弱算法加密机制 两个相同的用户名和密码在两台不同的 Oracle 数据库机器中 将具有相同的哈希值 这些哈希值存储在 SYS USER$表中 可以通过像 DBA_USERS 这类的视图来访问 Oracle 默认配置下 每个帐户如果有 次的失败登录 此帐户将会被锁定 但是 SYS 帐户在 Oracle 数据库中具有最高权限 能够做任何事情 包括启动/关闭 Oracle 数据库 即使 SYS 被锁定 也依然能够访问数据库 一 远程暴力破解 由前面的基础知识 可以得知选择远程破解 Oracle 的最好帐户是 SYS 因为此帐户永远有效 在 Oracle g 以前的版本在安装的时候并没有提示修改 SYS 的默认密码 Oracle g 虽然提示修改密码了 但是并没有检查密码的复杂性 如图
//img ecity cn/img_ / / / jpg javascript:if(this width> )this width= border= ffan= done >
图
可以使用 Orabrute 工具来进行远程破解 在使用这个工具的时候 需要系统提前安装好 Sqlplus 该工具的原理很简单 就是不停的调用 Sqlplus 然后进行登录验证 帐户选择的是 SYS 密码则为 password txt 中的密码单词 只要登录成功 就会调用 selectpassword sql 脚本抓取出在 SYS USER$表中的其他用户的哈希值 然后退出程序 这里有个注意的地方 当第二次运行 Orabrute 的时候 需要删除或移动同目录下的前一次运行 Orabrute 时生成的 thepasswordsarehere txt 和 output txt 文件 Orabrute 的使用方法为 orabrute 效果如图
//img ecity cn/img_ / / / jpg width= javascript:if(this width> )this width= border= ffan= done >
图
//img ecity cn/img_ / / / jpg width= javascript:if(this width> )this width= border= ffan= done >
图
Orabrute 的破解速度比较慢 我们可以采取变通的方法来破解 如果 Oracle 的数据库版本为 Oracle g 默 认自带个通过 端口来远程管理数据库的 WEB 接口 如图
//img ecity cn/img_ / / / jpg width= javascript:if(this width> )this width= border= ffan= done >
图 当我们访问//ip: /oradb/public/global_name 时 会弹出认证信息 这种 HTTP 的基本验证 有好 多的工具可以快速破解 可以选择著名的 Hydra 我这里选择的是图形界面的 hack 设置好用户名为 SYS 选择字典 就可以破解了 速度要比通过 Orabrute 来破解快许多 效果如图 所示
lishixin/Article/program/Oracle/201311/18079