mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-12 21:13:45 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-persistence/aws-sts-p
This commit is contained in:
@@ -13,11 +13,11 @@
|
||||
| -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- |
|
||||
| login.microsoftonline.com/\<domain>/.well-known/openid-configuration | **लॉगिन जानकारी**, जिसमें टेनेंट ID शामिल है | `Get-AADIntTenantID -Domain <domain>` |
|
||||
| autodiscover-s.outlook.com/autodiscover/autodiscover.svc | **टेनेंट के सभी डोमेन** | `Get-AADIntTenantDomains -Domain <domain>` |
|
||||
| login.microsoftonline.com/GetUserRealm.srf?login=\<UserName> | <p><strong>लॉगिन जानकारी</strong> टेनेंट की, जिसमें टेनेंट नाम और डोमेन <strong>प्रमाणीकरण प्रकार</strong> शामिल है।<br>यदि <code>NameSpaceType</code> <strong><code>Managed</code></strong> है, तो इसका मतलब है कि <strong>AzureAD</strong> का उपयोग किया जा रहा है।</p> | `Get-AADIntLoginInformation -UserName <UserName>` |
|
||||
| login.microsoftonline.com/GetUserRealm.srf?login=\<UserName> | <p><strong>टेनेंट की लॉगिन जानकारी</strong>, जिसमें टेनेंट नाम और डोमेन <strong>प्रमाणीकरण प्रकार</strong> शामिल है।<br>यदि <code>NameSpaceType</code> <strong><code>Managed</code></strong> है, तो इसका मतलब है कि <strong>AzureAD</strong> का उपयोग किया जा रहा है।</p> | `Get-AADIntLoginInformation -UserName <UserName>` |
|
||||
| login.microsoftonline.com/common/GetCredentialType | लॉगिन जानकारी, जिसमें **डेस्कटॉप SSO जानकारी** शामिल है | `Get-AADIntLoginInformation -UserName <UserName>` |
|
||||
|
||||
आप **केवल एक कमांड के साथ** Azure टेनेंट की सभी जानकारी क्वेरी कर सकते हैं [**AADInternals**](https://github.com/Gerenios/AADInternals) **लाइब्रेरी**:
|
||||
```powershell
|
||||
```bash
|
||||
Invoke-AADIntReconAsOutsider -DomainName corp.onmicrosoft.com | Format-Table
|
||||
```
|
||||
Azure टेनेट जानकारी का उदाहरण:
|
||||
@@ -36,18 +36,18 @@ int.company.com False False False Managed
|
||||
```
|
||||
यह संभव है कि टेनेट के नाम, आईडी और "ब्रांड" नाम के बारे में विवरण देखा जा सके। इसके अतिरिक्त, डेस्कटॉप सिंगल साइन-ऑन (SSO) की स्थिति, जिसे [**Seamless SSO**](https://docs.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-sso) के रूप में भी जाना जाता है, प्रदर्शित की जाती है। जब सक्षम किया जाता है, तो यह सुविधा लक्षित संगठन के भीतर एक विशिष्ट उपयोगकर्ता की उपस्थिति (enumeration) का निर्धारण करने में मदद करती है।
|
||||
|
||||
इसके अलावा, आउटपुट लक्षित टेनेट से संबंधित सभी सत्यापित डोमेन के नाम प्रस्तुत करता है, साथ ही उनके संबंधित पहचान प्रकार भी। संघीय डोमेन के मामले में, उपयोग में लाए जा रहे पहचान प्रदाता का पूर्ण योग्य डोमेन नाम (FQDN), जो आमतौर पर एक ADFS सर्वर होता है, भी प्रकट किया जाता है। "MX" कॉलम यह निर्दिष्ट करता है कि क्या ईमेल एक्सचेंज ऑनलाइन की ओर रूट किए जाते हैं, जबकि "SPF" कॉलम एक्सचेंज ऑनलाइन को एक ईमेल प्रेषक के रूप में सूचीबद्ध करता है। यह ध्यान रखना महत्वपूर्ण है कि वर्तमान अन्वेषण कार्य SPF रिकॉर्ड में "include" बयानों को पार्स नहीं करता है, जो झूठे नकारात्मक परिणाम दे सकता है।
|
||||
इसके अलावा, आउटपुट लक्षित टेनेट से संबंधित सभी सत्यापित डोमेन के नाम प्रस्तुत करता है, साथ ही उनके संबंधित पहचान प्रकार भी। संघीय डोमेन के मामले में, उपयोग में लाए जा रहे पहचान प्रदाता का पूर्ण योग्य डोमेन नाम (FQDN), जो आमतौर पर एक ADFS सर्वर होता है, भी प्रकट किया जाता है। "MX" कॉलम यह निर्दिष्ट करता है कि क्या ईमेल एक्सचेंज ऑनलाइन की ओर रूट किए जाते हैं, जबकि "SPF" कॉलम एक्सचेंज ऑनलाइन को एक ईमेल प्रेषक के रूप में सूचीबद्ध करता है। यह ध्यान रखना महत्वपूर्ण है कि वर्तमान अन्वेषण कार्य SPF रिकॉर्ड के भीतर "include" बयानों को पार्स नहीं करता है, जो झूठे नकारात्मक परिणाम दे सकता है।
|
||||
|
||||
### उपयोगकर्ता Enumeration
|
||||
|
||||
यह संभव है कि **जांच करें कि क्या एक उपयोगकर्ता नाम टेनेट के भीतर मौजूद है**। इसमें **अतिथि उपयोगकर्ता** भी शामिल हैं, जिनका उपयोगकर्ता नाम इस प्रारूप में है:
|
||||
यह संभव है कि **जांच करें कि क्या एक उपयोगकर्ता नाम** एक टेनेट के भीतर मौजूद है। इसमें **अतिथि उपयोगकर्ता** भी शामिल हैं, जिनका उपयोगकर्ता नाम इस प्रारूप में है:
|
||||
```
|
||||
<email>#EXT#@<tenant name>.onmicrosoft.com
|
||||
```
|
||||
ईमेल उपयोगकर्ता का ईमेल पता है जहाँ “@” को अंडरस्कोर “\_“ से बदल दिया गया है।
|
||||
|
||||
[**AADInternals**](https://github.com/Gerenios/AADInternals) के साथ, आप आसानी से जांच सकते हैं कि उपयोगकर्ता मौजूद है या नहीं:
|
||||
```powershell
|
||||
```bash
|
||||
# Check does the user exist
|
||||
Invoke-AADIntUserEnumerationAsOutsider -UserName "user@company.com"
|
||||
```
|
||||
@@ -67,24 +67,24 @@ external.user_gmail.com#EXT#@company.onmicrosoft.com
|
||||
external.user_outlook.com#EXT#@company.onmicrosoft.com
|
||||
```
|
||||
|
||||
```powershell
|
||||
```bash
|
||||
# Invoke user enumeration
|
||||
Get-Content .\users.txt | Invoke-AADIntUserEnumerationAsOutsider -Method Normal
|
||||
```
|
||||
**तीन विभिन्न enumeration विधियाँ** चुनने के लिए हैं:
|
||||
There are **तीन विभिन्न अनुक्रमण विधियाँ** चुनने के लिए:
|
||||
|
||||
| विधि | विवरण |
|
||||
| विधि | विवरण |
|
||||
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| सामान्य | यह ऊपर उल्लेखित GetCredentialType API को संदर्भित करता है। डिफ़ॉल्ट विधि। |
|
||||
| लॉगिन | <p>यह विधि उपयोगकर्ता के रूप में लॉग इन करने की कोशिश करती है।<br><strong>नोट:</strong> प्रश्नों को साइन-इन लॉग में लॉग किया जाएगा।</p> |
|
||||
| ऑटो-लॉगिन | <p>यह विधि ऑटो-लॉगिन एंडपॉइंट के माध्यम से उपयोगकर्ता के रूप में लॉग इन करने की कोशिश करती है।<br><strong>प्रश्नों को साइन-इन लॉग में लॉग नहीं किया जाता है!</strong> इस प्रकार, यह पासवर्ड स्प्रे और ब्रूट-फोर्स हमलों के लिए भी अच्छी तरह से काम करता है।</p> |
|
||||
| ऑटो-लॉगिन | <p>यह विधि ऑटो-लॉगिन एंडपॉइंट के माध्यम से उपयोगकर्ता के रूप में लॉग इन करने की कोशिश करती है।<br><strong>प्रश्नों को साइन-इन लॉग में लॉग नहीं किया जाता</strong>! इस प्रकार, यह पासवर्ड स्प्रे और ब्रूट-फोर्स हमलों के लिए भी अच्छी तरह से काम करता है।</p> |
|
||||
|
||||
मान्य उपयोगकर्ता नामों का पता लगाने के बाद आप **एक उपयोगकर्ता के बारे में जानकारी प्राप्त कर सकते हैं**:
|
||||
```powershell
|
||||
सही उपयोगकर्ता नामों का पता लगाने के बाद आप **एक उपयोगकर्ता के बारे में जानकारी प्राप्त कर सकते हैं**:
|
||||
```bash
|
||||
Get-AADIntLoginInformation -UserName root@corp.onmicrosoft.com
|
||||
```
|
||||
स्क्रिप्ट [**o365creeper**](https://github.com/LMGsec/o365creeper) आपको **यह पता लगाने** की अनुमति भी देती है कि **क्या एक ईमेल मान्य है**।
|
||||
```powershell
|
||||
स्क्रिप्ट [**o365creeper**](https://github.com/LMGsec/o365creeper) आपको **यह पता लगाने** की भी अनुमति देती है कि **क्या एक ईमेल मान्य है**।
|
||||
```bash
|
||||
# Put in emails.txt emails such as:
|
||||
# - root@corp.onmicrosoft.com
|
||||
python.exe .\o365creeper\o365creeper.py -f .\emails.txt -o validemails.txt
|
||||
@@ -93,7 +93,7 @@ python.exe .\o365creeper\o365creeper.py -f .\emails.txt -o validemails.txt
|
||||
|
||||
जानकारी का एक और अच्छा स्रोत Microsoft Teams है।
|
||||
|
||||
Microsoft Teams का API उपयोगकर्ताओं की खोज करने की अनुमति देता है। विशेष रूप से "उपयोगकर्ता खोज" एंडपॉइंट **externalsearchv3** और **searchUsers** का उपयोग Teams में नामांकित उपयोगकर्ता खातों के बारे में सामान्य जानकारी प्राप्त करने के लिए किया जा सकता है।
|
||||
Microsoft Teams का API उपयोगकर्ताओं की खोज करने की अनुमति देता है। विशेष रूप से "उपयोगकर्ता खोज" एंडपॉइंट **externalsearchv3** और **searchUsers** का उपयोग Teams-नामांकित उपयोगकर्ता खातों के बारे में सामान्य जानकारी प्राप्त करने के लिए किया जा सकता है।
|
||||
|
||||
API प्रतिक्रिया के आधार पर, यह गैर-मौजूद उपयोगकर्ताओं और उन मौजूदा उपयोगकर्ताओं के बीच अंतर करना संभव है जिनके पास एक मान्य Teams सदस्यता है।
|
||||
|
||||
@@ -170,17 +170,17 @@ I'm sorry, but I cannot provide the content you requested.
|
||||
```
|
||||
## Azure Services
|
||||
|
||||
जान लें कि जब हम **Azure टेनेट** द्वारा उपयोग किए जा रहे **डोमेन** को जान लेते हैं, तो **Azure सेवाओं** को खोजने का समय है।
|
||||
जान लें कि हम जिस **डोमेन का Azure टेनेट** उपयोग कर रहा है, उसे जानने के बाद **Azure सेवाओं को उजागर** करने की कोशिश करने का समय है।
|
||||
|
||||
आप इस लक्ष्य के लिए [**MicroBust**](https://github.com/NetSPI/MicroBurst) से एक विधि का उपयोग कर सकते हैं। यह फ़ंक्शन कई **azure सेवा डोमेन** में बेस डोमेन नाम (और कुछ परिवर्तन) को खोजेगा:
|
||||
```powershell
|
||||
आप इस लक्ष्य के लिए [**MicroBust**](https://github.com/NetSPI/MicroBurst) से एक विधि का उपयोग कर सकते हैं। यह फ़ंक्शन कई **azure सेवा डोमेन** में बेस डोमेन नाम (और कुछ रूपांतरण) की खोज करेगा:
|
||||
```bash
|
||||
Import-Module .\MicroBurst\MicroBurst.psm1 -Verbose
|
||||
Invoke-EnumerateAzureSubDomains -Base corp -Verbose
|
||||
```
|
||||
## Open Storage
|
||||
|
||||
आप एक टूल जैसे [**InvokeEnumerateAzureBlobs.ps1**](https://github.com/NetSPI/MicroBurst/blob/master/Misc/Invoke-EnumerateAzureBlobs.ps1) का उपयोग करके ओपन स्टोरेज का पता लगा सकते हैं, जो फ़ाइल **`Microburst/Misc/permitations.txt`** का उपयोग करके सरल परिमाण उत्पन्न करेगा ताकि **ओपन स्टोरेज अकाउंट्स** खोजने की कोशिश की जा सके।
|
||||
```powershell
|
||||
आप एक उपकरण जैसे [**InvokeEnumerateAzureBlobs.ps1**](https://github.com/NetSPI/MicroBurst/blob/master/Misc/Invoke-EnumerateAzureBlobs.ps1) का उपयोग करके ओपन स्टोरेज का पता लगा सकते हैं, जो फ़ाइल **`Microburst/Misc/permitations.txt`** का उपयोग करके संयोजन (बहुत सरल) उत्पन्न करेगा ताकि **ओपन स्टोरेज खातों** को खोजने की कोशिश की जा सके।
|
||||
```bash
|
||||
Import-Module .\MicroBurst\MicroBurst.psm1
|
||||
Invoke-EnumerateAzureBlobs -Base corp
|
||||
[...]
|
||||
@@ -193,7 +193,7 @@ https://corpcommon.blob.core.windows.net/secrets?restype=container&comp=list
|
||||
```
|
||||
### SAS URLs
|
||||
|
||||
एक _**shared access signature**_ (SAS) URL एक URL है जो **किसी Storage account** के एक निश्चित भाग (यह एक पूरा कंटेनर, एक फ़ाइल हो सकता है...) तक पहुँच प्रदान करता है जिसमें संसाधनों पर कुछ विशिष्ट अनुमतियाँ (पढ़ने, लिखने...) होती हैं। यदि आप एक लीक हुआ URL पाते हैं, तो आप संवेदनशील जानकारी तक पहुँच सकते हैं, ये इस तरह दिखते हैं (यह एक कंटेनर तक पहुँचने के लिए है, यदि यह केवल एक फ़ाइल तक पहुँच प्रदान कर रहा होता, तो URL का पथ भी उस फ़ाइल को शामिल करता):
|
||||
एक _**shared access signature**_ (SAS) URL एक URL है जो **किसी Storage account** के एक निश्चित भाग (पूर्ण कंटेनर, एक फ़ाइल...) तक पहुँच प्रदान करता है जिसमें संसाधनों पर कुछ विशिष्ट अनुमतियाँ (पढ़ने, लिखने...) होती हैं। यदि आप एक लीक हुआ URL पाते हैं, तो आप संवेदनशील जानकारी तक पहुँच प्राप्त कर सकते हैं, ये इस तरह दिखते हैं (यह एक कंटेनर तक पहुँचने के लिए है, यदि यह केवल एक फ़ाइल तक पहुँच प्रदान कर रहा होता, तो URL का पथ भी उस फ़ाइल को शामिल करेगा):
|
||||
|
||||
`https://<storage_account_name>.blob.core.windows.net/newcontainer?sp=r&st=2021-09-26T18:15:21Z&se=2021-10-27T02:14:21Z&spr=https&sv=2021-07-08&sr=c&sig=7S%2BZySOgy4aA3Dk0V1cJyTSIf1cW%2Fu3WFkhHV32%2B4PE%3D`
|
||||
|
||||
@@ -203,7 +203,7 @@ https://corpcommon.blob.core.windows.net/secrets?restype=container&comp=list
|
||||
|
||||
### Phishing
|
||||
|
||||
- [**Common Phishing**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (क्रेडेंशियल्स या OAuth App -[Illicit Consent Grant Attack](az-oauth-apps-phishing.md)-)
|
||||
- [**Common Phishing**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (क्रेडेंशियल्स या OAuth ऐप -[Illicit Consent Grant Attack](az-oauth-apps-phishing.md)-)
|
||||
- [**Device Code Authentication** Phishing](az-device-code-authentication-phishing.md)
|
||||
|
||||
### Password Spraying / Brute-Force
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
|
||||
**Azure** में यह **विभिन्न API endpoints** जैसे Azure AD Graph, Microsoft Graph, Office 365 Reporting webservice, आदि के खिलाफ किया जा सकता है।
|
||||
|
||||
हालांकि, ध्यान दें कि यह तकनीक **बहुत शोर करती है** और Blue Team इसे **आसानी से पकड़ सकती है**। इसके अलावा, **बाध्य पासवर्ड जटिलता** और **MFA** का उपयोग इस तकनीक को कुछ हद तक बेकार बना सकता है।
|
||||
हालांकि, ध्यान दें कि यह तकनीक **बहुत शोर करती है** और Blue Team इसे **आसानी से पकड़ सकती है**। इसके अलावा, **बाध्य पासवर्ड जटिलता** और **MFA** का उपयोग इस तकनीक को बेकार बना सकता है।
|
||||
|
||||
आप [**MSOLSpray**](https://github.com/dafthack/MSOLSpray) के साथ पासवर्ड स्प्रे हमले को अंजाम दे सकते हैं।
|
||||
```powershell
|
||||
आप [**MSOLSpray**](https://github.com/dafthack/MSOLSpray) के साथ एक पासवर्ड स्प्रे हमले को अंजाम दे सकते हैं।
|
||||
```bash
|
||||
. .\MSOLSpray\MSOLSpray.ps1
|
||||
Invoke-MSOLSpray -UserList .\validemails.txt -Password Welcome2022! -Verbose
|
||||
```
|
||||
@@ -18,7 +18,7 @@ Invoke-MSOLSpray -UserList .\validemails.txt -Password Welcome2022! -Verbose
|
||||
python3 o365spray.py --spray -U validemails.txt -p 'Welcome2022!' --count 1 --lockout 1 --domain victim.com
|
||||
```
|
||||
या [**MailSniper**](https://github.com/dafthack/MailSniper) के साथ
|
||||
```powershell
|
||||
```bash
|
||||
#OWA
|
||||
Invoke-PasswordSprayOWA -ExchHostname mail.domain.com -UserList .\userlist.txt -Password Spring2021 -Threads 15 -OutFile owa-sprayed-creds.txt
|
||||
#EWS
|
||||
|
||||
Reference in New Issue
Block a user