1、事出linux
近期烏雲漏洞平臺等科技新聞,爆出Docker虛擬化 端口漏洞,本着熱愛開源,實踐動手的精神,我也去嘗試了下,漏洞嚴重性確實很高,能夠拿到root 登錄帳戶。redis
2、還原docker
2.1 經過掃描,咱們找到了一些主機,下面是其中一臺運行了docker 主機的服務器,而且開了ssh 端口api
知道了22端口後,咱們後面會利用此端口來使用root免密碼登錄該主機。安全
2.2 咱們能夠利用2375 端口作什麼?服務器
看到上面的信息後,咱們就知道,能夠管理該主機上的docker 容器了,啓動、中止、建立、下載鏡像、甚至刪除上面的容器。。。運維
2.3 容器都是和物理機隔離的,那怎麼利用它來進入到真實機呢?ssh
咱們先在本身的linux 機器中生成一個密鑰對,將此公鑰注入到遠程docker server 主機的 文件中,進行免密碼登錄的。ide
公鑰裏的內容測試
[root@elk ~]# cat .ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1SVCT50t/2GG6tdRb39dyH+Dng9pfOif1AZNaluEaRfiy9SHCnwKhSFRGSVOdpY1rdeR6lDl9r/VCr028IW+UH019O8oEaPE1q0oEK7+sUXNBlRk54deFhlUGszisY0x2XcDwskQIzc3NwivoZeUOsboDRhuC6Rd4W/6a3usUtLWBkhuyzJnanGzMVEyS3KWCD4EHlALb7nW9Tb3p2WfDf9tgtanJ6kJiVz7tMMsAdethtEmkEuoTFdnQ/FVGjgePUuIIOxbFRP077scu3fFfeKr3wthmeuR/Mnb6J85EychO8Fg+JY48V6P0PLwCleImJ5BNDr4mEdnKNsHOWuE1 root@admin
下面進入到docker 容器中,並複製剛剛生成的公鑰文件到剪貼板中,追加到文件中,以下
如今也許你知道,後面是什麼了,沒錯,這臺運行着docker 服務的物理主機已經淪陷了。咱們嘗試登錄下
.......
3、後記
關於端口漏洞的,相似的還有前段時間的redis,如今是docker。端口無端的對外開放,自己就是一種風險。並且是無關的端口。這次的2375是有 docker swarm 遠程api 開放的。徹底能夠對外禁止訪問該端口。如此簡單的就被我這樣的小白給利用了,並且還拿到了root 權限。
本文章旨在提示各大公司的領導,運維人員,及公司開發人員。注重服務器的安全,不重要的端口儘可能對內網開放。快去檢查大家的docker 服務器吧(放在公網的,內網的就算了)。
幾大提示:
1.利用系統iptables 禁止任務主機訪問2375,或者只容許公司內部訪問.
2.檢查系統有沒有其它無關業務的端口,禁止
3.系統禁止root 直接登錄。能夠利用普通用戶登陸後,用su切換。
4.東西雖然新,可是不安全因素也會增長。因此還須要多測試呀。
5.關注系統登陸日誌安全。進去了不少臺主機,這麼長時間了,如今還能夠登錄,說明了什麼?
以上測試僅僅針對的是國外的服務器進行的。主要用於提示工做人員,注重服務器安全。(該服務器的端口2375已經被我禁止了。。^_^)
4、結束、結束、結束
參考資料
: