AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
VPC & Networking
Dowiedz się, czym jest VPC i o jego składnikach w:
pageAWS - VPC & Networking Basic InformationEC2
Amazon EC2 jest wykorzystywany do uruchamiania serwerów wirtualnych. Umożliwia konfigurację bezpieczeństwa i sieci oraz zarządzanie przechowywaniem danych. Elastyczność Amazon EC2 objawia się w możliwości skalowania zasobów zarówno w górę, jak i w dół, efektywnie dostosowując się do zmian wymagań lub wzrostu popularności. Ta funkcja zmniejsza konieczność precyzyjnych prognoz ruchu.
Interesujące rzeczy do wyliczenia w EC2:
Maszyny wirtualne
Klucze SSH
Dane użytkownika
Istniejące EC2/AMI/Snapshots
Sieciowanie
Sieci
Podsieci
Publiczne adresy IP
Otwarte porty
Zintegrowane połączenia z innymi sieciami poza AWS
Profile instancji
Użycie ról do nadawania uprawnień aplikacjom uruchamianym na instancjach EC2 wymaga nieco dodatkowej konfiguracji. Aplikacja uruchamiana na instancji EC2 jest abstrahowana od AWS przez zvirtualizowany system operacyjny. Ze względu na to dodatkowe oddzielenie, konieczny jest dodatkowy krok polegający na przypisaniu roli AWS i jej powiązanych uprawnień do instancji EC2 oraz udostępnieniu ich aplikacjom.
Ten dodatkowy krok to utworzenie profilu instancji dołączonego do instancji. Profil instancji zawiera rolę i może dostarczyć tymczasowe poświadczenia roli do aplikacji uruchamianej na instancji. Te tymczasowe poświadczenia mogą następnie być używane w wywołaniach interfejsu API aplikacji do dostępu do zasobów i ograniczenia dostępu tylko do tych zasobów, które określa rola. Zauważ, że tylko jedna rola może być przypisana do instancji EC2 w danym czasie, a wszystkie aplikacje na instancji dzielą tę samą rolę i uprawnienia.
Punkt końcowy metadanych
Metadane AWS EC2 to informacje o instancji Amazon Elastic Compute Cloud (EC2), które są dostępne dla instancji w czasie wykonywania. Metadane te służą do dostarczania informacji o instancji, takich jak jej identyfikator instancji, strefa dostępności, w której działa, rola IAM powiązana z instancją i nazwa hosta instancji.
Wyliczenie
Nieuwierzytelniony dostęp
pageAWS - EC2 Unauthenticated EnumEskalacja uprawnień
Na następnej stronie możesz sprawdzić, jak nadużyć uprawnień EC2 do eskalacji uprawnień:
pageAWS - EC2 PrivescPost-eksploatacja
pageAWS - EC2, EBS, SSM & VPC Post ExploitationEBS
Amazon EBS (Elastic Block Store) snapshots to po prostu statyczne kopie zapasowe woluminów AWS EBS. Innymi słowy, są to kopie dysków podłączonych do instancji EC2 w określonym momencie. Snapshots EBS można kopiować między regionami i kontami, a nawet pobrać i uruchomić lokalnie.
Snapshots mogą zawierać informacje poufne takie jak kod źródłowy lub klucze API, dlatego jeśli masz okazję, zaleca się ich sprawdzenie.
Różnica między AMI a EBS
AMI służy do uruchamiania instancji EC2, podczas gdy Snapshot EC2 służy do tworzenia kopii zapasowych i odzyskiwania danych przechowywanych na woluminie EBS. Chociaż Snapshot EC2 można użyć do utworzenia nowego AMI, nie jest to to samo co AMI i nie zawiera informacji o systemie operacyjnym, serwerze aplikacyjnym ani innych wymaganych oprogramowaniach do uruchomienia aplikacji.
Eskalacja uprawnień
Na następnej stronie możesz sprawdzić, jak nadużyć uprawnień EBS do eskalacji uprawnień:
pageAWS - EBS PrivescSSM
Amazon Simple Systems Manager (SSM) pozwala na zdalne zarządzanie grupami instancji EC2, co ułatwia ich administrację. Każda z tych instancji musi uruchamiać usługę SSM Agent, ponieważ to ona otrzymuje działania i wykonuje je z AWS API.
SSM Agent umożliwia Systems Managerowi aktualizację, zarządzanie i konfigurowanie tych zasobów. Agent przetwarza żądania z usługi Systems Manager w chmurze AWS, a następnie wykonuje je zgodnie z żądaniem.
SSM Agent jest preinstalowany w niektórych AMI lub musisz go zainstalować ręcznie na instancjach. Ponadto rola IAM używana wewnątrz instancji musi mieć politykę AmazonEC2RoleforSSM dołączoną, aby móc się komunikować.
Wyliczanie
Możesz sprawdzić na instancji EC2, czy Systems Manager działa, wykonując:
Privesc
Na następnej stronie możesz sprawdzić, jak wykorzystać uprawnienia SSM do eskalacji uprawnień:
pageAWS - SSM PrivescELB
Elastic Load Balancing (ELB) to usługa balansowania obciążenia dla wdrożeń Amazon Web Services (AWS). ELB automatycznie rozdziela przychodzący ruch aplikacji i skaluje zasoby, aby sprostać wymaganiom ruchu.
Enumeration
Szablony uruchamiania i grupy automatycznego skalowania
Wyliczanie
Nitro
AWS Nitro to zestaw innowacyjnych technologii, które stanowią podstawową platformę dla instancji AWS EC2. Wprowadzony przez Amazon w celu poprawy bezpieczeństwa, wydajności i niezawodności, Nitro wykorzystuje dedykowane komponenty sprzętowe i lekki hipernadzorca. Abstrahuje wiele tradycyjnych funkcji wirtualizacji do dedykowanego sprzętu i oprogramowania, minimalizując powierzchnię ataku i poprawiając wydajność zasobów. Poprzez przenoszenie funkcji wirtualizacji, Nitro pozwala instancjom EC2 osiągać wydajność zbliżoną do metalu, co jest szczególnie korzystne dla aplikacji wymagających dużych zasobów. Dodatkowo, specjalny Układ Bezpieczeństwa Nitro zapewnia bezpieczeństwo sprzętu i oprogramowania układowego, dodatkowo umacniając jego solidną architekturę.
Uzyskaj więcej informacji na temat sposobów wyliczania z:
pageAWS - Nitro EnumVPN
VPN pozwala połączyć twoją sieć lokalną (VPN site-to-site) lub laptopy pracowników (VPN klienta) z AWS VPC, dzięki czemu usługi mogą być dostępne bez konieczności ich wystawiania w internecie.
Podstawowe składniki AWS VPN
Bramka klienta:
Bramka klienta to zasób, który tworzysz w AWS, aby reprezentować twoją stronę połączenia VPN.
Jest to w zasadzie fizyczne urządzenie lub aplikacja oprogramowania po twojej stronie połączenia VPN typu Site-to-Site.
Udostępniasz informacje o trasowaniu i publiczny adres IP urządzenia sieciowego (takiego jak router lub zapora ogniowa) AWS, aby utworzyć bramkę klienta.
Służy jako punkt odniesienia do konfiguracji połączenia VPN i nie generuje dodatkowych opłat.
Wirtualna bramka prywatna:
Wirtualna bramka prywatna (VPG) to koncentrator VPN po stronie Amazon w połączeniu VPN typu Site-to-Site.
Jest ona dołączona do twojego VPC i służy jako cel twojego połączenia VPN.
VPG jest punktem końcowym po stronie AWS dla połączenia VPN.
Obsługuje bezpieczną komunikację między twoim VPC a twoją siecią lokalną.
Połączenie VPN typu Site-to-Site:
Połączenie VPN typu Site-to-Site łączy twoją sieć lokalną z VPC poprzez bezpieczny tunel VPN IPsec.
Ten rodzaj połączenia wymaga bramki klienta i wirtualnej bramki prywatnej.
Jest ono używane do bezpiecznej, stabilnej i spójnej komunikacji między twoim centrum danych lub siecią a środowiskiem AWS.
Zazwyczaj stosowane do regularnych, długoterminowych połączeń i rozliczane na podstawie ilości przesyłanych danych przez połączenie.
Punkt końcowy VPN klienta:
Punkt końcowy VPN klienta to zasób, który tworzysz w AWS, aby umożliwić i zarządzać sesjami klientów VPN.
Służy do umożliwienia indywidualnym urządzeniom (takim jak laptopy, smartfony itp.) bezpiecznego połączenia z zasobami AWS lub twoją siecią lokalną.
Różni się od VPN typu Site-to-Site tym, że jest przeznaczony dla indywidualnych klientów, a nie do łączenia całych sieci.
W przypadku VPN klienta każde urządzenie klienta używa oprogramowania klienta VPN do nawiązania bezpiecznego połączenia.
Możesz znaleźć więcej informacji na temat korzyści i składników VPN AWS tutaj.
Wyliczanie
Lokalne wyliczenie
Tymczasowe poświadczenia lokalne
Kiedy klient VPN AWS jest używany do połączenia z VPN, użytkownik zazwyczaj loguje się do AWS, aby uzyskać dostęp do VPN. Następnie pewne poświadczenia AWS są tworzone i przechowywane lokalnie, aby nawiązać połączenie VPN. Te poświadczenia są przechowywane w $HOME/.config/AWSVPNClient/TemporaryCredentials/<region>/temporary-credentials.txt
i zawierają AccessKey, SecretKey i Token.
Poświadczenia należą do użytkownika arn:aws:sts::<acc-id>:assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials
(TODO: zbadaj więcej na temat uprawnień tych poświadczeń).
Pliki konfiguracyjne opvn
Jeśli połączenie VPN zostało ustanowione, należy wyszukać pliki konfiguracyjne .opvn
w systemie. Ponadto, jednym miejscem, gdzie można znaleźć konfiguracje, jest $HOME/.config/AWSVPNClient/OpenVpnConfigs
Eksploatacja po
pageAWS - VPN Post ExploitationOdnośniki
Last updated