HTB-Keeper红队靶机:从内存泄露到Root权限

admin 2025年5月27日16:29:45评论30 views字数 2164阅读7分12秒阅读模式

现在只对常读和星标的公众号展示推送🌟欢迎关注【红队安全圈】并设为【星标】

HackTheBox的Keeper靶机以企业内网渗透为背景,通过web产品的默认凭证登录,结合密码管理软件的内存泄露漏洞提取主密码,最终利用PuTTY私钥提权,对新手和企业管理员都是一个不错的学习靶机

HTB-Keeper红队靶机:从内存泄露到Root权限

靶机地址

https://app.hackthebox.com/machines/556

适合读者

√ 渗透测试学习者√ 企业安全运维人员√ CTF竞赛战队√ 想掌握链式攻击思维的安全从业者

一、信息收集

端口扫描

nmap -sT --min-rate 10000 -Pn -p- 10.10.11.227
nmap -sT -Pn -sV -sC -O -p22,80 10.10.11.227

只开放了 80 和 22 端口

HTB-Keeper红队靶机:从内存泄露到Root权限

使用 Nmap 脚本漏洞扫描没有有价值的漏洞

nmap -script=vuln -p22,80 10.10.11.227
HTB-Keeper红队靶机:从内存泄露到Root权限

Web 信息收集

访问 80 端口,得到一个提示信息,请访问以下连接,是个子域名

HTB-Keeper红队靶机:从内存泄露到Root权限

修改/etc/hosts文件,添加 IP 和域名,Web 访问成功

vim /etc/hosts
HTB-Keeper红队靶机:从内存泄露到Root权限

whatweb,网站使用Request-Tracker搭建

HTB-Keeper红队靶机:从内存泄露到Root权限

wappalyzer

HTB-Keeper红队靶机:从内存泄露到Root权限

dirsearch 有一个/m目录

HTB-Keeper红队靶机:从内存泄露到Root权限

gobuster 子域名探测,除了前面已知的那个,没有其他额外的子域名

gobuster vhost -w /usr/share/wordlists/amass/subdomains-top1mil-5000.txt -u http://keeper.htb -t 30 --append-domain
HTB-Keeper红队靶机:从内存泄露到Root权限

信息整理

HTB-Keeper红队靶机:从内存泄露到Root权限

二、漏洞探测

搜索 Request-Tracker,该产品默认账号密码root:password,成功登录到后台

HTB-Keeper红队靶机:从内存泄露到Root权限

在各个输入框尝试 XSS 和 SQL注入等都么有结果,在Admin-Users页面下,找到两个用户

HTB-Keeper红队靶机:从内存泄露到Root权限

其中lnorgaard用户的详情页面得到该用户的邮箱[email protected],以及一个密码Welcome2023!

HTB-Keeper红队靶机:从内存泄露到Root权限

使用该用户名和密码 kali 下 ssh 连接失败,估计又是靶场的问题,最近HTB有时不稳定

HTB-Keeper红队靶机:从内存泄露到Root权限

换到 Windows 使用 putty 登录成功,得到普通用户的 flag

HTB-Keeper红队靶机:从内存泄露到Root权限

三、权限提升

密码管理软件的漏洞

在用户目录下看到一个 RT30000.zip 文件,解压后有两个文件

unzip RT30000.zip
  • • .kdbx后缀是密码管理软件 keepass 的备份文件格式
  • • KeePassDumpFull.dmp 从名字来看像是从内存中转储的 keepass 软件相关的内存数据
HTB-Keeper红队靶机:从内存泄露到Root权限

在目标机器开启 http 服务,将两个文件下载到本地,并在本地安装好 keepass 软件

python3 -m http.server 8000

双击直接打开 passcodes.kdbx,密码填写前面获得的密码Welcome2023!,但是登录失败,密码不正确

HTB-Keeper红队靶机:从内存泄露到Root权限

继续搜索发现 keepass2.54 之前的版本有个漏洞CVE-2023-32784,可以从内存转储中恢复明文主密码

  1. 1. https://github.com/vdohney/keepass-password-dumper
  2. 2. https://github.com/dawnl3ss/CVE-2023-32784

实战中还需要涉及到绕过杀软EDR等导出内存数据,后面有机会再讲讲,这是一个面向新手的靶场做了简化,直接把内存数据导出给学习者了,直接用 poc 提取一下

python poc.py -d KeePassDumpFull.dmp

结果中有几个字符没有正常提取,猜测它们应该不是正常的英文字符导致

HTB-Keeper红队靶机:从内存泄露到Root权限

回想到浏览目标网站用户信息的时候,看到用户真实姓名中有个不常见的字符,下面语言提示是丹麦语

HTB-Keeper红队靶机:从内存泄露到Root权限

把丹麦国家加上恢复出的密码在谷歌搜索一下,可以看到结果是丹麦的一种甜点的名称:Rødgrød med Fløde

HTB-Keeper红队靶机:从内存泄露到Root权限

复制这个丹麦语的密码,经过多次尝试,把字幕都换成小写后成功打开密码备份文件

HTB-Keeper红队靶机:从内存泄露到Root权限

登陆成功,看到两条记录

HTB-Keeper红队靶机:从内存泄露到Root权限

编辑查看 root 用户,得到 root 的密码,以及 putty 连接的 PPK 信息

HTB-Keeper红队靶机:从内存泄露到Root权限

提权到 root

使用 root 密码直接登录失败

HTB-Keeper红队靶机:从内存泄露到Root权限

既然密码登录不行,使用 PPK 文件也可以免密登录,把 PPK 信息保存到一个文本中,重命名为10.10.11.227.ppk

HTB-Keeper红队靶机:从内存泄露到Root权限

依次打开 Putty - Connection - SSH - Auth - Credentials,加载 PPK 文件

HTB-Keeper红队靶机:从内存泄露到Root权限

Session中输入连接的地址,使用 PPK 免密登录成功,得到 root 的 flag

HTB-Keeper红队靶机:从内存泄露到Root权限

补充

Putty 的 PPK 文件内容中同时包含了公钥和私钥等信息,也可以使用 puttygen 命令将 PPK 文件转换为私钥和公钥,再使用 ssh 一样可以登录

puttygen 10.10.11.227.ppk -O private-openssh -o id_rsa            # 转换为私钥puttygen 10.10.11.227.ppk -O public-openssh -o id_rsa.pub        # 转换为公钥chmod 600 id_rsassh [email protected] -i id_rsa
HTB-Keeper红队靶机:从内存泄露到Root权限

📌 企业防御必修课

  1. 1. 禁用各种系统的默认账户
  2. 2. 密码管理软件升级到最新版本
  3. 3. 私钥强制加密存储
欢迎关注/点赞/推荐/转发,获取更多红队实战技巧
HTB-Keeper红队靶机:从内存泄露到Root权限

原文始发于微信公众号(红队安全圈):HTB-Keeper红队靶机:从内存泄露到Root权限

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月27日16:29:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   HTB-Keeper红队靶机:从内存泄露到Root权限https://cn-sec.com/archives/3953467.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息