测试机器:
1、win 2003 安装oracle 配实例 起监听
2、kali linux metasploit armitage
数据库常见漏洞:
1.默认、空白及弱用户名/密码
2.SQL注入
3.启用不必要的数据库功能
4.缓冲区溢出
5.特权升级
6.拒绝服务攻击
7.数据库未打补丁
8.敏感数据未加密
SQL数据库典型攻击方式:
1.强力(或非强力)破解弱口令或默认的用户名及口令
2.特权提升
3.利用未用的和不需要的数据库服务和和功能中的漏洞
4.针对未打补丁的数据库漏洞
5.SQL注入
6.窃取备份(未加密)的磁带
测试内容:
1、metasploit中集成了很多oracle测试工具,包括扫描、分析、渗透等
2、采用auxiliary/admin/oracle/oracle_login对oracle弱口令进行扫描
3、采用auxiliary/admin/oracle/oracle_sql对oracle进行相关查询,需要用户名密码
查看版本信息select * from v$version
查看所有账号情况Select username,password,account_status from dba_users
4、采用auxiliary/admin/oracle/sid_brute对oracle实例进行猜解
我的目标机器里面只创建了orcl、orcl2两个实例,这里为什么多了一个“PLSExtProc”呢?
oracle装好后默认的PLSExtProc是什么意思
默认安装时,会安装一个PL/SQL外部程序(ExtProc)条目在listener.ora中,是oracle为调用外部程序默认配置的监听,它的名字通常是ExtProc或PLSExtProc,但一般不会使用它,可以直接从listener.ora中将这项移除,因为对ExtProc已经有多种攻击手段了,在不使用外部程序时,oracle也是建议删除的。
PLSExtPro 是pl/sql external procdure 的意思,就是在pl/sql中调用外部语句,如c,java写的过程。
现在,Oracle已经全面支持JAVA了,这东西也就过时了,之所以继续保留是考虑到兼容以前老版本的数据库实例。
有时可能会在多个数据库实例之间拷贝listener.ora,请检查拷贝来的文件中是否含有不需要的服务,确保只留下的确需要的服务项目,减少监听器受攻击的面。
5、采用auxiliary/scanner/oracle/tnslsnr_version查看oracle运行环境和版本
采用auxiliary/admin/oracle/tnscmd得到更多信息
6、采用auxiliary/admin/oracle/post_exploitation/win32exec执行系统命令,一直出错,下次另找台机器试试