【THM】Git Happens練習
與本文相關的TryHackMe實驗房間連結:TryHackMe | Git Happens
簡介:老闆讓我建立一個原型程式碼,所以它就在這裡!我們甚至使用了一種叫做“版本控制”的東西,使部署變得非常容易!
你能找到應用程式的密碼嗎?
第一題:找到超級機密的密碼
第一步
埠掃描
首先使用nmap對埠進行掃描
nmap -Pn -sV -T4 -A 10.10.139.132
-A 啟動Os檢測,版本檢測,指令碼掃描和traceroute
可以發現目標開放了1個埠:80/tcp http服務,並且執行的是git伺服器
第二步
訪問網站
我們先進入網站看看介面
是一個登入介面
第三步
資訊收集
我們先看看網頁的原始碼裡面會不會藏了什麼東西,啥也沒有
再優先檢視robots.txt來看看這個網站會不會有什麼見不得人的檔案,404 not found
使用gobuster工具掃描網站目錄(這裡用了fuzzdict master的字典):
gobuster dir -u http://10.10.139.132 -w top7000.txt
我們嘗試訪問/.git/
發現可以進入
.git資料夾
.git/
目錄是 Git 版本控制系統在每個 Git 倉庫中自動建立的隱藏目錄。它包含了該倉庫的所有版本歷史、配置資訊和後設資料。
(字典不夠強大掃不出來,平時用dirsearch就好了)
第四步
git洩露漏洞利用
該網站存在git洩露,我們使用GitTools將git倉庫下載到我們的攻擊機上。
GitTools倉庫中有三個工具,它們是Dumper, Extractor和Finder
Dumper 將/.git/內容轉儲到本機
Extractor 還原不完整的倉庫內容,用於分析和提取 Git 倉庫中的敏感資料
Finder 用於掃描和發現存在 Git 倉庫的公共網站或資源
使用gitdumper,將git內容dump到攻擊機,儲存在nihao資料夾中:
./gitdumper.sh http://10.10.139.132/.git/ ./nihao/
dump成功後資料夾是空的,.git
檔案是隱藏的
第五步
分析Git倉庫
我們使用以下命令檢視 Git 倉庫提交歷史:
git log
得到以下輸出:
commit d0b3578a628889f38c0affb1b75457146a4678e5 (HEAD -> master, tag: v1.0)
Author: Adam Bertrand <hydragyrum@gmail.com>
Date: Thu Jul 23 22:22:16 2020 +0000
Update .gitlab-ci.yml
commit 77aab78e2624ec9400f9ed3f43a6f0c942eeb82d
Author: Hydragyrum <hydragyrum@gmail.com>
Date: Fri Jul 24 00:21:25 2020 +0200
add gitlab-ci config to build docker file.
commit 2eb93ac3534155069a8ef59cb25b9c1971d5d199
Author: Hydragyrum <hydragyrum@gmail.com>
Date: Fri Jul 24 00:08:38 2020 +0200
setup dockerfile and setup defaults.
commit d6df4000639981d032f628af2b4d03b8eff31213
Author: Hydragyrum <hydragyrum@gmail.com>
Date: Thu Jul 23 23:42:30 2020 +0200
Make sure the css is standard-ish!
commit d954a99b96ff11c37a558a5d93ce52d0f3702a7d
Author: Hydragyrum <hydragyrum@gmail.com>
Date: Thu Jul 23 23:41:12 2020 +0200
re-obfuscating the code to be really secure!
commit bc8054d9d95854d278359a432b6d97c27e24061d
Author: Hydragyrum <hydragyrum@gmail.com>
Date: Thu Jul 23 23:37:32 2020 +0200
commit d0b3578a628889f38c0affb1b75457146a4678e5 (HEAD -> master, tag: v1.0)
Author: Adam Bertrand <hydragyrum@gmail.com>
Date: Thu Jul 23 22:22:16 2020 +0000
Update .gitlab-ci.yml
commit 77aab78e2624ec9400f9ed3f43a6f0c942eeb82d
Author: Hydragyrum <hydragyrum@gmail.com>
Date: Fri Jul 24 00:21:25 2020 +0200
add gitlab-ci config to build docker file.
commit 2eb93ac3534155069a8ef59cb25b9c1971d5d199
Author: Hydragyrum <hydragyrum@gmail.com>
Date: Fri Jul 24 00:08:38 2020 +0200
setup dockerfile and setup defaults.
commit d6df4000639981d032f628af2b4d03b8eff31213
Author: Hydragyrum <hydragyrum@gmail.com>
Date: Thu Jul 23 23:42:30 2020 +0200
Make sure the css is standard-ish!
commit d0b3578a628889f38c0affb1b75457146a4678e5 (HEAD -> master, tag: v1.0)
Author: Adam Bertrand <hydragyrum@gmail.com>
Date: Thu Jul 23 22:22:16 2020 +0000
Update .gitlab-ci.yml
commit 77aab78e2624ec9400f9ed3f43a6f0c942eeb82d
Author: Hydragyrum <hydragyrum@gmail.com>
Date: Fri Jul 24 00:21:25 2020 +0200
add gitlab-ci config to build docker file.
commit 2eb93ac3534155069a8ef59cb25b9c1971d5d199
Author: Hydragyrum <hydragyrum@gmail.com>
Date: Fri Jul 24 00:08:38 2020 +0200
setup dockerfile and setup defaults.
commit d6df4000639981d032f628af2b4d03b8eff31213
Author: Hydragyrum <hydragyrum@gmail.com>
Date: Thu Jul 23 23:42:30 2020 +0200
Make sure the css is standard-ish!
commit d954a99b96ff11c37a558a5d93ce52d0f3702a7d
Author: Hydragyrum <hydragyrum@gmail.com>
Date: Thu Jul 23 23:41:12 2020 +0200
re-obfuscating the code to be really secure!
commit bc8054d9d95854d278359a432b6d97c27e24061d
Author: Hydragyrum <hydragyrum@gmail.com>
Date: Thu Jul 23 23:37:32 2020 +0200
commit e56eaa8e29b589976f33d76bc58a0c4dfb9315b1
Author: Hydragyrum <hydragyrum@gmail.com>
Date: Thu Jul 23 23:25:52 2020 +0200
Obfuscated the source code.
Hopefully security will be happy!
commit 395e087334d613d5e423cdf8f7be27196a360459
Author: Hydragyrum <hydragyrum@gmail.com>
Date: Thu Jul 23 23:17:43 2020 +0200
Made the login page, boss!
commit 2f423697bf81fe5956684f66fb6fc6596a1903cc
Author: Adam Bertrand <hydragyrum@gmail.com>
Date: Mon Jul 20 20:46:28 2020 +0000
Initial commit
日誌中的內容分為以下部分:
commit 當前提交的雜湊值
(HEAD -> master, tag: v1.0) 表示當前處於 master 分支,並且 HEAD 指向最新的提交
Author 作者資訊
Date 日期
提交資訊(備註)
我們可以發現雜湊值為395e087334d613d5e423cdf8f7be27196a360459
的日誌中有一條說“做好了登入頁面老闆!”,我們著重分析
git show 395e087334d613d5e423cdf8f7be27196a360459
git show 命令用於顯示特定提交的詳細資訊,包括提交的內容、修改的檔案和差異
我們可以在底部發現admin使用者的password
就是我們要找的超級機密的密碼