信息收集
nmap
dirbuster
和 gobuster
首页,看了眼源码没有有用信息。
manual
界面是帮助界面
phpmyadmin
没权访问
moodle
页注意这个Giovanni Chhatta
名字可能会有用。
来到了登陆界面,尝试了几个常用密码组合就去其他地方再收集信息去了。
然后这几个可以进入到一个新的界面。
继续看源码,找到一个5.png
,并且后面还有console
。
开机
尝试打开的时候却出现了问题。
用curl get到内容后获得了缺少最后一个字符的密码Th4C00lTheacha
。
直接爆破,只有一个与其他所有都不同。
一看是重定向,显然密码是Th4C00lTheacha#
,因为验证成功重定向到登陆后的界面了。
利用搜索引擎看看有没有
于是发现了moodle
的相关漏洞,比较好奇第三个漏洞。
经历漫长的搜索和尝试,又找到了一篇和第三个漏洞有关的文章
可以看到要在一个能输入公式的地方操作。
于是继续搜索怎么新建测试。
这些先暂时不管呢,然后点Save and display
。
然后编辑测验,创建一个calculated
。
名字随便取一个
答案这有三个,但是不确定都能用所以从第二个开始试试。
搞忘设置分数,报错了,别忘了设置分数。
提交完以后回到这个界面。
最后到这个界面后就找不到下一页这个选项,估计已经设置完毕了。
但是没找到可以放参数的地方,那边文章中间还有一段演示视频,跟着做应该就可以,尝试了ls和cat没有反应,估计是不会直接返回
尝试了python -c和bash -c都不能反shell,是不是因为选的公式负载问题?还是因为目标设置为体?那怎么办?搜索。
结果还是不行,那就用4个,先点questions
。
找到自己的配置再点齿轮,修改完以后操作就和之前一样。
这次就成功了,
为什么用python没成功呢是不是因为数学计算负载问题,验证了一下确实是。
先进行简单的判断来收集些信息。
先试试会不会有密码复用情况,没有。
查找不到对该用户有利的信息,只能在该用户默认位置找信息了。
找到个moodledata
文件。
里面找到了config.php
文件。
在文件里面找到了一些信息name:moodle;user:root;pass:Welkom1!
,看来是数据库的登录凭证。
在woodle
数据库mdl_user
表找到了Giovannibak
的信息。
利用md5解密得到expelled
。
用上述密码成功登录。
查看SUID文件和该用户的文件。
位于/home/giovanni/work/tmp
的一个gz
文件每分钟会刷新或者被修改一次。
监视进程的时候发现有一个时间任务。
该找的都找了还是没有任何头绪,是我命令不对么为什么感觉没有查找完全。哎还真输错了,find -user 一直打错为-name。
文件太多了看谁谁都像突破口。
试探性地看了几个发现不是,又在/usr/bin
找到一个sh
文件,眼睛都要看瞎了。
应该就是这个脚本每分钟以root执行一次,看了看权限没有写入权限。
查看隐藏权限也没有a(append only),好吧,添加bash命令计划失败。
先到/home/giovanni/work
目录,然后解压。再到tmp
目录,然后再解压,重点来了,他对tmp
里面的所有文件进行递归赋权,但是该怎么利用呢。
最开始想的弄个符号链接把/root
连接到/tmp
,然后等一分钟给root符号链接777权限,就应该能访问root了。但是我这不行。
等等,他先cd到/home/giovanni/work
。
然后在这个的基础上再cd到tmp
,也就是/home/giovanni/work/tmp
,而不是/tmp
。
如果遇到权限不够耐心等待一会,然后发现root.txt仍然没有更改权限。
尝试了半天还是不行,不行就换方法,符号链接到/etc
,然后找到shadow
。
可以选择硬破,或者整个自己的密码给它替换了。
补充一点点shadow的相关知识。
/etc/shadow hash格式
1 1 1 is MD5
2 a 2a 2a is Blowfish
2 y 2y 2y is Blowfish
5 5 5 is SHA-256
6 6 6 is SHA-512
搜索到一个加密的工具mkpasswd
。
下一步就是放进shadow
里面了。
搞定。