在哪裡獲得幫助:Rhino Security Labs Discord 或 Stack Overflow
在哪裡提交問題:https://github.com/RhinoSecurityLabs/pacu/issues
維護者:Rhino 安全實驗室
Pacu 是一個開源 AWS 開發框架,專為針對雲端環境的攻擊性安全測試而設計。 Pacu 由 Rhino Security Labs 創建和維護,允許滲透測試人員利用 AWS 帳戶內的配置缺陷,使用模組輕鬆擴展其功能。目前模組可實現一系列攻擊,包括使用者權限提升、IAM 使用者後門、攻擊易受攻擊的 Lambda 函數等等。
Pacu 是一個相當輕量級的程序,因為它只需要 Python3.7+ 和 pip3 來安裝一些 Python 函式庫。
> pip3 install -U pip > pip3 install -U pacu > pacu
有關更詳細且使用者友好的使用者說明集,請查看 Wiki 的安裝指南。
$ docker run -it rhinosecuritylabs/pacu:最新
$ docker run -it --entrypoint /bin/sh rhinosecuritylabs/pacu:最新
警告:執行此命令將在啟動 Docker 容器時將本機 AWS 設定檔掛載到該容器中。這意味著任何有權存取容器的使用者都將有權存取您的主機的 AWS 憑證。
$ docker run -it -v ~/.aws:/root/.aws rhinosecuritylabs/pacu:最新
第一次啟動 Pacu 時,系統會提示您啟動並命名新會話。此會話將用於儲存 AWS 金鑰對以及從運行各個模組獲得的任何資料。您可以在 Pacu 中擁有任意數量的不同會話,每個會話都有自己的 AWS 金鑰和資料集,並且可以隨時恢復會話(儘管當前需要重新啟動才能在會話之間切換)。
模組需要 AWS 金鑰,該金鑰授予您對 AWS 環境的最低存取權限,並由存取金鑰 ID 和秘密存取金鑰組成。若要設定會話金鑰,請使用set_keys
指令,然後依照指示提供金鑰別名(暱稱以供參考)、AWS 存取金鑰 ID、AWS 秘密存取金鑰和 AWS 會話代幣(如果您使用的是)。
如果您遇到困難, help
將顯示可用命令的清單。
list
將列出目前會話中設定的區域的可用模組。
help module_name
將傳回指定模組的適用說明資訊。
run module_name
將使用其預設參數來執行指定的模組。
run module_name --regions eu-west-1,us-west-1
將針對 eu-west-1 和 us-west-1 區域運行指定的模組(對於支援 --regions 參數的模組)
pacu --help
將顯示幫助選單
pacu --session
設定用於需要會話的命令的會話
pacu --list-modules
將列出所有可用的模組(不需要會話)
pacu --pacu-help
將列出 pacu 幫助視窗(不需要會話)
pacu --module-name
要執行操作的模組的名稱,您可以執行或獲取有關該模組的信息
pacu --exec
執行--module-name
中提供的模組
pacu --module-info
取得--module-name
中提供的模組的信息
pacu --data
查詢本地SQLAlchemy資料庫取得枚舉信息
pacu --module-args="
為正在執行的模組提供可選模組參數
pacu --set-regions
設定要在會話中使用的區域,以空格分隔區域或為所有區域輸入all
pacu --whoami
獲取有關當前用戶的信息
Pacu 使用一系列外掛模組來協助攻擊者在 AWS 環境中進行枚舉、權限升級、資料外洩、服務利用和日誌操作。歡迎對新模組做出貢獻或提出想法。
為了跟上持續的 AWS 產品開發步伐,我們從頭開始設計 Pacu 時就考慮到了可擴充性。通用語法和資料結構使模組易於建置和擴展 - 無需指定 AWS 區域或在模組之間進行冗餘權限檢查。 本地 SQLite 資料庫用於管理和操作檢索到的數據,最大限度地減少 API 呼叫(和相關日誌)。該框架還內建了報告和攻擊審計; Pacu 透過命令記錄和匯出來協助文件流程,幫助建立測試流程的時間表。
我們總是很高興收到 Pacu 框架本身的錯誤報告,以及對不同模組的測試和回饋,以及通常有助於完善框架的關鍵回饋。任何透過使用、測試、改進或只是傳播訊息對 Pacu 的支持都將非常感激。
如果您有興趣直接為 Pacu 框架本身做出貢獻,請閱讀我們的程式碼約定和 git-flow 註解的貢獻指南。
如果您有興趣為 Pacu 編寫自己的模組,請查看我們的模組開發 wiki 頁面。當您開發新功能時,請聯絡我們 - 我們很樂意將您的新模組添加到 Pacu 附帶的核心集合中。
改進介面格式
資料庫前向遷移和版本跟踪
「攻擊手冊」允許更輕鬆地使用複雜的模組執行鏈
彩色控制台輸出
模組試運轉功能
允許使用獨立設定檔
插件架構改進
Pacu 在 OSX 和 Linux 中得到正式支援。
Pacu 是開源軟體,並透過 BSD-3-Clause 授權進行分發。
透過電子郵件直接向我們報告 Pacu 中的漏洞:[email protected]。
Pacu 在每個會話的資料夾中建立錯誤日誌,並在主目錄中建立用於會話外錯誤的全域錯誤日誌。如果可以的話,請將這些日誌包含在錯誤報告中,因為它將大大簡化偵錯過程。
如果您有功能請求、想法或錯誤需要報告,請在此提交。
請提供足以重現您發現的錯誤的描述,包括回溯和重現步驟,並在提交新的錯誤報告之前檢查您的錯誤的其他報告。不要提交重複項。
有關演練和完整文檔,請造訪 Pacu wiki。
無論出於何種原因,我們都很樂意聽取您的意見。接觸 Rhino 安全實驗室 Discord。
據我們所知,Pacu 的功能符合 AWS 可接受使用政策,但作為一種靈活的模組化工具,我們無法保證在所有情況下都是如此。您完全有責任確保您使用 Pacu 的方式符合 AWS 可接受使用政策。
根據您使用的 AWS 服務以及您規劃的測試需要什麼,您可能需要在針對您的基礎架構實際執行 Pacu 之前查看滲透測試的 AWS 客戶支援政策。
與任何滲透測試工具一樣,您有責任在您的環境之外使用 Pacu 之前獲得適當的授權。
Pacu 是絕對不附帶任何保證的軟體。透過使用 Pacu,您對由此產生的任何及所有結果承擔全部責任。