0Pricing
Ethical Hacking Academy · Lekcja

Błędne konfiguracje IAM

Role o nadmiernych uprawnieniach

Błędne konfiguracje IAM to bezpłatna lekcja Ethical Hacking Academy na CoddyKit. To lekcja 2 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 Ethical Hacking Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ethical Hacking Academy zawiera 4 lekcji w sumie.

Dlaczego IAM jest prawdziwym obwodem bezpieczeństwa

W chmurze tożsamość jest nowym obwodem bezpieczeństwa. IAM (Identity and Access Management) decyduje, kto może wykonywać określone działania. Błąd w IAM pozwala atakującemu przejść od punktu przyczepienia o niskich uprawnieniach do pełnej kontroli nad kontem.

  • Użytkownicy, role i konta usługowe są tożsamościami
  • Zasady definiują uprawnienia
  • Błędnie skonfigurowane zasady są największym zagrożeniem w chmurze

Większość eskalacji uprawnień w chmurze wynika z problemów z IAM.

Użytkownicy, role i zasady

AWS IAM ma trzy podstawowe elementy, które musi Pan/Pani rozumieć:

  • Użytkownicy — długotrwałe tożsamości z kluczami dostępu
  • Role — tymczasowe tożsamości, które mogą być przyjmowane przez użytkowników lub usługi
  • Zasady — dokumenty JSON przyznające lub odmawiające działań na zasobach

Zbyt szeroko przypisana zasada prowadzi do nadmiernego przydzielania uprawnień.

{
  "Effect": "Allow",
  "Action": "s3:GetObject",
  "Resource": "arn:aws:s3:::reports-bucket/*"
}

Zagrożenie związane z symbolami wieloznacznymi

Najbardziej niebezpiecznym wzorcem w IAM jest zasada z symbolem wieloznacznym. Przyznaje ona każde działanie na każdym zasobie.

Jeśli atakujący przejmie tożsamość z taką zasadą, uzyskuje kontrolę nad całym kontem.

{
  "Effect": "Allow",
  "Action": "*",
  "Resource": "*"
}

# Action:* Resource:* = full administrative control.
# Flag this everywhere it appears outside a break-glass admin role.

Wyliczanie własnych uprawnień

Po uzyskaniu poświadczenia należy sprawdzić, jakie działania może ono wykonywać. IAM udostępnia interfejsy API do odczytu, które ujawniają przypisane zasady.

Niektóre konta przyznają nawet zwykłym użytkownikom iam:Get* i iam:List*, zapewniając im gotową mapę uprawnień.

# List policies attached to a user
aws iam list-attached-user-policies --user-name devuser

# Get the JSON of a managed policy version
aws iam get-policy-version \
  --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess \
  --version-id v1

Eskalacja uprawnień przez iam:PassRole

Klasyczny scenariusz eskalacji: użytkownik ma iam:PassRole oraz uprawnienie do tworzenia usług. Może uruchomić zasób, który przyjmie rolę o wysokich uprawnieniach, a następnie odziedziczy jej dostęp.

  • Użytkownik ma ec2:RunInstances + iam:PassRole
  • Uruchamia instancję EC2 z przypisaną rolą administratora
  • Instancja przechowuje teraz poświadczenia administratora, które użytkownik pobiera

Użytkownik nie miał bezpośrednio uprawnień administratora, ale dokonał ich eskalacji.

Niebezpieczne kombinacje uprawnień

Pojedyncze uprawnienia mogą być nieszkodliwe, ale w połączeniu mogą tworzyć ścieżki eskalacji. Do znanych ryzykownych kombinacji należą:

  • iam:CreatePolicyVersion — przepisanie istniejącej zasady tak, aby przyznawała uprawnienia administratora
  • iam:AttachUserPolicy — przypisanie sobie AdministratorAccess
  • iam:CreateAccessKey dla innego użytkownika — kradzież jego tożsamości
  • sts:AssumeRole dla roli, która nadmiernie ufa podmiotom wywołującym

Narzędzia automatycznie wyliczają takie kombinacje.

Zasady zaufania i AssumeRole

Role mają zasadę zaufania, która określa, kto może je przyjmować. Zbyt szeroka zasada zaufania jest tylną furtką.

Jeśli rola omyłkowo ufa całemu kontu lub nawet kontu zewnętrznemu, atakujący może ją przyjąć.

{
  "Effect": "Allow",
  "Principal": { "AWS": "arn:aws:iam::123456789012:root" },
  "Action": "sts:AssumeRole"
}

