AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Dowiedz się, czym jest VPC i jakie ma komponenty w:
AWS - VPC & Networking Basic InformationAmazon EC2 jest wykorzystywane do uruchamiania serwerów wirtualnych. Umożliwia konfigurację bezpieczeństwa i sieci oraz zarządzanie przechowywaniem. Elastyczność Amazon EC2 jest widoczna w jego zdolności do skalowania zasobów zarówno w górę, jak i w dół, skutecznie dostosowując się do zmieniających się wymagań lub wzrostów popularności. Ta funkcja zmniejsza konieczność precyzyjnego przewidywania ruchu.
Interesujące rzeczy do enumeracji w EC2:
Maszyny Wirtualne
Klucze SSH
Dane Użytkownika
Istniejące EC2/AMI/Zrzuty
Sieci
Sieci
Podsieci
Publiczne IP
Otwarte porty
Zintegrowane połączenia z innymi sieciami poza AWS
Używanie ról do przyznawania uprawnień aplikacjom działającym na instancjach EC2 wymaga dodatkowej konfiguracji. Aplikacja działająca na instancji EC2 jest abstrahowana od AWS przez wirtualizowany system operacyjny. Z powodu tego dodatkowego oddzielenia, potrzebny jest dodatkowy krok, aby przypisać rolę AWS i jej powiązane uprawnienia do instancji EC2 i udostępnić je jej aplikacjom.
Ten dodatkowy krok to utworzenie profilu instancji przypisanego do instancji. Profil instancji zawiera rolę i może dostarczyć tymczasowe poświadczenia roli aplikacji działającej na instancji. Te tymczasowe poświadczenia mogą być następnie używane w wywołaniach API aplikacji do uzyskiwania dostępu do zasobów i ograniczania dostępu tylko do tych zasobów, które określa rola. Należy zauważyć, ż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.
Metadane AWS EC2 to informacje o instancji Amazon Elastic Compute Cloud (EC2), które są dostępne dla instancji w czasie wykonywania. Te metadane są używane 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ą oraz nazwa hosta instancji.
Na następnej stronie możesz sprawdzić, jak wykorzystać uprawnienia EC2 do eskalacji uprawnień:
AWS - EC2 PrivescAmazon EBS (Elastic Block Store) snapshots to w zasadzie 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 mogą być kopiowane między regionami i kontami, a nawet pobierane i uruchamiane lokalnie.
Snapshots mogą zawierać wrażliwe informacje, takie jak kod źródłowy lub klucze API, dlatego, jeśli masz taką możliwość, zaleca się ich sprawdzenie.
AMI jest używane do uruchamiania instancji EC2, podczas gdy Snapshot EC2 jest używane do tworzenia kopii zapasowych i odzyskiwania danych przechowywanych na woluminie EBS. Chociaż Snapshot EC2 może być użyty do stworzenia nowego AMI, nie jest to to samo co AMI i nie zawiera informacji o systemie operacyjnym, serwerze aplikacji ani innym oprogramowaniu wymaganym do uruchomienia aplikacji.
Na następnej stronie możesz sprawdzić, jak wykorzystać uprawnienia EBS do eskalacji uprawnień:
AWS - EBS PrivescAmazon Simple Systems Manager (SSM) umożliwia zdalne zarządzanie flotą instancji EC2, co znacznie ułatwia ich administrację. Każda z tych instancji musi mieć uruchomioną usługę SSM Agent, ponieważ to ta usługa będzie odbierać działania i je wykonywać z API AWS.
SSM Agent umożliwia System 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 określeniami w żądaniu.
SSM Agent jest wstępnie zainstalowany w niektórych AMI lub musisz ręcznie je zainstalować na instancjach. Ponadto rola IAM używana wewnątrz instancji musi mieć przypisaną politykę AmazonEC2RoleforSSM, aby mogła komunikować się.
Możesz sprawdzić w instancji EC2, czy Systems Manager działa, po prostu wykonując:
Na poniższej stronie możesz sprawdzić, jak nadużyć uprawnień SSM, aby eskalować przywileje:
AWS - SSM PrivescElastic Load Balancing (ELB) to usługa równoważenia obciążenia dla Amazon Web Services (AWS). ELB automatycznie rozprowadza przychodzący ruch aplikacji i skaluje zasoby, aby sprostać wymaganiom ruchu.
AWS Nitro to zestaw innowacyjnych technologii, które stanowią podstawową platformę dla instancji AWS EC2. Wprowadzony przez Amazon w celu zwiększenia bezpieczeństwa, wydajności i niezawodności, Nitro wykorzystuje niestandardowe komponenty sprzętowe i lekką warstwę hipernadzoru. Abstrakcyjnie przenosi wiele tradycyjnych funkcji wirtualizacji na dedykowany sprzęt i oprogramowanie, minimalizując powierzchnię ataku i poprawiając efektywność zasobów. Przez odciążenie funkcji wirtualizacji, Nitro pozwala instancjom EC2 na dostarczanie wydajności bliskiej wydajności sprzętowej, co czyni go szczególnie korzystnym dla aplikacji wymagających dużych zasobów. Dodatkowo, Nitro Security Chip zapewnia bezpieczeństwo sprzętu i oprogramowania, co dodatkowo wzmacnia jego solidną architekturę.
Get more information and how to enumerate it from:
AWS - Nitro EnumVPN pozwala na połączenie twojej sieci lokalnej (site-to-site VPN) lub laptopów pracowników (Client VPN) z AWS VPC, aby usługi mogły być dostępne bez potrzeby ich eksponowania w internecie.
Customer Gateway:
Customer Gateway to zasób, który tworzysz w AWS, aby reprezentować swoją stronę połączenia VPN.
Jest to zasadniczo fizyczne urządzenie lub aplikacja programowa po twojej stronie połączenia Site-to-Site VPN.
Podajesz informacje o trasowaniu i publiczny adres IP swojego urządzenia sieciowego (takiego jak router lub zapora) do AWS, aby utworzyć Customer Gateway.
Służy jako punkt odniesienia do skonfigurowania połączenia VPN i nie generuje dodatkowych opłat.
Virtual Private Gateway:
Virtual Private Gateway (VPG) to koncentrator VPN po stronie Amazon w połączeniu Site-to-Site VPN.
Jest podłączony do twojego VPC i służy jako cel dla twojego połączenia VPN.
VPG to punkt końcowy po stronie AWS dla połączenia VPN.
Obsługuje bezpieczną komunikację między twoim VPC a twoją siecią lokalną.
Site-to-Site VPN Connection:
Połączenie Site-to-Site VPN łączy twoją sieć lokalną z VPC przez bezpieczny tunel VPN IPsec.
Ten typ połączenia wymaga Customer Gateway i Virtual Private Gateway.
Jest używany do bezpiecznej, stabilnej i spójnej komunikacji między twoim centrum danych lub siecią a twoim środowiskiem AWS.
Zazwyczaj używany do regularnych, długoterminowych połączeń i jest rozliczany na podstawie ilości danych przesyłanych przez połączenie.
Client VPN Endpoint:
Endpoint Client VPN to zasób, który tworzysz w AWS, aby umożliwić i zarządzać sesjami VPN klientów.
Jest używany do umożliwienia indywidualnym urządzeniom (takim jak laptopy, smartfony itp.) bezpiecznego łączenia się z zasobami AWS lub twoją siecią lokalną.
Różni się od Site-to-Site VPN tym, że jest zaprojektowany dla indywidualnych klientów, a nie do łączenia całych sieci.
Z Client VPN każde urządzenie klienckie używa oprogramowania klienta VPN do nawiązania bezpiecznego połączenia.
You can find more information about the benefits and components of AWS VPNs here.
Lokalne tymczasowe poświadczenia
Gdy klient AWS VPN jest używany do łączenia się z VPN, użytkownik zazwyczaj loguje się do AWS, aby uzyskać dostęp do VPN. Następnie, niektóre 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 oraz 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 nawiązane, powinieneś poszukać plików konfiguracyjnych .opvn
w systemie. Ponadto, jednym z miejsc, gdzie możesz znaleźć konfiguracje, jest $HOME/.config/AWSVPNClient/OpenVpnConfigs
Ucz się i ćwicz hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)