【ISCC2023】阶段一|内网服务器漏洞利用(CVE-2018-7600)
前些日子比赛结束了,还是有很多小伙伴想要我们这次解题的部分WP,我们这次给大家分享一下实战题的解题思路,其中遇到的一些小坑也是其中代理的问题,解决完成之后一切都好说了。# 审题
![](https://docs.qsnctf.com/img/【ISCC2023】阶段一|内网服务器漏洞利用/image-20230503030200805.png)
我们首先需要使用Windows系统操作,因为系统并没有给我们提供MacOS和Linux环境的相关程序(当然,你也可以找)。
# 注意事项
设置连接后,然后访问Server1,这个时候会可能有些问题,比如你有代理插件,设置**“无代理”**会出现无法访问的情况。
![](https://docs.qsnctf.com/img/【ISCC2023】阶段一|内网服务器漏洞利用/image-20230503030336090.png)
我们这时候需要设置一个系统代理,为什么呢?
!(https://docs.qsnctf.com/img/【ISCC2023】阶段一|内网服务器漏洞利用/image-20230503031806588.png)
因为这个环境很坑的帮我们设置了一个Socks5代理,如果你没有发现这个问题可能都不会知道有这个代理。(hha,大家看到这篇文章的时候可能已经不需要这个环境啦!)
我们访问这个脚本地址,拿到脚本:
```vbscript
var myproxy = "SOCKS5 127.0.0.1:1080; "
var subNet = ["10.119.4.206", "172.18.0.2"]
var subMask = ["255.255.255.255", "255.255.255.255"]
var direct = 'DIRECT;';
function alert_eval(str) { alert(str + ' is ' + eval(str)) }
function FindProxyForURL(url, host) {
for (let index=0; index < subNet.length; index++) {
if(isInNet(host, subNet, subMask)) {
return myproxy;
}
}
return direct;
}
```
**其中表明:你设置了一个Socks5的代理,代理IP地址为127.0.0.1:1080**
# 信息收集
访问172.18.0.2(靶机内网IP)
!(https://docs.qsnctf.com/img/【ISCC2023】阶段一|内网服务器漏洞利用/image-20230503031826301.png)
我们发现访问到了一个Drupal 7的环境,这个环境最容易出现的漏洞(影响较大的漏洞)我们使用最最最笨的办法:
![](https://docs.qsnctf.com/img/【ISCC2023】阶段一|内网服务器漏洞利用/image-20230503031133137.png)
也就是`CVE-2018-7602`和`CVE-2018-7600`,这两个漏洞都都是远程代码执行。
我们使用Msf看一下这个漏洞的信息
![](https://docs.qsnctf.com/img/【ISCC2023】阶段一|内网服务器漏洞利用/image-20230503032022535.png)
![](https://docs.qsnctf.com/img/【ISCC2023】阶段一|内网服务器漏洞利用/image-20230503032046476.png)
得到了一个比较广的范围,那么我们其实可以直接实验了,没有必要再追究版本问题了。
# 漏洞利用
Github找个exp:https://github.com/pimps/CVE-2018-7600
![](https://docs.qsnctf.com/img/【ISCC2023】阶段一|内网服务器漏洞利用/image-20230503032414269.png)
首先安装requests、bs4(我相信大家都装了)
```powershell
python ./drupa7-CVE-2018-7600.py -p socks5://127.0.0.1:1080 http://172.18.0.2/
```
执行命令,应该能拿到 uid=33(www-data) gid=33(www-data) groups=33(www-data)
如果上一步成功了,则下面就可以执行命令了,如果没有成功,那可能是环境问题或者是你的代理问题。
````powershell
./drupa7-CVE-2018-7600.py -c "pidof VehicleController" -p socks5://127.0.0.1:1080 http://172.18.0.2/
````
使用上面的命令就能拿到进程号
![](https://docs.qsnctf.com/img/【ISCC2023】阶段一|内网服务器漏洞利用/image-20230503033731139.png)
当然,我们也可以用msf一把梭,这样也可以哦。
环境已经复现到平台,可以直接在平台中练习。
![](https://docs.qsnctf.com/img/【ISCC2023】阶段一|内网服务器漏洞利用(CVE-2018-7600)/image-20230503045331915.png)
![](https://docs.qsnctf.com/img/【ISCC2023】阶段一|内网服务器漏洞利用(CVE-2018-7600)/image-20230503045248311.png)
# 备注
备注:本篇文章在比赛结束后进行解密,供大家查看。文章发布于5月3日,在比赛结束之前一直是以加密方式保存,没有进行泄露。解密日期:2023年05月29日。
页:
[1]