HackTheBox - Medium - Linux - Ambassador

2024-01-07 19:39:37

Ambassador

Ambassador 是一台中等难度的 Linux 机器,用于解决硬编码的明文凭据留在旧版本代码中的问题。首先,“Grafana”CVE (“CVE-2021-43798”) 用于读取目标上的任意文件。在研究了服务的常见配置方式后,将在其中一个默认位置发现 Web 门户的凭据。登录后,进一步的枚举会显示另一个包含“MySQL”凭据的配置文件,这些凭据用于检索用户帐户的密码并在计算机上站稳脚跟。最后,配置错误的“Consul”服务用于通过从“Git”存储库的先前提交中检索身份验证令牌来获取升级的权限。


外部信息收集

端口扫描

循例nmap

file

Web枚举

80

file

3000

file

Foothold

这个版本的grafana存在未授权任意文件读取

file

运行exp

file

在grafana.ini中获取到admin的明文凭据,可以直接登录

file

file

从刚刚连带出来的grafana.db中我们可以检索到mysql的凭据

file

从whackywidget库的users表中我们可以得到developer的base64编码的密码

file

base64 decode

file

登ssh

file

本地权限提升

/opt

file

file

file

这个中文文档能够让我们了解consul以及相关命令,方便我们利用

现在需要token,在外面有个.git,我想应该会有历史提交

file

git show在tidy config之前的那一次提交中,不出意外,我们得到了它

file

然鹅exec执行似乎不行

file

find

file

经典能写不能读

file

现在进攻路径很明确,类似于前几台靶机的systemctl那种

在consul.d/consul.d写入.hcl新文件,谷歌随便找了个配置文件,让它执行我们的shellcode

datacenter = "east-aws"
data_dir = "/opt/consul"
log_level = "INFO"
node_name = "foobar"
server = true
watches = [
  {
    type = "checks"
    handler = "/tmp/cmd.sh"
  }
]

祖传suid bash的shellcode

file

consul reload

file

这一缕红光依旧是这么的刺眼

文章来源:https://blog.csdn.net/qq_54704239/article/details/135427417
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。