GCP - Compute Post Exploitation
Compute
Compute और VPC (Networking) के बारे में अधिक जानकारी के लिए देखें:
GCP - Compute EnumExport & Inspect Images locally
यह एक हमलावर को पहले से मौजूद इमेज में निहित डेटा तक पहुंचने या चल रहे 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 बनाएं:
यदि आप अपने बाहरी खाते को इमेज पर एक्सेस नहीं दे सकते, तो आप पीड़ित के प्रोजेक्ट में उस इमेज का उपयोग करके एक VM लॉन्च कर सकते हैं और मेटाडेटा को रिवर्स शेल निष्पादित करने के लिए इमेज में निम्नलिखित पैरामीटर जोड़ सकते हैं:
Inspect a Snapshot/Disk attaching it to a VM
डिस्क या स्नैपशॉट में संग्रहीत डेटा तक पहुंचने के लक्ष्य के साथ, आप स्नैपशॉट को डिस्क में बदल सकते हैं, डिस्क को इमेज में बदल सकते हैं और पिछले चरणों का पालन कर सकते हैं।
या आप डिस्क पर बाहरी खाते को एक्सेस प्रदान कर सकते हैं (यदि प्रारंभिक बिंदु स्नैपशॉट है तो स्नैपशॉट पर एक्सेस दें या उससे डिस्क बनाएं):
डिस्क को अटैच करें एक instance पर:
VM के अंदर डिस्क माउंट करें:
VM में SSH करें:
डिस्क की पहचान करें: VM के अंदर, नई डिस्क की पहचान करें डिस्क डिवाइस को लिस्ट करके। आमतौर पर, आप इसे
/dev/sdb
,/dev/sdc
, आदि के रूप में पा सकते हैं।डिस्क को फॉर्मेट और माउंट करें (यदि यह एक नई या रॉ डिस्क है):
एक माउंट पॉइंट बनाएं:
डिस्क माउंट करें:
यदि आप snapshot या डिस्क को किसी बाहरी प्रोजेक्ट को एक्सेस नहीं दे सकते, तो आपको snapshot/disk के समान प्रोजेक्ट में एक instance के अंदर ये क्रियाएं करनी पड़ सकती हैं।
Last updated