Translated ['src/pentesting-cloud/aws-security/aws-unauthenticated-enum-

This commit is contained in:
Translator
2025-04-30 15:35:57 +00:00
parent 35d972adc8
commit 57b5e056aa
@@ -6,9 +6,9 @@
A bucket is considered **“public”** if **mtumiaji yeyote anaweza kuorodhesha maudhui** ya bucket, na **“private”** ikiwa maudhui ya bucket yanaweza **kuorodheshwa au kuandikwa tu na watumiaji fulani**.
Makampuni yanaweza kuwa na **mipangilio ya ruhusa za buckets isiyo sahihi** ikitoa ufikiaji ama kwa kila kitu au kwa kila mtu aliyejithibitisha katika AWS katika akaunti yoyote (hivyo kwa mtu yeyote). Kumbuka, kwamba hata na makosa kama hayo baadhi ya vitendo vinaweza kutoweza kufanywa kwani buckets zinaweza kuwa na orodha zao za udhibiti wa ufikiaji (ACLs).
Makampuni yanaweza kuwa na **mipangilio ya ruhusa za buckets isiyo sahihi** ikitoa ufikiaji ama kwa kila kitu au kwa kila mtu aliyejithibitisha katika AWS katika akaunti yoyote (hivyo kwa mtu yeyote). Kumbuka, kwamba hata na mipangilio kama hiyo, baadhi ya vitendo vinaweza kutoweza kufanywa kwani buckets zinaweza kuwa na orodha zao za udhibiti wa ufikiaji (ACLs).
**Jifunze kuhusu makosa ya AWS-S3 hapa:** [**http://flaws.cloud**](http://flaws.cloud/) **na** [**http://flaws2.cloud/**](http://flaws2.cloud)
**Jifunze kuhusu AWS-S3 misconfiguration hapa:** [**http://flaws.cloud**](http://flaws.cloud/) **na** [**http://flaws2.cloud/**](http://flaws2.cloud)
### Finding AWS Buckets
@@ -17,7 +17,7 @@ Njia tofauti za kupata wakati ukurasa wa wavuti unatumia AWS kuhifadhi baadhi ya
#### Enumeration & OSINT:
- Kutumia **wappalyzer** plugin ya kivinjari
- Kutumia burp (**spidering** wavuti) au kwa kuvinjari kwa mikono kupitia ukurasa wote **rasilimali** **zilizopakiwa** zitahifadhiwa katika Historia.
- Kutumia burp (**spidering** wavuti) au kwa kuvinjari kwa mikono kupitia ukurasa, rasilimali zote **zilizopakiwa** zitahifadhiwa katika Historia.
- **Angalia rasilimali** katika maeneo kama:
```
@@ -25,7 +25,8 @@ http://s3.amazonaws.com/[bucket_name]/
http://[bucket_name].s3.amazonaws.com/
```
- Angalia **CNAMES** kama `resources.domain.com` inaweza kuwa na CNAME `bucket.s3.amazonaws.com`
- Angalia kwa **CNAMES** kwani `resources.domain.com` inaweza kuwa na CNAME `bucket.s3.amazonaws.com`
- **[s3dns](https://github.com/olizimmermann/s3dns)** Seva nyepesi ya DNS inayotambua kwa pasivo buckets za uhifadhi wa wingu (S3, GCP, Azure) kwa kuchambua trafiki ya DNS. Inatambua CNAMEs, inafuata minyororo ya ufumbuzi, na inalinganisha mifumo ya bucket, ikitoa njia ya kimya kwa kugundua kwa nguvu au kwa kutumia API. Kamili kwa recon na mchakato wa OSINT.
- Angalia [https://buckets.grayhatwarfare.com](https://buckets.grayhatwarfare.com/), wavuti yenye **buckets wazi zilizogunduliwa** tayari.
- **Jina la bucket** na **jina la domain la bucket** inahitaji kuwa **sawa.**
- **flaws.cloud** iko katika **IP** 52.92.181.107 na ukitembelea huko inakuelekeza kwenye [https://aws.amazon.com/s3/](https://aws.amazon.com/s3/). Pia, `dig -x 52.92.181.107` inatoa `s3-website-us-west-2.amazonaws.com`.
@@ -99,6 +100,8 @@ Angalia kwamba jina la kikoa lililopatikana lina neno "website".\
Unaweza kufikia tovuti ya kawaida kwa kutembelea: `flaws.cloud.s3-website-us-west-2.amazonaws.com`\
au unaweza kufikia ndoo kwa kutembelea: `flaws.cloud.s3-us-west-2.amazonaws.com`
#### Kwa Kujaribu
Ikiwa unajaribu kufikia ndoo, lakini katika **jina la kikoa unataja eneo lingine** (kwa mfano ndoo iko katika `bucket.s3.amazonaws.com` lakini unajaribu kufikia `bucket.s3-website-us-west-2.amazonaws.com`, basi utaonyeshwa **mahali sahihi**:
@@ -107,7 +110,7 @@ Ikiwa unajaribu kufikia ndoo, lakini katika **jina la kikoa unataja eneo lingine
### Kuorodhesha ndoo
Ili kujaribu ufunguzi wa ndoo, mtumiaji anaweza tu kuingiza URL katika kivinjari chao. Ndoo ya kibinafsi itajibu na "Access Denied". Ndoo ya umma itataja vitu 1,000 vya kwanza vilivyohifadhiwa.
Ili kujaribu ufunguzi wa ndoo, mtumiaji anaweza tu kuingiza URL katika kivinjari chao. Ndoo ya kibinafsi itajibu kwa "Access Denied". Ndoo ya umma itataja vitu 1,000 vya kwanza vilivyohifadhiwa.
Iko wazi kwa kila mtu:
@@ -125,7 +128,7 @@ Unaweza pia kuangalia hii kwa cli:
#Opcionally you can select the region if you now it
aws s3 ls s3://flaws.cloud/ [--no-sign-request] [--profile <PROFILE_NAME>] [ --recursive] [--region us-west-2]
```
Ikiwa bakuli haina jina la kikoa, unapojaribu kuhesabu, **weka jina la bakuli tu** na si kikoa zima la AWSs3. Mfano: `s3://<BUCKETNAME>`
Ikiwa bakuli haina jina la kikoa, unapojaribu kuhesabu, **weka jina la bakuli tu** na si kikoa zima cha AWSs3. Mfano: `s3://<BUCKETNAME>`
### Kiolezo cha URL ya Umma
```
@@ -146,11 +149,11 @@ s3-account-search arn:aws:iam::123456789012:role/s3_read s3://my-bucket
# With an object
s3-account-search arn:aws:iam::123456789012:role/s3_read s3://my-bucket/path/to/object.ext
```
Tekniki hii pia inafanya kazi na API Gateway URLs, Lambda URLs, Data Exchange data sets na hata kupata thamani ya tags (ikiwa unajua ufunguo wa tag). Unaweza kupata maelezo zaidi katika [**utafiti wa asili**](https://blog.plerion.com/conditional-love-for-aws-metadata-enumeration/) na zana [**conditional-love**](https://github.com/plerionhq/conditional-love/) ili kuendesha uhalifu huu.
H technique hii pia inafanya kazi na API Gateway URLs, Lambda URLs, Data Exchange data sets na hata kupata thamani ya tags (ikiwa unajua ufunguo wa tag). Unaweza kupata maelezo zaidi katika [**utafiti wa asili**](https://blog.plerion.com/conditional-love-for-aws-metadata-enumeration/) na zana [**conditional-love**](https://github.com/plerionhq/conditional-love/) ili kuendesha uhalifu huu.
### Kuthibitisha kuwa bucket inamilikiwa na akaunti ya AWS
### Kuthibitisha kuwa bucket inamhusu akaunti ya AWS
Kama ilivyoelezwa katika [**hiki blogu**](https://blog.plerion.com/things-you-wish-you-didnt-need-to-know-about-s3/)**, ikiwa una ruhusa za kuorodhesha bucket** inawezekana kuthibitisha accountID ambayo bucket inamilikiwa kwa kutuma ombi kama:
Kama ilivyoelezwa katika [**hiki blogu**](https://blog.plerion.com/things-you-wish-you-didnt-need-to-know-about-s3/)**, ikiwa una ruhusa za kuorodhesha bucket** inawezekana kuthibitisha accountID ambayo bucket inamhusu kwa kutuma ombi kama:
```bash
curl -X GET "[bucketname].amazonaws.com/" \
-H "x-amz-expected-bucket-owner: [correct-account-id]"
@@ -160,9 +163,9 @@ curl -X GET "[bucketname].amazonaws.com/" \
```
Ikiwa kosa ni "Access Denied" inamaanisha kwamba ID ya akaunti ilikuwa mbaya.
### Kutumia Barua Pepe kama uainishaji wa akaunti ya mzizi
### Kutumia Barua Pepe kama Uainishaji wa Akaunti ya Mzizi
Kama ilivyoelezwa katika [**hiki blogu**](https://blog.plerion.com/things-you-wish-you-didnt-need-to-know-about-s3/), inawezekana kuangalia ikiwa anwani ya barua pepe inahusiana na akaunti yoyote ya AWS kwa **kujaribu kutoa ruhusa kwa barua pepe** juu ya S3 bucket kupitia ACLs. Ikiwa hii haitasababisha kosa, inamaanisha kwamba barua pepe hiyo ni mtumiaji wa mzizi wa akaunti fulani ya AWS:
Kama ilivyoelezwa katika [**hiki kipande cha blog**](https://blog.plerion.com/things-you-wish-you-didnt-need-to-know-about-s3/), inawezekana kuangalia ikiwa anwani ya barua pepe inahusiana na akaunti yoyote ya AWS kwa **kujaribu kutoa ruhusa kwa barua pepe** juu ya bakuli la S3 kupitia ACLs. Ikiwa hii haitasababisha kosa, inamaanisha kwamba barua pepe hiyo ni mtumiaji wa mzizi wa akaunti fulani ya AWS:
```python
s3_client.put_bucket_acl(
Bucket=bucket_name,