上週六,18 月 XNUMX 日,Kenna Security 的 Jerry Gamblin
高山背景
進行小型研究的原因是本月早些時候出現的 Talos 漏洞報告(
“Alpine Linux Docker 鏡像的官方版本(從 v3.3 開始)包含 root 用戶的 NULL 密碼。 該漏洞是 2015 年 XNUMX 月出現的回歸的結果。 其本質歸結為這樣一個事實,即在容器中部署了有問題的 Alpine Linux 版本並使用 Linux PAM 或使用系統影子文件作為數據庫進行身份驗證的其他機制的系統可以接受 root 用戶的空 (NULL) 密碼。
針對該問題測試的 Alpine Docker 鏡像版本為 3.3-3.9,以及最新版本的 edge。
作者向受影響的用戶提出以下建議:
“在從有問題的 Alpine 版本構建的 Docker 鏡像中,必須明確禁用根帳戶。 該漏洞的可能利用取決於環境,因為它的成功需要使用 Linux PAM 或其他類似機制的外部轉發服務或應用程序。
問題是 /etc/shadow
或確保包裹丟失 linux-pam
.
接自 Docker Hub
Jerry Gamblin 決定詢問“在容器中使用空密碼的做法可能有多普遍”。 為此,他寫了一個小
- 通過對 Docker Hub 中的 API 的 curl 請求,請求那里托管的 Docker 鏡像列表;
- 通過 jq 它按字段排序
popularity
,並且從獲得的結果來看,前一千名仍然存在; - 對於他們每個人,
docker pull
; - 對於從 Docker Hub 收到的每個圖像,
docker run
從文件中讀取第一行/etc/shadow
; - 如果字符串值等於
root:::0:::::
, 圖像名稱被保存到一個單獨的文件中。
發生了什麼? 在
“這份名單上最著名的名字包括 govuk/governmentpaas、hashicorp、微軟、孟山都和 mesosphere。 kylemanna/openvpn 是列表中最受歡迎的容器,拉取次數超過 10 萬次。”
然而,值得回顧的是,這種現象本身並不意味著使用它們的系統的安全性存在直接漏洞:這完全取決於它們的使用方式。 (見上面阿爾卑斯案例的評論). 然而,我們已經多次看到“這個故事的寓意”:表面上的簡單往往有一個缺點,你應該永遠記住這一點,並在你使用技術的場景中考慮到它的後果。
聚苯乙烯
另請閱讀我們的博客:
- «
Docker Hub 上鏡像中基本操作系統的統計信息 “; - «
安全要求高的環境中的 Docker 和 Kubernetes “; - «
runc中的漏洞CVE-2019-5736,允許在主機上獲得root權限 “; - «
Vulnerable Docker VM - 用於 Docker 和滲透測試的益智虛擬機 “。
來源: www.habr.com