Wykorzystywanie błędnych konfiguracji IAM
Eskalacja uprawnień w chmurze
Wykorzystywanie błędnych konfiguracji IAM to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
IAM jako mechanizm eskalacji
W chmurze eskalacja uprawnień zwykle polega na wykorzystaniu uprawnień IAM, a nie na wykorzystywaniu błędów pamięci. Jeśli tożsamość o niskich uprawnieniach może modyfikować zasady, tworzyć klucze lub przyjmować role, może uzyskać dostęp administratora.
- Uprawnienia umożliwiające modyfikowanie IAM są z natury niebezpieczne.
- Ścieżki eskalacji wynikają z logiki zasad, a nie z podatności.
- Rozwiązaniem jest zasada najmniejszych uprawnień, a nie poprawka.
Niebezpieczne uprawnienia
Niektóre działania IAM umożliwiają bezpośrednią eskalację. Należy zwrócić na nie uwagę w przypadku kontrolowanego przez Państwa podmiotu:
iam:CreateAccessKeydla innego użytkownika.iam:AttachUserPolicy/iam:PutUserPolicy(dołączenie AdministratorAccess).iam:CreatePolicyVersion(przepisanie istniejącej zasady).iam:PassRole+ usługa obliczeniowa (uruchomienie kodu jako uprzywilejowana rola).sts:AssumeRoleze słabą zasadą zaufania.
Eskalacja przez dołączenie zasady
Jeśli tożsamość może dołączać zasady do samej siebie, do eskalacji wystarczy jedno wywołanie. Wystarczy dołączyć zarządzaną zasadę administracyjną, aby odziedziczyć pełne uprawnienia.
# Attach AdministratorAccess to yourself
aws iam attach-user-policy \
--user-name me \
--policy-arn arn:aws:iam::aws:policy/AdministratorAccessWykorzystanie PassRole
iam:PassRole umożliwia przekazanie roli usłudze. W połączeniu z usługą, która uruchamia Państwa kod (EC2, Lambda, Glue), pozwala wykonywać kod jako ta rola, nawet jeśli ma ona znacznie szersze uprawnienia.
# Launch a Lambda that assumes a privileged role you can pass
aws lambda create-function --function-name esc \
--role arn:aws:iam::111:role/AdminRole \
--runtime python3.12 --handler h.run --zip-file fileb://code.zipPrzywracanie wersji zasady
iam:CreatePolicyVersion lub SetDefaultPolicyVersion umożliwia zastąpienie aktywnego dokumentu zasady albo przywrócenie bardziej liberalnej wcześniejszej wersji, zapewniając szeroki dostęp bez zmieniania członkostwa w grupach.
# Make a new, permissive default version of an existing policy
aws iam create-policy-version \
--policy-arn arn:aws:iam::111:policy/devs \
--policy-document file://admin.json --set-as-defaultWykorzystanie zasad zaufania i AssumeRole
Zasady zaufania roli określają, kto może ją przyjąć. Słabe warunki zaufania umożliwiają przejęcie.
- Rolę ufającą
*lub całemu kontu można przyjąć zbyt szeroko. - Jeśli można edytować zasadę zaufania roli, można dodać siebie jako zaufany podmiot.
- Confused deputy: brak identyfikatorów zewnętrznych w rolach integracji zewnętrznych.
# Assume a poorly-scoped role
aws sts assume-role \
--role-arn arn:aws:iam::111:role/CrossAccountAdmin \
--role-session-name ptOdpowiedniki w innych chmurach
Te same wzorce występują u różnych dostawców.
- Azure: przypisanie roli User Access Administrator lub Owner; wykorzystanie Managed Identity; dodawanie danych uwierzytelniających do podmiotu usługi.
- GCP:
iam.serviceAccounts.actAswraz z usługą obliczeniową;setIamPolicyw projekcie; tworzenie kluczy kont usług.
# GCP: impersonate a privileged service account
gcloud compute instances create esc --service-account priv@proj.iam.gserviceaccount.com --scopes cloud-platformNarzędzia do wykrywania ścieżek
Zamiast zgadywać, należy użyć narzędzi, aby ujawnić możliwe ścieżki eskalacji z bieżącej tożsamości.
# Pacu (AWS exploitation framework) escalation module
pacu
run iam__privesc_scan
# PMapper query for escalation
pmapper query 'preset privesc me'Łączenie z płaszczyzną sterowania
Eskalacja często polega na połączeniu dostępu do płaszczyzny danych z uprawnieniami płaszczyzny sterowania.
- Przejąć maszynę wirtualną i wykraść jej dane uwierzytelniające roli instancji z metadanych.
- Rola instancji ma uprawnienie
PassRoleoraz dostęp do Lambda, co umożliwia uruchomienie roli administratora. - Z poziomu administratora utworzyć trwałe klucze dostępu w celu zachowania dyskrecji.
Każde ogniwo jest osobnym ustaleniem, które warto zgłosić.
Ochrona IAM
Zapobieganie koncentruje się na zasadzie najmniejszych uprawnień i mechanizmach ochronnych.
- Usunąć symbole wieloznaczne; ściśle ograniczyć działania i zasoby.
- Użyć granic uprawnień i SCP, aby ograniczyć maksymalny poziom uprawnień.
- Wymagać identyfikatorów zewnętrznych w rolach zewnętrznych podmiotów i ograniczyć zasady zaufania.
- Preferować krótkotrwałe dane uwierzytelniające ról zamiast kluczy długoterminowych.
- Używać analizatorów dostępu do wykrywania ryzykownych i nieużywanych uprawnień.
Etyczne wykonywanie działań
Eskalacja IAM może zapewnić uprawnienia do całego konta. Należy zatrzymać się na dowodzie słuszności koncepcji: zademonstrować ścieżkę bez tworzenia trwałych tylnych wejść ani modyfikowania produkcyjnych zasad, których nie można przywrócić. Zawsze należy cofnąć wszelkie zmiany zasad lub ról i usunąć utworzone klucze.
Działania zakłócające (takie jak przepisanie współdzielonej zasady) należy wcześniej uzgodnić z klientem.
Szybki test
Sprawdź swoją wiedzę na temat eskalacji IAM.
Podsumowanie
Nauczono się, jak błędne konfiguracje IAM prowadzą do eskalacji uprawnień.
- Do głównych ścieżek należą dołączanie zasad, PassRole, przywracanie wersji i AssumeRole.
- Te same wzorce powtarzają się w AWS, Azure i GCP.
- Pacu i PMapper automatycznie wykrywają możliwe ścieżki.
- Zasada najmniejszych uprawnień, granice uprawnień i identyfikatory zewnętrzne stanowią zabezpieczenia.
Następnie: utrzymywanie dostępu i przemieszczanie się między kontami chmurowymi.
Często zadawane pytania
Czy lekcja „Wykorzystywanie błędnych konfiguracji IAM” jest bezpłatna?
Tak — pełny tekst „Wykorzystywanie błędnych konfiguracji IAM” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Wykorzystywanie błędnych konfiguracji IAM”?
Eskalacja uprawnień w chmurze Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?
Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Wykorzystywanie błędnych konfiguracji IAM”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?
Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Powierzchnia ataku chmury
- Wyliczanie zasobów chmurowych
- Wykorzystywanie błędnych konfiguracji IAM
- Utrzymywanie dostępu i ruch boczny