歡迎來到 黑吧安全網 聚焦網絡安全前沿資訊,精華內容,交流技術心得!

CVE-2019-16097 Harbor權限提升漏洞分析

來源:本站整理 作者:佚名 時間:2019-09-23 TAG: 我要投稿

Harbor是一個用于存儲和分發Docker鏡像的企業級Registry服務器,通過添加一些企業必需的功能特性,例如安全、標識和管理等,擴展了開源Docker Distribution。作為一個企業級私有Registry服務器,Harbor提供了更好的性能和安全。提升用戶使用Registry構建和運行環境傳輸鏡像的效率。Harbor支持安裝在多個Registry節點的鏡像資源復制,鏡像全部保存在私有Registry中, 確保數據和知識產權在公司內部網絡中管控。另外,Harbor也提供了高級的安全特性,諸如用戶管理,訪問控制和活動審計等。
Unit 42安全研究人員Aviv Sasson在Harbor中發現了一個嚴重漏洞,攻擊者利用該漏洞可以通過發送惡意請求來控制Harbor注冊表。Unit 42研究人員發現有超過1300個使用有漏洞的默認配置的Harbor Registry服務器可以通過互聯網訪問。
背景
研究人員在Harbor項目中發現了一個重要的權限提升漏洞,攻擊者利用該漏洞可以在默認配置下獲取admin權限。該漏洞于9月10日公布,CVE編號為 CVE-2019-16097。
Harbor項目在過去4年內的知名度和流行度不斷攀升,并于去年11月成為CNCF incubating project (CNCF孵化項目)。Harbor項目的贊助商和使用企業包括:

圖1. Harbor項目的贊助商和使用企業
漏洞影響
該漏洞的影響非常嚴重,因為在獲取admin權限后,可以初始化許多攻擊向量。攻擊者可以下載和查看所有的私有項目,可以刪除registry上的鏡像,甚至可以替換鏡像來污染registry。攻擊者可以創建新的用戶,并將它設置為admin。之后,攻擊者可以通過Docker命令行工具用新的憑證連接Harbor registry,并替換當前的鏡像。惡意鏡像可以說惡意軟件、加密貨幣挖礦機等。
POC視頻如下:
https://www.biantube.com/watch/LBgIKqdfF1k
漏洞分析
首先分析User結構:

圖2. Harbor源代碼中的User結構
研究人員關注的目標參數是HasAdminRole,該參數的目的是表明用戶是否admin。如果可以修改為True,攻擊的目的就達到了。
那么如何實現呢?首先分析API調用,如果有人嘗試訪問/api/users,那么就會發現一些有趣的調用:

圖3. /api/users
如果用戶想要發送POST請求,就可以到達負責新用戶注冊的代碼段。

 圖4. POST請求處理邏輯
漏洞位于user.go:317中:
if err := ua.DecodeJSONReq(&user); err != nil
在該行代碼中,我們可以從POST請求中獲取數據,然后解碼為用戶對象。
正常的請求payload如下所示:
{“username”:”test”,”email”:”[email protected]”,”realname”:”no name”,”password”:”Password1\u0021″,”comment”:null}
問題在于攻擊者可以發送一個請求,并加入參數has_admin_role。如果發送“had_admin_role” = “True”的請求,就可以創建為admin的用戶。
漏洞利用
研究人員寫了一個簡單的python腳本,用來發送POST請求到/api/users來創建權限為admin的新用戶,需要在request body中將參數has_admin_role設置為True。運行腳本后,唯一需要做的是在瀏覽器中打開Harbor,并用新創建的用戶登入。
解決方案
Harbor團隊發布了解決該漏洞的補丁,9月18日發布的Harbor versions 1.7.6和1.8.3版本中都進行了安全更新。發布注釋中說是通過禁止注冊時創建admin用戶來解決該問題。
開發者加入了一個檢查過程來防止非管理員用戶創建新的admin用戶。該漏洞存在于1.70-1.8.2版本中,因此研究人員建議用戶盡快更新到最新版本。
 

【聲明】:黑吧安全網(http://www.fhetww.live)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。
  • 最新更新
    • 相關閱讀
      • 本類熱門
        • 最近下載
        江西十一选五走势图爱彩乐