gcpwn 是我在嘗試學習 GCP 時建立的工具,並利用了較新的 GRPC 用戶端函式庫。它由我編寫的眾多枚舉模組以及利用該領域其他人(例如Rhino Security)所做的研究的利用模組以及一些現有的已知獨立工具(例如GCPBucketBrute)組成,努力使該工具成為GCP 測試的一站式商店。雖然其他漏洞利用腳本通常是一次性使用的,但 GCPwn 在您運行模組時會儲存數據和權限,為您組織數據,並重新使用它,使您在滲透測試/追蹤權限方面更輕鬆。
作者:Scott Weston (@webbinroot),NetSPI
所需相依性:請參閱Requirements.txt + Wiki 安裝指南
依賴項說明:主要在 Kali Linux 上測試;透過 Dockerfile 可以安裝 Docker
該工具主要面向滲透測試人員、剛學習 GCP 安全的人員以及一般安全研究人員。
對於滲透測試人員來說,如上所示,該工具會自動執行您通常運行的許多腳本並儲存數據,以使漏洞利用模組的執行變得簡單。
對於那些剛學習 GCP 安全性的人來說,該工具的設定方式是,當您深入研究各個服務時,應該可以輕鬆地透過 Pull 請求添加您自己的模組。
對於安全研究人員來說,該工具允許您運行大量 GCP API 調用,並且我記錄瞭如何透過 Burp Suite 等本地工具在後台代理該工具。因此,透過 burp suite 執行enum_all
記錄所有請求,您可以透過一個命令了解所有不同 python 庫中的所有不同 API 端點。至少這是希望,如果有人能完成破解程式碼的話,我可以部分使用環境變數:)
查看 wiki:https://github.com/NetSPI/gcpwn/wiki:
安裝說明和資料夾設定:如何設定首次使用該工具和使用的預設資料夾
身份驗證管理和令牌資訊:載入使用者和/或服務憑證以取得憑證設定
管理專案和檢索資源資料:如何管理專案 ID 以及如何從 SQLite 表檢索枚舉資料。
模組指南:如何呼叫模組+深入了解每個模組
模組建立:如何透過拉取請求來新增您自己的模組(進行中 - 目標日期 2024 年 9 月 15 日)
研究難題:研究主題/開放問題(進行中 - 目標日期 2024 年 9 月 22 日)
該工具將自動預設為“表”標準輸出。工具支援表格、txt 和 csv。如果您遇到表格問題,可以使用下列命令變更全域設定:
# See global configs global_configs # Set global configs for preferred output global_configs set std-output txt
或者您可以在每個modules run
命令中傳入--txt
、 --table
和/或--csv
來更改 stdoutput
modules run enum_buckets --txt
枚舉的資料儲存在 GCPwn 的本機表中。若要查看表輸出,請運行
# See all tables data tables # See all table columns data tables--columns # Get all data back and export to CSV file data --columns column1,column2 --csv [OUTPUT_FILE]
運行enum_all
模組,然後執行creds info
以查看新枚舉的權限。然後, process_iam_bindings
模組將為您提供策略綁定的 TXT/CSV 摘要(如果可以枚舉),並且analyze_vulns
將嘗試標記錯誤的角色/權限。請參閱下面的常見標誌。
列舉所有內容(選擇最適合的一項)
# Quickest: Run all enumeration modules + testIAM Permissions modules run enum_all --iam # Longer: Run all enumeration modules + testIAM Permissions including ~9000 for projects/folder/org modules run enum_all --iam --all-permissions # Longer + Downloads: Run all enumeration modules + testIAM Permissions including ~9000 for projects/folder/org + download everyting modules run enum_all --iam --all-permissions --download
從 enum_all 或上述其他模組取得所有 IAM 策略綁定並傳回摘要/漏洞分析
# Review Permissions User Has Thus Far creds info # Return Policy Summary from IAM Bindings if Applicable modules run process_iam_bindings [--txt] [--csv] # Analyze IAM Bindings + Other Items (like allUsers) if Applicable modules run analyze_vulns [--txt] [--csv]
fwd:cloudsec 2024:https://www.youtube.com/watch?v=opvv9h3Qe0s(「GCPwn:GCP 的滲透測試工具 - Scott Weston」)
Defcon 32 雲村:https://www.youtube.com/watch?v=rxXyYo1n9cw
https://www.netspi.com/blog/technical-blog/cloud-pentesting/introduction-to-gcpwn-part-1/
我會關注任何很酷的新東西的問題/拉動,也就是說我確實有一份日常工作,所以給我至少 24 小時之類的:)
如果它是一個小問題,則更喜歡透過「問題」標籤進行問題以快速修復。
建立在巨人的肩膀上,一些代碼和想法/研究的信譽受到以下啟發:
犀牛安全 (https://rhinosecuritylabs.com/gcp/privilege-escalation-google-cloud-platform-part-1/)
GCPBucketBrute (https://github.com/RhinoSecurityLabs/GCPBucketBrute)
大量 Google 文件 (https://cloud.google.com/python/docs/reference)