现在只对常读和星标的公众号展示推送🌟欢迎关注【红队安全圈】并设为【星标】
HackTheBox的Keeper靶机以企业内网渗透为背景,通过web产品的默认凭证登录,结合密码管理软件的内存泄露漏洞提取主密码,最终利用PuTTY私钥提权,对新手和企业管理员都是一个不错的学习靶机
靶机地址
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 端口
使用 Nmap 脚本漏洞扫描没有有价值的漏洞
nmap -script=vuln -p22,80 10.10.11.227
Web 信息收集
访问 80 端口,得到一个提示信息,请访问以下连接,是个子域名
修改/etc/hosts
文件,添加 IP 和域名,Web 访问成功
vim /etc/hosts
whatweb,网站使用Request-Tracker
搭建
wappalyzer
dirsearch 有一个/m
目录
gobuster 子域名探测,除了前面已知的那个,没有其他额外的子域名
gobuster vhost -w /usr/share/wordlists/amass/subdomains-top1mil-5000.txt -u http://keeper.htb -t 30 --append-domain
信息整理
二、漏洞探测
搜索 Request-Tracker,该产品默认账号密码root
:password
,成功登录到后台
在各个输入框尝试 XSS 和 SQL注入等都么有结果,在Admin
-Users
页面下,找到两个用户
其中lnorgaard
用户的详情页面得到该用户的邮箱[email protected]
,以及一个密码Welcome2023!
使用该用户名和密码 kali 下 ssh 连接失败,估计又是靶场的问题,最近HTB有时不稳定
换到 Windows 使用 putty 登录成功,得到普通用户的 flag
三、权限提升
密码管理软件的漏洞
在用户目录下看到一个 RT30000.zip 文件,解压后有两个文件
unzip RT30000.zip
-
• .kdbx
后缀是密码管理软件 keepass 的备份文件格式 -
• KeePassDumpFull.dmp 从名字来看像是从内存中转储的 keepass 软件相关的内存数据
在目标机器开启 http 服务,将两个文件下载到本地,并在本地安装好 keepass 软件
python3 -m http.server 8000
双击直接打开 passcodes.kdbx,密码填写前面获得的密码Welcome2023!
,但是登录失败,密码不正确
继续搜索发现 keepass2.54 之前的版本有个漏洞CVE-2023-32784
,可以从内存转储中恢复明文主密码
1. https://github.com/vdohney/keepass-password-dumper 2. https://github.com/dawnl3ss/CVE-2023-32784
实战中还需要涉及到绕过杀软EDR等导出内存数据,后面有机会再讲讲,这是一个面向新手的靶场做了简化,直接把内存数据导出给学习者了,直接用 poc 提取一下
python poc.py -d KeePassDumpFull.dmp
结果中有几个字符没有正常提取,猜测它们应该不是正常的英文字符导致
回想到浏览目标网站用户信息的时候,看到用户真实姓名中有个不常见的字符,下面语言提示是丹麦语
把丹麦国家加上恢复出的密码在谷歌搜索一下,可以看到结果是丹麦的一种甜点的名称:Rødgrød med Fløde
复制这个丹麦语的密码,经过多次尝试,把字幕都换成小写后成功打开密码备份文件
登陆成功,看到两条记录
编辑查看 root 用户,得到 root 的密码,以及 putty 连接的 PPK 信息
提权到 root
使用 root 密码直接登录失败
既然密码登录不行,使用 PPK 文件也可以免密登录,把 PPK 信息保存到一个文本中,重命名为10.10.11.227.ppk
依次打开 Putty
- Connection
- SSH
- Auth
- Credentials
,加载 PPK 文件
在Session
中输入连接的地址,使用 PPK 免密登录成功,得到 root 的 flag
补充
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
📌 企业防御必修课
-
1. 禁用各种系统的默认账户 -
2. 密码管理软件升级到最新版本 -
3. 私钥强制加密存储
原文始发于微信公众号(红队安全圈):HTB-Keeper红队靶机:从内存泄露到Root权限
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论