TryHackMe-Daily Bungle
靶机难度:中等
本文涉及:
- Sqlmap
- sudo-yum提权
- Joomla后台get-shell
信息收集
1 | ports=$(nmap -p- --min-rate=1000 -T4 10.10.85.231 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//) |
扫描端口后,发现目标只开放了两个端口。并且http服务探测检测到这是个Joomla
开源评论管理系统。具体是什么东西,我不知道。。不过先扫描下网站路径,和访问下网站。
路径探测结果:
/administrator
是后台登录页面
用kali自带的searchsploit看看这个joomla有没有exploit。
结果多到显示不完。。不过我们不知道它的版本号。不知道准确的版本号,也就不知道该使用什么exploit
谷歌了一下后,发现msf有扫描joomla版本的脚本。直接上msf。
结果显示是3.7.0
。那么就来搜索一下3.7.0的exploit。
好起来了,是一个sqli注入的漏洞。
漏洞利用
好,直接使用sqlmap跑起来。
1 | sqlmap -u "http://localhost/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] |
表真多,不过没啥问题。我们已经找到我们想要的了#__users
接下来该取数据了
还是加密的。这是bcrypt
php的密码加密哈希值。这里就让john去跑吧。
直接这样的话是不行的
1 | john $2y$.......... --wordlist=... |
我们要把哈希值写到一个文件里面,让john从这个文件读取去跑。
用这个密码,登录到后台。找到上传点直接写一句话,然后蚁剑伺候。(类似wordpress修改模板文件的地方。
蚁剑连接成功!
一进来就看到一个文件,十分吸引人。configuration.php
这里说不定有管理员的密码。
这里有两个字符串,长的都很像密码,一个个试。password字段的肯定是一个mysql的密码。
获取用户名。
提权
直接ssh连接,成功登录
拿到第一个flag,同时我们也知道了yum
拥有sudo
权限。让我们去看下yum
有什么提权姿势
It runs commands using a specially crafted RPM package. Generate it with fpm and upload it to the target.
1 | TF=$(mktemp -d) |
Spawn interactive root shell by loading a custom plugin.
1 | TF=$(mktemp -d) |
第一个fpm是不行的,因为目标环境没有fpm。
可以看到,我们已经拿到root.flag
了。
总结
学会了
- yum的提权方式
- joomla修改模板文件的地方
参考链接: