运行环境:macOS 13.2.1; Parallel Desktop: Kali Linux 2022.2 ARM64; Windows 11

靶机链接:https://app.hackthebox.com/machines/Keeper

过程

信息收集

首先进行4项基本扫描:端口扫描,详细信息扫描,UDP扫描,漏洞扫描

发现22和80端口开放:

Web部分

访问Web页面:

/etc/hosts中添加ip和域名:

访问前面提到的域名,是一个登录页面。查看该开源项目(RT)的源码可以得到默认的用户名和密码root:password,尝试登录:

成功登录之后,找到某个用户的用户名和密码信息:

主机立足

使用上述信息尝试ssh登录,成功。获得userflag:

提权

解压RT30000.zip后发现是有关Keepass的两个文件。通过搜索引擎找到该软件的漏洞CVE-2023-32784

找到该漏洞的poc:

通过scp将该poc上传到服务器并执行,获得可能的Keepass主密码,但难以辨认其中的字符:

OCR之后搜索一下首个字符串,发现是某道菜名:

将服务器上的kdbx文件下载到本地:

打开kdbx文件,将该菜名作为主密码登录(注意首字母改成小写):

获得一个密码和一个putty文件的内容。将该密码作为root用户的密码ssh登录失败,可能是因为没有开启密码登录:

putty文件的内容保存为ppk文件:

通过命令putty -i ./putty.ppk指定该文件,并打开putty,登录服务器:

可以看到能够直接以root用户身份登录,获得systemflag:

总结

  1. 应用RT框架时存在弱密码漏洞(使用默认密码)
  2. Keepass自身存在漏洞