pyexp靶机总结

pyexp靶机渗透总结

靶机下载地址:
https://download.vulnhub.com/pyexp/pyexpvm.zip

  1. 打开靶机.使用nmap扫描出靶机的ip和开放的端口
    可以看到,靶机开放了1337端口和3306端口
    1337端口是ssh的端口,3306是mysql数据库的端口在这里插入图片描述

  2. 根据之前做靶机的经验来看,一般是开放80端口,然后根据网站去找到合适的方法getshell,但是这里没有开放80端口,因此只能考虑1337端口和3306端口
    那么先对这两个端口进行爆破一波,看是否能爆破出登录的密码

    由于不知道存在什么用户,因此只能先尝试root用户的爆破

    mysql的3306端口爆破成功,得到root账户的密码prettywoman

    hydra -l root -P /usr/share/wordlists/rockyou.txt mysql://192.168.11.135
    

    在这里插入图片描述
    ssh的1337端口爆破失败

    hydra -l root -P /usr/share/wordlists/rockyou.txt 192.168.11.135 ssh
    

    在这里插入图片描述

  3. 利用密码成功远程登录mysql在这里插入图片描述

  4. 本来刚开始我在考虑是否可以使用mysql提权
    这里只能考虑使用udf提权,其它的mysql提权都不太合适
    在这里插入图片描述
    在这里插入图片描述
    但是写入文件失败,这里权限是只读在这里插入图片描述

  5. 既然无法mysql提权,那么就查看mysql里面是否有可用信息
    发现data数据库下面fernet表存在有用的信息在这里插入图片描述
    这里网上百度了下,fernet是python的一种对称加解密的算法,类似于AES
    百度出一个给出使用方法的网址
    https://cryptography.io/en/latest/fernet/在这里插入图片描述
    先运行以下例子看看

    from cryptography.fernet import Fernet
    key = Fernet.generate_key()
    f = Fernet(key)
    token = f.encrypt(b"my deep dark secret")
    token
    b'...'
    f.decrypt(token)
    b'my deep dark secret'
    

    这里python的得先安装cryptography库
    pip install cryptography
    如果没有这个库,会报错,就像下面这个图一样在这里插入图片描述
    在这里插入图片描述

    大致看懂这个算法的使用了
    (1) 需要先导入Fernet的库 , from cryptography.fernet import Fernet
    (2) 然后给出一个key,它这里key是用的fernet生成的一般的key, key = Fernet.generate_key(),并且把key给了f变量
    (3) 加密的时候需要用的这个key,f.encrypt(b"my deep dark secret") 就是加密的,里面的my deep dark secret是加密的东西,并且加密后赋值给了变量token
    (4) 当输入token的时候,就可以看到加密后的值
    (5) 加密是使用f.decrypt(token),就会给出要加密的东西,并且格式是b’要加密的内容’

    根据例子,我们可以仿照来写出我们这个题的解码的python代码

    from cryptography.fernet import Fernet
    key = 'UJ5_V_b-TWKKyzlErA96f-9aEnQEfdjFbRKt8ULjdV0='
    f = Fernet(key)
    f.decrypt(b'gAAAAABfMbX0bqWJTTdHKUYYG9U5Y6JGCpgEiLqmYIVlWB7t8gvsuayfhLOO_cHnJQF1_ibv14si1MbL7Dgt9Odk8mKHAXLhyHZplax0v02MMzh_z_eI7ys=')
    

    成功获得加密的东西

    b'lucy:wJ9`"Lemdv9[FEw-'
    

    去掉固定的格式b’’

    lucy:wJ9`"Lemdv9[FEw- 
    

    获得带这个东西,这个看起来像是密码在这里插入图片描述

  6. 我们利用mysql查看是否存在lucy
    使用load_file函数读取文件
    select load_file (‘/etc/passwd’);在这里插入图片描述
    发现的确是存在lucy用户可以登录的在这里插入图片描述

  7. 利用ssh的1337端口登录lucy用户
    密码是我们获得的wJ9`"Lemdv9[FEw-
    成功登录lucy用户
    在这里插入图片描述
    在lucy用户的目录下,发现第一个flag,但是以往的经验都是需要提权的,root的目录下肯定还存放着flag
    在这里插入图片描述

  8. 这里发现了sudo滥用的提权
    会以root的身份去运行exp.py脚本
    并且脚本是可以输入的,意味着这个脚本可控
    那么我们直接输入我们的反弹shell,然后运行即可

    在这里插入图片描述
    这里根据下面这个linux的反弹shell的网站,随便找一个python的反弹shell
    https://www.revshells.com/
    我这里也是随便试了一个
    在这里插入图片描述
    先开启12345端口监听在这里插入图片描述
    然后使用sudo /usr/bin/python2 /opt/exp.py 以root用户执行exp.py
    how are you?后面可以继续输入python代码,直接赋值我们反弹shell网上找的python反弹代码在这里插入图片描述
    再返回监听的12345端口的终端的时候,发现成功回弹root的shell
    提权成功,并且获得了root目录下的flag在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值