iT邦幫忙

2026 iThome 鐵人賽

DAY 13
0

前面兩天提到虛擬化技術跟容器的基本知識,相信大家都看得到 Linux 容器內的許多基本操作,與一般 Linux 環境相似。
lab-01

不論目前位於 Host 或容器,取得 Shell 後都需要先進行枚舉,接下來就來看看有哪些檢查重點。

容器 Enumeration

1. 查看當前環境

在 Day 02,我們提到基本的枚舉方式,但是在容器裡面我們還需要補充幾項檢查。可以用這幾個指令來做初步判斷自己是不是在容器裡:

ls -la /.dockerenv 2>/dev/null
cat /proc/1/cgroup; cat /proc/self/cgroup
hostname; cat /etc/hostname 
  • /.dockerenv 是 Docker 容器根目錄下的檔案。早期 Docker 曾用它協助將環境變數傳入容器;隨著執行方式改變,這項用途已不再是它的主要作用。Docker Engine 的實作仍會建立這個檔案,因此它的存在是判斷目前可能位於 Docker 容器內的有利證據。

  • cat /proc/1/cgroup; cat /proc/self/cgroup:這兩個檔案用來查看程序所屬的 cgroup。如果路徑中出現 docker 等字樣,可以當作容器環境的線索;但路徑的呈現會受到 cgroup namespace 等設定影響,因此沒有看到相關字樣,也不能排除目前位於容器。

  • hostname; cat /etc/hostname:Docker 容器在未另行指定 hostname 時,預設會使用容器 ID 作為主機名稱。因此,看到類似容器 ID 的名稱,可以當作環境線索之一;但主機名稱可以自訂,仍需搭配其他資訊判斷。

2. 查看目前身分與 capabilities

在前面有提到 Docker 容器的 root 權限其實是被限縮的,我們可以用這個指令來查詢現在 CAP 設定狀態:

id
capsh --print 2>/dev/null || grep -i cap /proc/self/status

如果發現 root 的權限並沒有開到最大,可以合理地懷疑現在的環境就是容器。不過,要注意的是「即便看到 CAP 是給到最大值,也不可以判斷該環境是 host 環境,還是要有更多的驗證」。

3. 檢查環境變數:

應用程式常透過環境變數取得設定,其中可能包含資料庫位址、帳號、密碼或 Token。因此,取得 Shell 後,可以查看目前 Shell 的環境變數,了解應用程式的連線資訊,以及是否暴露敏感資料。我們可以用以下指令來檢視環境變數:

env
printenv

4. 查看容器掛載的系統檔案

接著查看目前環境中的掛載資源,確認是否能接觸到額外的目錄、設定檔或管理介面。例如,有些部署會將 Host 的 /var/run/docker.sock 掛載進容器,讓容器內的程式操作 Docker。用以下指令可以來做初步判斷:

mount 2>/dev/null | grep -vE 'proc|sysfs|cgroup|tmpfs|mqueue|shm'   
cat /proc/self/mountinfo | grep -iE 'docker.sock|/config|host'
ls -l /var/run/docker.sock 2>/dev/null       
ls -la /config 2>/dev/null           

5. 檢查散落的憑證

容器內的應用程式可能需要連接資料庫、其他服務或外部 API,因此設定檔中可能包含連線位址、帳號、密碼或 Token。

除了環境變數,也可以檢查目前有權限讀取的應用程式設定檔與 Shell 歷史紀錄,確認是否留下敏感資訊。找到相關資訊後,還要進一步了解它對應哪個服務,以及具有哪些權限。

以上就是容器環境下可以蒐集哪些資訊的初步整理。老實說,上述方法沒有任何一個能單獨確定你在容器還是主機,一定要多方交叉驗證才能下判斷。

枚舉講完了,接下來讓我們先初探 docker.sock 設定錯誤會造成什麼問題吧!

感謝大家的收看,我們明天見!


上一篇
Day 12|Docker 到底隔離了什麼?先理解 Container 的安全邊界
下一篇
Day 14|docker.sock 為什麼常被說等同於 Host Root?
系列文
我以前被社會打穿,現在輪到我研究怎麼把系統打穿:資安工程師的 30 天紅隊轉職實驗 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言