# Trusting the entire account root means ANY identity in it can assume the role.

Automatyzacja wykrywania eskalacji

Ręczne sprawdzanie każdej kombinacji zasad jest żmudne. Narzędzia mapują ścieżki eskalacji za Pana/Panią.

  • Pacu — framework do testów bezpieczeństwa AWS z modułami privesc
  • PMapper — tworzy graf zależności IAM i znajduje krawędzie privesc
  • enumerate-iam — metodą brute force sprawdza, które wywołania API może wykonywać dany klucz
# Run Pacu's IAM privilege escalation enumeration
pacu
# > run iam__privesc_scan

# Build an IAM access graph and query it
pmapper graph create
pmapper query 'preset privesc *'

Zasady wbudowane a zarządzane

Uprawnienia można przyznawać na dwa sposoby — atakujący sprawdzają oba:

  • Zasady zarządzane — wielokrotnego użytku, przypisywane wielu tożsamościom
  • Zasady wbudowane — osadzone bezpośrednio w jednym użytkowniku lub roli

Zasady wbudowane łatwo przeoczyć podczas audytów, dlatego często ukrywają nadmierne uprawnienia. Podczas oceny tożsamości zawsze należy wyliczyć oba rodzaje.

# Inline policies are listed separately from attached ones
aws iam list-user-policies --user-name devuser
aws iam get-user-policy --user-name devuser --policy-name custom-inline

Wzmacnianie zabezpieczeń: minimalne uprawnienia

Rozwiązaniem problemu błędnych konfiguracji IAM jest zasada minimalnych uprawnień: należy przyznawać wyłącznie dokładnie te uprawnienia, które są potrzebne.

  • Zastąpić symbole wieloznaczne jawnymi działaniami i ARN zasobów
  • Używać ról z krótkotrwałymi poświadczeniami zamiast długotrwałych kluczy
  • Audytować nieużywane uprawnienia za pomocą Access Analyzer
  • Wymuszać MFA dla uprzywilejowanych tożsamości

Raport powinien przyporządkowywać każdemu ustaleniu działanie naprawcze oparte na zasadzie minimalnych uprawnień.

Pozostawanie w zakresie autoryzacji

Testowanie eskalacji uprawnień aktywnie zmienia stan konta. Należy zachować ostrożność:

  • Tworzenie zasad, kluczy lub ról jest działaniem ingerującym — należy uzyskać pisemną zgodę
  • Dokumentować każdą zmianę, aby można było ją wycofać
  • Przed wykorzystaniem ścieżki preferować wyliczanie tylko do odczytu w celu potwierdzenia jej istnienia

Często wystarczy wykazać, że ścieżka privesc istnieje; nie zawsze trzeba ją w pełni wykorzystywać.

Szybkie sprawdzenie

Jaka kombinacja uprawnień jest klasyczną ścieżką eskalacji uprawnień w AWS?

Podsumowanie: błędne konfiguracje IAM

Dowiedział się Pan/Dowiedziała się Pani, dlaczego IAM jest prawdziwym obwodem bezpieczeństwa chmury i jak atakujący go wykorzystują.

  • Zasady z symbolami wieloznacznymi Action:* Resource:* mają katastrofalne skutki
  • iam:PassRole + tworzenie usług umożliwia eskalację uprawnień
  • Zbyt szerokie zasady zaufania pozwalają atakującym przyjmować role
  • Narzędzia takie jak Pacu i PMapper automatyzują wykrywanie ścieżek
  • Działaniem naprawczym jest zawsze zasada minimalnych uprawnień

W następnej części omówimy S3 i narażenie magazynów danych.

Często zadawane pytania

Czy lekcja „Błędne konfiguracje IAM” jest bezpłatna?

Tak — pełny tekst „Błędne konfiguracje 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 Ethical Hacking Academy, przejdź na CoddyKit PRO. Kurs Ethical Hacking Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Błędne konfiguracje IAM”?

Role o nadmiernych uprawnieniach Ćwiczysz Ethical Hacking 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ąć Ethical Hacking Academy?

Nie wymagamy żadnego doświadczenia. Ethical Hacking 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 2 z 4.

Ile czasu zajmuje lekcja „Błędne konfiguracje 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 Ethical Hacking Academy?

Tak. Każda lekcja Ethical Hacking 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

  1. Powierzchnia ataku chmury
  2. Błędne konfiguracje IAM
  3. Ujawnienie S3 i danych w magazynach
  4. Metadane i SSRF
← Powrót do Ethical Hacking Academy