Utrzymywanie dostępu i ruch boczny
Utrzymywanie dostępu i przemieszczanie się między kontami
Utrzymywanie dostępu i ruch boczny to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 4 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.
Utrzymywanie dostępu i przemieszczanie się
Po eskalacji atakujący chcą uzyskać trwały dostęp i dotrzeć do innych miejsc w środowisku. W chmurze utrzymywanie dostępu i przemieszczanie się boczne wykorzystują tożsamość i konfigurację, a nie implanty na dysku.
- Utrzymywanie dostępu: przetrwanie rotacji danych uwierzytelniających i wykrywania.
- Przemieszczanie się boczne: przechodzenie między kontami, rolami i usługami.
Utrzymywanie dostępu oparte na tożsamości
Najprostszy sposób utrzymania dostępu polega na utworzeniu nowych danych uwierzytelniających, nad którymi ma się kontrolę.
- Utworzyć dodatkowy klucz dostępu dla uprzywilejowanego użytkownika.
- Dodać profil logowania (hasło do konsoli) do konta usługi.
- Zarejestrować dodatkowe dane uwierzytelniające dla podmiotu usługi (Azure) lub klucz konta usługi (GCP).
# AWS: add a second access key to a target user
aws iam create-access-key --user-name admin
# GCP: mint a long-lived key for a service account
gcloud iam service-accounts keys create k.json --iam-account priv@proj.iam.gserviceaccount.comBackdoory w zasadach zaufania i uprawnień
Bardziej subtelne mechanizmy utrzymania dostępu modyfikują to, komu się ufa, wtapiając się w normalną konfigurację.
- Należy dodać swój podmiot do polityki zaufania roli.
- Należy wstawić instrukcję zezwalającą do często używanej zarządzanej polityki.
- Należy utworzyć nową rolę, która ufa zewnętrznemu kontu kontrolowanemu przez atakującego.
Takie mechanizmy przetrwają rotację kluczy, ponieważ mają charakter strukturalny, a nie opierają się na poświadczeniach.
Backdoory oparte na zasobach
Polityki zasobów mogą przyznawać dostęp między kontami bez zmieniania użytkowników IAM.
- Należy dodać zewnętrzne konto do polityki bucketu S3 lub polityki klucza KMS.
- Należy zasubskrybować zewnętrzny endpoint do tematu SNS lub magistrali zdarzeń.
- Należy udostępnić migawkę/AMI kontu atakującego.
# Share an EBS snapshot with an external account
aws ec2 modify-snapshot-attribute --snapshot-id snap-abc \
--attribute createVolumePermission --operation-type add --user-ids 999999999999Utrzymanie dostępu przez zasoby obliczeniowe i funkcje
Same obciążenia mogą zapewniać utrzymanie dostępu.
- Funkcja Lambda uruchamiana zgodnie z harmonogramem (EventBridge) ponownie ustanawia dostęp.
- Skrypty user-data są uruchamiane podczas rozruchu instancji.
- Złośliwa warstwa lub zmodyfikowany obraz kontenera zachowuje się po kolejnych wdrożeniach.
# Schedule a Lambda to run every hour as a backdoor
aws events put-rule --schedule-expression 'rate(1 hour)' --name keepaliveRuch boczny za pośrednictwem ról
Przyjmowanie ról jest główną ścieżką ruchu bocznego. Z jednej tożsamości można przechodzić kolejno do innych.
- Należy przyjąć rolę między kontami, aby uzyskać dostęp do innego konta.
- Należy użyć
PassRole, aby działać jako rola usługi o innym zasięgu. - Łańcuch ról: należy przyjąć rolę A, która może przyjąć rolę B, i tak dalej.
# Chain into another account
aws sts assume-role --role-arn arn:aws:iam::222:role/Deploy --role-session-name pivotRuch boczny za pośrednictwem zasobów obliczeniowych
Przejęte maszyny wirtualne i kontenery umożliwiają przejście do warstwy danych.
- Należy użyć SSM / Run Command do wykonywania poleceń na instancjach bez SSH.
- Należy odczytać metadane instancji, aby uzyskać aktualne poświadczenia roli na każdym hoście.
- Należy przechodzić przez połączone sieci VPC i współdzielone podsieci.
# Run a command on instances via SSM (no inbound port needed)
aws ssm send-command --document-name AWS-RunShellScript \
--targets Key=tag:env,Values=prod --parameters 'commands=["id"]'Ścieżki eksfiltracji danych
Ruch boczny często służy kradzieży danych. Natywne dla chmury kanały eksfiltracji łatwo przeoczyć.
- Należy kopiować obiekty do bucketu należącego do atakującego za pomocą polityki bucketu.
- Należy utworzyć publiczną migawkę i zaimportować ją w innym miejscu.
- Należy replikować bazę danych lub przesyłać strumień logów do zewnętrznego ujścia.
Unikanie wykrycia
Atakujący ograniczają ilość telemetrii, aby wydłużyć czas pozostawania w środowisku.
- Należy zatrzymać lub filtrować dostarczanie danych CloudTrail / Activity Log.
- Należy działać w jednym regionie, aby ograniczyć alerty między regionami.
- Należy używać istniejących ról i nazwanych sesji przypominających legalną automatyzację.
Manipulowanie logowaniem samo w sobie stanowi doskonałą okazję do wykrycia ataku przez zespoły obrony.
Wykrywanie i obrona
Zespoły obrony przeciwdziałają utrzymywaniu dostępu w chmurze za pomocą monitorowania i mechanizmów ochronnych.
- Należy generować alerty dotyczące nowych kluczy dostępu, zmian polityk zaufania oraz zmian polityk zasobów przyznających dostęp zewnętrznym kontom.
- Należy wykrywać zatrzymanie CloudTrail lub utratę globalnych zdarzeń usług.
- Należy używać SCP, aby w całej organizacji blokować udostępnianie między kontami i manipulowanie logami.
- Należy preferować krótkotrwałe poświadczenia i stale je rotować, a także wygaszać nieużywane klucze.
Sprzątanie po testach
Pozostawienie artefaktów utrzymania dostępu jest niebezpieczne. Podczas autoryzowanych testów należy zinwentaryzować każdy utworzony backdoor (klucze, role, zmiany zasad zaufania, funkcje uruchamiane zgodnie z harmonogramem, udostępnione migawki) i usunąć je wszystkie po zakończeniu testu.
Każdą technikę utrzymania dostępu należy opisać wraz z dokładnymi krokami wycofania zmian, aby zespoły obrony mogły zweryfikować jej usunięcie.
Szybkie sprawdzenie
Sprawdź swoją wiedzę o utrzymywaniu dostępu i ruchu bocznym.
Podsumowanie
Dowiedziałeś się, jak działa utrzymywanie dostępu w chmurze i ruch boczny.
- Utrzymywanie dostępu wykorzystuje nowe poświadczenia, backdoory w zasadach zaufania i uprawnień oraz polityki zasobów.
- Ruch boczny opiera się na łańcuchowym przyjmowaniu ról i dostępie do zasobów obliczeniowych (SSM, metadane).
- Atakujący manipulują logami, aby wydłużyć czas pozostawania w środowisku.
- SCP, krótkotrwałe poświadczenia i alerty dotyczące zmian konfiguracji stanowią mechanizmy obrony.
To kończy kurs Cloud Penetration Testing.
Często zadawane pytania
Czy lekcja „Utrzymywanie dostępu i ruch boczny” jest bezpłatna?
Tak — pełny tekst „Utrzymywanie dostępu i ruch boczny” 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 „Utrzymywanie dostępu i ruch boczny”?
Utrzymywanie dostępu i przemieszczanie się między kontami Ć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 4 z 4.
Ile czasu zajmuje lekcja „Utrzymywanie dostępu i ruch boczny”?
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