HackTheBox - Medium - Linux - Ambassador

Ambassador

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


外部信息收集

端口扫描

循例nmap

HackTheBox - Medium - Linux - Ambassador_第1张图片

Web枚举

80

HackTheBox - Medium - Linux - Ambassador_第2张图片

3000

HackTheBox - Medium - Linux - Ambassador_第3张图片

Foothold

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

HackTheBox - Medium - Linux - Ambassador_第4张图片

运行exp

HackTheBox - Medium - Linux - Ambassador_第5张图片

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

HackTheBox - Medium - Linux - Ambassador_第6张图片

HackTheBox - Medium - Linux - Ambassador_第7张图片

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

HackTheBox - Medium - Linux - Ambassador_第8张图片

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

HackTheBox - Medium - Linux - Ambassador_第9张图片

base64 decode

file

登ssh

HackTheBox - Medium - Linux - Ambassador_第10张图片

本地权限提升

/opt

HackTheBox - Medium - Linux - Ambassador_第11张图片

HackTheBox - Medium - Linux - Ambassador_第12张图片

HackTheBox - Medium - Linux - Ambassador_第13张图片

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

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

HackTheBox - Medium - Linux - Ambassador_第14张图片

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

HackTheBox - Medium - Linux - Ambassador_第15张图片

然鹅exec执行似乎不行

file

find

HackTheBox - Medium - Linux - Ambassador_第16张图片

经典能写不能读

HackTheBox - Medium - Linux - Ambassador_第17张图片

现在进攻路径很明确,类似于前几台靶机的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

HackTheBox - Medium - Linux - Ambassador_第18张图片

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

你可能感兴趣的:(HackTheBox,HackTheBox,网络安全,linux渗透测试,配置错误,过时的易受攻击应用)