GCP - Compute Post Exploitation
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Compute और VPC (Networking) के बारे में अधिक जानकारी के लिए देखें:
GCP - Compute Enumयह एक हमलावर को पहले से मौजूद इमेज में निहित डेटा तक पहुंचने या चल रहे VMs की नई इमेज बनाने और उनके डेटा तक पहुंचने की अनुमति देगा बिना चल रहे VM तक पहुंच के।
एक VM इमेज को एक बकेट में निर्यात करना और फिर उसे डाउनलोड करना और स्थानीय रूप से माउंट करना संभव है, कमांड के साथ:
इस क्रिया को करने के लिए हमलावर को स्टोरेज बकेट पर विशेषाधिकार की आवश्यकता हो सकती है और निश्चित रूप से cloudbuild पर विशेषाधिकार की आवश्यकता है क्योंकि यह सेवा है जिसे निर्यात करने के लिए कहा जाएगा।
इसके अलावा, इसके काम करने के लिए codebuild SA और compute SA को विशेषाधिकार प्राप्त अनुमतियों की आवश्यकता है।
cloudbuild SA <project-id>@cloudbuild.gserviceaccount.com
को आवश्यकता है:
roles/iam.serviceAccountTokenCreator
roles/compute.admin
roles/iam.serviceAccountUser
और SA <project-id>-compute@developer.gserviceaccount.com
को आवश्यकता है:
oles/compute.storageAdmin
roles/storage.objectAdmin
स्नैपशॉट और डिस्क को सीधे निर्यात करना संभव नहीं है, लेकिन एक स्नैपशॉट को डिस्क में, एक डिस्क को इमेज में बदलना संभव है और पिछले अनुभाग का पालन करते हुए, उस इमेज को निर्यात करना ताकि इसे स्थानीय रूप से निरीक्षण किया जा सके।
एक इमेज में संग्रहीत डेटा या चल रहे VM के अंदर से, जहाँ एक हमलावर ने एक इमेज बनाई है, एक बाहरी खाते को इमेज पर पहुँच प्रदान करना संभव है:
और फिर इससे एक नया VM बनाएं:
यदि आप अपनी बाहरी खाता छवि के माध्यम से पहुँच नहीं दे सके, तो आप पीड़ित की परियोजना में उस छवि का उपयोग करके एक VM लॉन्च कर सकते हैं और मेटाडेटा को एक रिवर्स शेल निष्पादित करने के लिए बना सकते हैं छवि तक पहुँचने के लिए पैरामीटर जोड़ते हुए:
डिस्क या स्नैपशॉट में संग्रहीत डेटा तक पहुँचने के लक्ष्य के साथ, आप स्नैपशॉट को डिस्क में, डिस्क को इमेज में बदल सकते हैं और पिछले चरणों का पालन कर सकते हैं।
या आप एक बाहरी खाते को डिस्क पर पहुँच प्रदान कर सकते हैं (यदि प्रारंभिक बिंदु एक स्नैपशॉट है तो स्नैपशॉट पर पहुँच दें या इससे एक डिस्क बनाएं):
एक उदाहरण के लिए डिस्क जोड़ें:
Mount the disk inside the VM:
VM में SSH करें:
डिस्क पहचानें: VM के अंदर पहुँचने के बाद, डिस्क उपकरणों की सूची बनाकर नई डिस्क की पहचान करें। आमतौर पर, आप इसे /dev/sdb
, /dev/sdc
, आदि के रूप में पा सकते हैं।
डिस्क को फॉर्मेट और माउंट करें (यदि यह एक नई या कच्ची डिस्क है):
एक माउंट पॉइंट बनाएं:
डिस्क को माउंट करें:
यदि आप snapshot या disk के लिए एक बाहरी प्रोजेक्ट को एक्सेस नहीं दे सकते, तो आपको snapshot/disk के समान प्रोजेक्ट में एक इंस्टेंस के अंदर ये क्रियाएँ करनी पड़ सकती हैं।
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)