跳轉 shell - bin/bash - 轉義受限 shell

跳躍式 Shell:攻擊者如何逃逸受限 Shell 到 /bin/bash

什麼是限制性龜殼?為什麼跳躍龜殼攻擊很重要?

受限 shell 用於控制使用者可以執行的命令,通常會阻止諸如以下操作: cd例如,啟動新的 shell 或匯出環境變數。它們通常部署在… CI/CD 代理或建構環境來限制使用者行為。 然而,攻擊者會尋找執行跳躍 shell 的方法,這種方法用於逃離受限 shell 環境並存取不受限制的 shell,例如 bin/bash一旦進入 it攻擊者擁有完全的命令列控制權,繞過了受限環境的所有限制。

跳轉 Shell 的工作原理:從受限 Shell 到 bin/bash

跳躍殼的目標是利用受限環境中的弱點,觸發殼逃逸,從而實現… bin/bash常見的突破受限 shell 攻擊的技術包括:

$ ls /bin/bash $ /bin/bash

If bin/bash 如果可以訪問,這個簡單的調用即可完成。

另一種常用方法:

$ echo "/bin/bash" > run.sh $ sh run.sh 

攻擊者也可能利用諸如編輯器之類的漏洞。 vi or :

vi :set shell=/bin/bash :shell 

這些方法充分說明了跳躍龜殼是如何輕易地導致… bin/bash 執行,有效繞過受限的 shell 保護。

DevOps 中這些攻擊的真正風險

共享 CI/CD 在各種環境中,受限的 shell 用於隔離建置並降低風險。但是,當攻擊者成功使用跳躍 shell 並到達目標位置時,仍然會觸發攻擊。 bin/bash安全模型崩潰了。

風險包括:

  • 未經授權存取環境金鑰
  • 透過不受限制的權限提升 bin/bash
  • 篡改建築 pipeline或人工製品
  • 在內部部署持久性工具 pipeline

逃逸限制了 shell bin/bash 這為整個系統遭到徹底破壞打開了方便之門,而這往往是更廣泛破壞行動的第一步。 DevSecOps攻擊.

監控和偵測跳轉 shell 和 bin/bash 轉義

為了偵測跳躍式 shell 行為並阻止受限的 shell 嘗試,安全團隊必須:

  • 記錄所有 shell 活動,特別是 / bin / bash 執行
  • 監控編輯器濫用和腳本使用情況,將其作為 shell 生成途徑
  • 追蹤對 shell 設定檔的訪問,例如 的.bashrc or .bash_配置文件

行為模式,例如啟動 bin/bash 來自受限環境的此類警報應視為高優先級警報。及早發現可以防止更深層的橫向擴散。

防止逃逸限制殼攻擊和漏洞利用

為了降低跳躍殼的風險並防止攻擊者發動攻擊 bin/bash:

  • 強化受限外殼:移除或阻止 訪問
  • 使用 AppArmor 或 SELinux 來限制命令執行
  • 強制執行最小權限原則 CI/CD 角色和跑者
  • 使用缺少 shell 的 distroless 鏡像對建置進行容器化,例如 bin/bash
  • 在建置前後驗證環境,以發現異常情況

防止逃逸受限 shell 場景需要多層控制,而不僅僅是依賴受限 shell。不要想當然地認為受限 shell 就是安全的。 bin/bash 甚至有可能到達。

結論:彈殼逃逸點是入口點

受限外殼只是一層防禦,並非萬無一失。跳躍式外殼攻擊的目標是薄弱的隔離和不完美的驗證機制。一旦進入該外殼,攻擊者便會發動攻擊。 / bin / bash攻擊者可以轉移目標、持續攻擊並破壞 DevSecOps 基礎設施。

檢測和隔離至關重要。結合命令日誌記錄、受限環境以及對軟體包管理器進行適當的清理,可以降低風險。

最後,還有像……這樣的工具。 Xygeni 提供這些風險的可見性。它們有助於加強程式碼完整性,偵測異常的 shell 行為,以及 確保您的安全 pipeline來自內部和外部威脅包括那些以簡單的跳躍龜殼開始的龜殼 / bin / bash 或試圖逃離受限的 shell 環境。

sca-tools-software-composition-analysis-tools
優先處理、補救並保護您的軟體風險
註冊免費帳號。
不需要信用卡。

確保您的軟體開發和交付安全

使用 Xygeni 產品套件