介绍
系列:Tomato(此系列共1台)
发布日期:2020年09月14日
注释:使用vmwar workstation运行虚拟机
难度:低
目标:取得 root 权限 + Flag
攻击方法:
- 主机发现
- 端口扫描
- 信息收集
- 路径爬取
- 文件包含
- 写入日志
- 内核漏洞枚举
- 本地提权
靶机地址:https://www.vulnhub.com/entry/tomato-1,557/
信息收集
主机发现
netdiscover主机发现
sudo netdiscover -i eth0 -r 192.168.239.0/24
主机信息探测
nmap -p- 192.168.239.140
nmap -p21,80,2211,8888 -A 192.168.239.140
网站探测
开局就是一个静态页面,没啥东西,访问8888端口,是个form表单,爆破无果。直接目录爆破80端口
目录爆破
使用dirb递归目录扫描和dirsearch目录爆破,没有发现任何有价值的信息,更换字典使用gobuster扫描出一个敏感目录
dirb http://192.168.239.140/
dirsearch -u http://192.168.239.140/ --full-url -R 2 -x 404 --exclude-sizes=0B
gobuster dir -r -u http://192.168.239.140/ -w /usr/share/SecLists-2022.2/Discovery/Web-Content/common.txt -t 100 -e
打开页面后,发现了phpino页面,打开之后burpsuite检测到了一段html注释信息,好家伙,这不是经典的文件包含测试代码吗?
测试一下,果然是文件包含
文件包含漏洞
首先确认到靶机是不支持远程文件包含的,我尝试获取tomato用户的id_rsa私钥,结果获取不到。
既然只能本地文件包含,那就先一把梭吧,看看都是能看到哪些文件,字典我选用了SecLists-2022.2\Fuzzing\LFI\LFI-gracefulsecurity-linux.txt
,结果发现了/var/log/auth.log
。
这是一个文本文件,记录了所有和用户认证相关的日志。无论是我们通过ssh
登录,还是通过sudo
执行命令都会在auth.log
中产生记录。因此经常被写入shell。
写入日志拿shell
- 首先验证能写入内容,发现日志里面确实记录了我刚才的ssh登录内容
- 写入一句话木马:
ssh '<?php eval(@$_POST["cmd"]); ?>'@192.168.239.140 -p 2211
发现使用“lainwith”登录ssh时,有日志记录,使用一句话木马的时候没有日志记录,说明一句话木马没有当作普通文本处理,而是当成代码执行了!【即:一句话木马当作代码执行时,日志里面才会没有记录】
- 连接webshell
很尴尬啊,nc不能用-e
才能连接,一旦连接就会瞬间断开连接,只能换用别的了。
- 反弹shell
很尴尬,使用了多种方式,就是弹不回来;想上传可以反弹shell的文件失败;最后本地开启web服务,下载反弹shell的文件才成功。
提权
介绍使用提权脚本:linux-exploit-suggeste
- 获取提权脚本
- 投递脚本
- 准备提权
第一个脏牛的不行,换用第二个试试
- 开始提权
由于靶机没有gcc环境,因此kali编译完成后投递到靶机上
总结
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/134218.html