Hack The Box Teacher Writeup

1.nmap端口扫描发现80端口有web服务,可以看到如下页面
web服务

2.在gallery.html页面发现有一个元素没有加载
线索页面

3.通过开发者模式可以确定,未加载的元素是images/5.png
问题元素

4.下载该元素并查看,可以发现Giovanni帐户和一个未完结的密码,它缺少了一个字符
帐户密码提示

5.利用脚本生成破译字典

for i in "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ)!@#$%^&*(":
print 'Th4C00lTheacha' +i

6.利用dirbuster对网站目录进行FUZZ,可以发现新的页面moodle,组合密码字典和帐户可以得到登录凭据 :giovanni Th4C00lTheacha#

后台登录

7.moodle框架存在一处命令注入,漏洞成因和利用详解见https://blog.ripstech.com/2018/moodle-remote-code-execution/
漏洞详解

8.登录后需要点击左侧的ALG标签然后是右上角齿轮,选择Turn editing on
Turn editing on

9.随后添加一个测试
添加测试

10.随意一个测试名称
添加测试名称

11.点击编辑按钮,进入编辑
编辑测试

12.点击添加按钮,新建一个问题
新建问题

13.选择计算类问题添加
添加问题

14.随意添加问题名称和备注后,表达式部分填写poc:/{x}{a/$_GET[0]/(1)//}{a/$_GET[0]/({x})//}/ Grade选择100%
poc

15.保存后在随后的页面点击next page,随后在url最后添加反弹命令
反弹shell

16.在shell中可以查看网页内容,并提取数据库中的帐户,其中Giovannibak密码能够破解,利用该密码su成为giovanni帐户
帐户信息

17.在giovanni帐户的home目录下发现work目录,在/usr/bin目录下发现一个特权脚本backup.sh
特权脚本

18.这个是root帐户创建,具备最到权限,普通用户可以运行。它压缩/home/giovanni/work/courses目录中的所有东西,再把压缩包解压至/home/giovanni/work/tmp路径下。利用这个特性,我们rm -r 删除原始的courses目录,并创建root目录的软连接即ln -s /root courses。这样脚本会压缩root文件夹并解压相关内容到tmp
19.在解压目录中拿下root.txt
root flag

推荐阅读更多精彩内容