[Oracle]必备知识点

默认账户

  • 默认可用账户
    sys:change_on_install 用于执行数据库管理任务
    system:manager 用于执行数据库管理任务
    dbsnmp:dbsnmp 用来监控和管理数据库相关性能的用户
    sysman:sysman 用于 EM 管理的用户
    使用 sqlplus建立连接,口令应填写 change_on_install as sysdba等
  • 默认锁定账户
    scott:tiger 用户包括CONNECT和RESOURCE数据库角色

修改口令及解锁

SQL> alter user scott identified by mypassword;

SQL> alter user scott account unlock;

更多信息请参考《系统默认ORACLE用户及口令》

SQLPlus连接

利用系统认证建立本地连接

操作系统认证,不需要数据库服务器启动listener,也不需要数据库服务器处于可用状态。比如我们想要启动数据库就可以用这种方式进入sqlplus,然后通过startup命令来启动。

sqlplus /nolog
SQL> connect / as sysdba

利用用户名口令建立本地连接

连接本机数据库,不需要数据库服务器启动listener,但是需要数据库服务器处于可用状态。

sqlplus user/pass
sqlplus sys/change_on_install as sysdba

建立远程网络连接

远程网络连接的常用方法,需要数据库服务器启动listener,且处于可用状态。

sqlplus user/pass@//ip:port/sid
eg: 
sqlplus sys/change_on_install@//192.168.10.12:1521/orcl as sysdba
sqlplus scott/tiger@//192.168.10.12:1521/orcl

查询权限命令

查询用户、权限、角色

  • 查看当前用户
    show user;

  • 查看所有用户:
    select * from dba_users;
    select * from all_users;
    select * from user_users;

  • 查看用户系统权限:
    select * from dba_sys_privs;
    select * from session_privs;
    select * from user_sys_privs;

  • 查看用户对象权限:
    select * from dba_tab_privs;
    select * from all_tab_privs;
    select * from user_tab_privs;

  • 查看所有角色:
    select * from dba_roles;

  • 查看用户所拥有的角色:
    select * from dba_role_privs;
    select * from user_role_privs;

  • 以上命令的进一步解释
    DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限
    USER_SYS_PRIVS: 查询当前用户所拥有的系统权限
    SESSION_PRIVS: 查询当前用户所拥有的全部权限
    ROLE_SYS_PRIVS: 查询某个角色所拥有的系统权限 注意: 要以 SYS 用户登陆查询这个视图,否则返回空.
    ROLE_ROLE_PRIVS: 当前角色被赋予的角色
    SESSION_ROLES: 当前用户被激活的角色
    USER_ROLE_PRIVS: 当前用户被授予的角色

弱口令探测

服务器发现

msf > use auxiliary/scanner/oracle/tnslsnr_version
msf auxiliary(scanner/oracle/tnslsnr_version) > set RHOSTS 192.168.10.0/24
msf auxiliary(scanner/oracle/tnslsnr_version) > set THREADS 5
msf auxiliary(scanner/oracle/tnslsnr_version) > run

破解SID

// oracle v9.2.0.8 -
msf > use auxiliary/scanner/oracle/sid_enum
// oracle v9.2.0.8 +
msf > use auxiliary/admin/oracle/sid_brute
msf > use auxiliary/scanner/oracle/sid_brute

弱口令探测

  • metesploit
    需要安装oracle客户端,安装ruby-oci8。
msf > use 
  • hydra
    因为需要用到OPT选项,网上信息非常少,貌似也需要驱动支持。
root@kali# hydra 

数据库口令破解

  • 获取DBA用户及加密口令
    利用已有DBA用户连接数据库,执行如下命令。
SQL> select username,password from dba_users;
USERNAME           PASSWORD
------------------ --------------------
SYS                D4C5016086B2DC6A
SYSTEM             D4DF7931AB130E37
...
  • 暴力破解加密口令
    利用hashcat暴力破解加密口令。
[ Hash modes ]
3100   Oracle H: Type(7+)
112    Oracle S: Type(11+)
12300  Oracle T: Type(12+)

root@kali# hashcat -a 3 -m 3100 -o cracked.log hash.list ?l?l?l?l?l --remove --force


系统提权

你可能感兴趣的:(运行维护)