I just pwned Keeper on Hack The Box! https://hackthebox.com/achievement/machine/2283976/556… #HackTheBox #htb #CyberSecurity #EthicalHacking #InfoSec #PenTesting
以下是wp
Keeper HTB靶机渗透测试详细记录
初始侦察阶段
使用Nmap进行高速全端口扫描:
nmap -sT -min-rate 10000 -p- 10.10.11.227
扫描结果显示目标主机开放了两个端口:
- 22/tcp:SSH服务,通常用于远程管理
- 80/tcp:HTTP Web服务器,可能存在Web应用
Web服务探测
访问目标IP的80端口时,发现页面会自动跳转至一个域名tickets.keeper.htb
。为了正确解析这个域名,需要将其添加到本地hosts文件中:
echo "10.10.11.227 tickets.keeper.htb keeper.htb" | sudo tee -a /etc/hosts
修改hosts文件后,访问tickets.keeper.htb/rt/
页面,发现目标服务器运行着Request Tracker(RT)——一个流行的开源工单管理系统。这为我们提供了一个潜在的攻击面。
初始访问权限获取
通过Google搜索"request tracker default credentials",我们发现了RT系统的默认登录凭据:
- 用户名:
root
- 密码:
password
尝试使用这些默认凭据登录系统,成功获得了管理员访问权限!这凸显了一个严重的安全疏忽:生产环境中未更改默认凭据。这是网络安全中的一个基本漏洞,却又十分常见。
用户枚举与横向移动
成功以root身份登录RT系统后,我开始探索系统中的用户管理部分,发现了另一个用户账户:lnorgaard
。
查看这个用户的详细信息页面,意外发现了明文密码信息:
- 密码:
Welcome2023!
这是另一个严重的安全问题——在用户信息中存储明文密码,违反了基本的安全实践。
利用获得的凭据,通过SSH尝试登录目标系统:
ssh [email protected]
登录成功!在用户目录中找到了第一个目标文件user.txt
,getkey1。
权限提升前的信息收集
在lnorgaard的主目录中,发现了两个有趣的文件:
RT30000.zip
:可能包含关键信息的压缩包passcodes.kdbx
:KeePass密码管理器的数据库文件
将这两个文件下载到本地进行进一步分析:
scp [email protected]:/home/lnorgaard/RT30000.zip .
scp [email protected]:/home/lnorgaard/passcodes.kdbx .
KeePass数据库分析
为了分析KeePass数据库,首先需要找到其主密码。研究资料显示KeePass存在内存转储漏洞,可以从内存转储文件中提取密码信息。
克隆一个专门用于KeePass密码提取的工具:
git clone https://github.com/vdohney/keepass-password-dumper.git
cd keepass-password-dumper
dotnet run /home/limuserbia/Downloads/KeePassDumpFull.dmp
工具成功从内存转储中提取出部分密码:dgrød med fløde
。但这似乎不是完整的密码。
尝试直接使用这个密码解密KeePass数据库:
keepassxc passcodes.kdbx
解密失败,密码不正确。
通过Google搜索"dgrød med fløde",找到了可能的完整密码短语:Rødgrød med fløde
。这是一个丹麦语短语,意为"带奶油的红果冻"。这表明目标用户可能有丹麦文化背景。
使用修正后的密码rødgrød med fløde
成功解密KeePass数据库!
权限提升
在解密的KeePass数据库中,经过仔细查找,发现了root用户的SSH私钥:
PuTTY-User-Key-File-3: ssh-rsa
Encryption: none
Comment: rsa-key-20230519
Public-Lines: 6
AAAAB3NzaC1yc2EAAAADAQABAAABAQCnVqse/hMswGBRQsPsC/EwyxJvc8Wpul/D
8riCZV30ZbfEF09z0PNUn4DisesKB4x1KtqH0l8vPtRRiEzsBbn+mCpBLHBQ+81T
EHTc3ChyRYxk899PKSSqKDxUTZeFJ4FBAXqIxoJdpLHIMvh7ZyJNAy34lfcFC+LM
Cj/c6tQa2IaFfqcVJ+2bnR6UrUVRB4thmJca29JAq2p9BkdDGsiH8F8eanIBA1Tu
FVbUt2CenSUPDUAw7wIL56qC28w6q/qhm2LGOxXup6+LOjxGNNtA2zJ38P1FTfZQ
LxFVTWUKT8u8junnLk0kfnM4+bJ8g7MXLqbrtsgr5ywF6Ccxs0Et
Private-Lines: 14
AAABAQCB0dgBvETt8/UFNdG/X2hnXTPZKSzQxxkicDw6VR+1ye/t/dOS2yjbnr6j
oDni1wZdo7hTpJ5ZjdmzwxVCChNIc45cb3hXK3IYHe07psTuGgyYCSZWSGn8ZCih
kmyZTZOV9eq1D6P1uB6AXSKuwc03h97zOoyf6p+xgcYXwkp44/otK4ScF2hEputY
f7n24kvL0WlBQThsiLkKcz3/Cz7BdCkn+Lvf8iyA6VF0p14cFTM9Lsd7t/plLJzT
VkCew1DZuYnYOGQxHYW6WQ4V6rCwpsMSMLD450XJ4zfGLN8aw5KO1/TccbTgWivz
UXjcCAviPpmSXB19UG8JlTpgORyhAAAAgQD2kfhSA+/ASrc04ZIVagCge1Qq8iWs
OxG8eoCMW8DhhbvL6YKAfEvj3xeahXexlVwUOcDXO7Ti0QSV2sUw7E71cvl/ExGz
in6qyp3R4yAaV7PiMtLTgBkqs4AA3rcJZpJb01AZB8TBK91QIZGOswi3/uYrIZ1r
SsGN1FbK/meH9QAAAIEArbz8aWansqPtE+6Ye8Nq3G2R1PYhp5yXpxiE89L87NIV
09ygQ7Aec+C24TOykiwyPaOBlmMe+Nyaxss/gc7o9TnHNPFJ5iRyiXagT4E2WEEa
xHhv1PDdSrE8tB9V8ox1kxBrxAvYIZgceHRFrwPrF823PeNWLC2BNwEId0G76VkA
AACAVWJoksugJOovtA27Bamd7NRPvIa4dsMaQeXckVh19/TF8oZMDuJoiGyq6faD
AF9Z7Oehlo1Qt7oqGr8cVLbOT8aLqqbcax9nSKE67n7I5zrfoGynLzYkd3cETnGy
NNkjMjrocfmxfkvuJ7smEFMg7ZywW7CBWKGozgz67tKz9Is=
Private-MAC: b0a0fd2edf4f0e557200121aa673732c9e76750739db05adc3ab65ec34c55cb0
将这个SSH私钥保存到本地文件sshkey
,准备使用它登录目标系统。
由于私钥是PuTTY格式的,安装PuTTY客户端进行连接:
sudo apt install putty
使用PuTTY连接目标主机,在认证设置中选择刚才保存的私钥文件,并尝试以root用户身份登录。
连接成功!成功获取root权限,在根目录找到key2:0534402cc6f63462143a1bca28dd3d94
。
总结与安全建议
本次渗透测试成功利用了以下几个安全漏洞:
- 使用默认凭据:Request Tracker系统使用了默认的root/password登录凭据,这是最基本的安全疏忽
- 明文存储密码:用户信息页面中直接包含了明文密码
- 不安全的密码管理:KeePass数据库使用的是带有文化特征的简单密码
- 未受保护的SSH私钥:root用户的SSH私钥未加密存储在密码管理器中
针对以上问题,提出以下安全建议:
立即修改所有系统的默认密码,并实施强密码策略禁止在任何系统中明文存储密码信息对所有密码管理器使用复杂、随机生成的主密码确保SSH私钥设置密码保护,并限制其访问权限实施定期安全审计,检查系统中的敏感信息考虑部署双因素认证,增加额外的安全层级
漏洞利用路径总结
初始访问 → 横向移动 → 提权 Request Tracker默认凭据 → 获取lnorgaard用户凭据 → 解密KeePass获取root SSH私钥
成功解锁第四台靶机
2025年4月1日