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
को आवश्यकता है:
roles/compute.storageAdmin
roles/storage.objectAdmin
स्नैपशॉट और डिस्क को सीधे निर्यात करना संभव नहीं है, लेकिन एक स्नैपशॉट को डिस्क में, एक डिस्क को इमेज में बदलना संभव है और पिछले अनुभाग का पालन करते हुए, उस इमेज को निर्यात करना ताकि इसे स्थानीय रूप से निरीक्षण किया जा सके।
एक इमेज में संग्रहीत डेटा या चल रहे VM के अंदर से, जहाँ एक हमलावर ने एक इमेज बनाई है, उस इमेज पर एक बाहरी खाते को पहुँच प्रदान करना संभव है:
और फिर इससे एक नया VM बनाएं:
यदि आप अपनी बाहरी खाता छवि के माध्यम से पहुंच नहीं दे सके, तो आप पीड़ित की परियोजना में उस छवि का उपयोग करके एक VM लॉन्च कर सकते हैं और मेटाडेटा को एक रिवर्स शेल निष्पादित करने के लिए बना सकते हैं छवि तक पहुंच प्राप्त करने के लिए पैरामीटर जोड़ते हुए:
डिस्क या स्नैपशॉट में संग्रहीत डेटा तक पहुँचने के लक्ष्य के साथ, आप स्नैपशॉट को डिस्क में, डिस्क को इमेज में बदल सकते हैं और पिछले चरणों का पालन कर सकते हैं।
या आप एक बाहरी खाते को डिस्क पर पहुँच प्रदान कर सकते हैं (यदि प्रारंभिक बिंदु एक स्नैपशॉट है तो स्नैपशॉट पर पहुँच दें या इससे एक डिस्क बनाएं):
डिस्क को एक उदाहरण से जोड़ें:
Mount the disk inside the VM:
SSH into the VM:
Disk की पहचान करें: Once inside the VM, identify the new disk by listing the disk devices. Typically, you can find it as /dev/sdb
, /dev/sdc
, etc.
Disk को फॉर्मेट और माउंट करें (अगर यह एक नया या कच्चा डिस्क है):
एक माउंट पॉइंट बनाएं:
Disk को माउंट करें:
If you cannot give access to a external project to the snapshot or disk, you might need to perform these actions inside an instance in the same project as the snapshot/disk.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)