靶机地址 https://download.vulnhub.com/tre/Tre.zip
难度 中
目标 root权限 + 1个flag
基于VMware启动
kali 192.168.152.56 靶机 192.168.152.68
信息收集
端口扫描
开放了三个端口
web测试
先看看80端口
就光秃秃的一个图片,扫一扫目录
访问8082也是同样的图片
使用dirsearch扫描出adminer.php路径,拼接访问
一个数据库的登录口
扫出一个cms的目录,访问是一个音乐的什么东西
这个cms的站点的login和create accout都是失效了,并没有用,8082端口没有扫描出任何的东西。
扫描出info.php 访问是php的信息,以及/system目录但是需要账号密码
突破边界
尝试admin admin没想到直接登录进去了,是一个什么mantis的站点
注册和忘记密码都需要邮箱来验证
在网上寻找一下这个mantis的站点看有没有什么历史漏洞
网上有点杂,也不知道这个系统的版本,在kali里面看一看有没有exp
还是挺多的,从下面的高版本开始尝试
这个48818.py的使用需要修改一下脚本内容
这里需要修改对应的ip和实际访问的路径/system ,以及http的认证头,这个认证头可以抓包获取
这个脚本其实是两个漏洞一起联合利用的脚本,分别是CVE-2017-7615 的密码重置和CVE-2019-15715认证后的rce漏洞
kali监听本地4444端口
然后python2 运行脚本
成功的将shell弹了回来
进来之后简单的看了一下,发现存在一个tre的用户,然后没有在tre的家目录找到有用的信息。
升级一下shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
然后上信息收集脚本linpeas.sh收集了一下信息
发现了一些配置里的密码
cat /var/www/html/mantisbt/config/config_inc.php
联想到上面的那个数据库的登录框,也许可以去那里使用
$g_hostname = 'localhost';
$g_db_type = 'mysqli';
$g_database_name = 'mantis';
$g_db_username = 'mantissuser';
$g_db_password = 'password@123AS';
然后查询一下这个mantis_user_table的内容,里面是mantis的用户的登录密码
发现了除了Administrator还有个tre的用户,有个realname而且比较复杂
Tr3@123456A!
不过后面的MD5加密的结果没有解出来。
数据库是mysql启动了走不了提权的路
后面提权没找到方向,又测试了tre的ssh弱口令登录,发现Tr3@123456A! 是他的ssh登录密码
提权
尝试提权
发现有个shutdown可以使用
寻找用户可写的文件
find / -writable -type f -not -path "/proc/" -not -path "/sys/" -not -path "/var/*" -exec ls -l {} ; 2>/dev/null
发现一个check system
访问check system
这个脚本作为一个服务运行时,会立即记录下服务的启动时间,然后进入一个无限循环,每秒输出一次 "Checking..."。配合前面的shutdown关机命令,也许就是修改这个文件让你写个shell然后重启执行这个脚本然后执行我们修改的内容
然后执行/sbin/shutdown关机 同时监听kali的7780
立即自动的重启了,然后成功接收到shell,拿到flag
后记:
考了一个mantis系统的历史漏洞,我在现实环境中确实碰到过这个系统,另外提权方式也比较有意思。