AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
VPC & Networking
Dowiedz się, czym jest VPC i jakie są jego komponenty:
AWS - VPC & Networking Basic InformationEC2
Amazon EC2 jest wykorzystywany do uruchamiania wirtualnych serwerów. Umożliwia konfigurację bezpieczeństwa i sieci oraz zarządzanie przechowywaniem danych. 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 wzrostu popularności. Ta funkcja zmniejsza konieczność dokładnego przewidywania ruchu.
Interesujące rzeczy do enumeracji w EC2:
Wirtualne Maszyny
Klucze SSH
Dane użytkownika
Istniejące EC2/AMIs/Snapshots
Sieci
Sieci
Podsieci
Publiczne IP
Otwarte porty
Zintegrowane połączenia z innymi sieciami poza AWS
Instance Profiles
Używanie ról do przyznawania uprawnień aplikacjom uruchamianym na instancjach EC2 wymaga dodatkowej konfiguracji. Aplikacja uruchomiona na instancji EC2 jest oddzielona od AWS przez zwirtualizowany system operacyjny. Z powodu tego dodatkowego oddzielenia, potrzebny jest dodatkowy krok, aby przypisać rolę AWS i jej związane uprawnienia do instancji EC2 i udostępnić je aplikacjom.
Ten dodatkowy krok to utworzenie instance profile przypisanego do instancji. Instance profile zawiera rolę i może dostarczyć tymczasowe poświadczenia roli aplikacji uruchomionej 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.
Metadata Endpoint
AWS EC2 metadata to informacje o instancji Amazon Elastic Compute Cloud (EC2), które są dostępne dla instancji w czasie jej działania. Te metadata są używane do dostarczania informacji o instancji, takich jak jej ID instancji, strefa dostępności, w której działa, rola IAM przypisana do instancji oraz nazwa hosta instancji.
Enumeration
Nieautoryzowany Dostęp
AWS - EC2 Unauthenticated EnumPrivesc
Na poniższej stronie możesz sprawdzić, jak wykorzystać uprawnienia EC2 do eskalacji uprawnień:
AWS - EC2 PrivescPost-Exploitation
AWS - EC2, EBS, SSM & VPC Post ExploitationEBS
Amazon 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 EC2 Instance w określonym momencie. Migawki EBS mogą być kopiowane między regionami i kontami, a nawet pobierane i uruchamiane lokalnie.
Migawki 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.
Różnica AMI & EBS
AMI jest używany do uruchamiania instancji EC2, podczas gdy migawka EC2 jest używana do tworzenia kopii zapasowych i odzyskiwania danych przechowywanych na woluminie EBS. Chociaż migawka EC2 może być używana do tworzenia 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.
Privesc
Na poniższej stronie możesz sprawdzić, jak wykorzystać uprawnienia EBS do eskalacji uprawnień:
AWS - EBS PrivescSSM
Amazon Simple Systems Manager (SSM) pozwala na zdalne zarządzanie flotami instancji EC2, aby ułatwić ich administrację. Każda z tych instancji musi mieć uruchomioną usługę SSM Agent, ponieważ to ona będzie odbierać i wykonywać działania z API AWS.
SSM Agent umożliwia Systems Manager aktualizowanie, 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śloną specyfikacją.
SSM Agent jest wstępnie zainstalowany w niektórych AMI lub trzeba go ręcznie zainstalować na instancjach. Ponadto, rola IAM używana wewnątrz instancji musi mieć przypisaną politykę AmazonEC2RoleforSSM, aby móc się komunikować.
Enumeracja
Możesz sprawdzić w instancji EC2, czy Systems Manager działa, po prostu wykonując:
Privesc
Na poniższej stronie możesz sprawdzić, jak wykorzystać uprawnienia SSM do eskalacji uprawnień:
AWS - SSM PrivescELB
Elastic Load Balancing (ELB) to usługa równoważenia obciążenia dla wdrożeń Amazon Web Services (AWS). ELB automatycznie rozdziela przychodzący ruch aplikacji i skalowuje zasoby, aby sprostać wymaganiom ruchu.
Enumeration
Launch Templates & Autoscaling Groups
Enumeration
Nitro
AWS Nitro to zestaw innowacyjnych technologii, które tworzą 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 lekki hipernadzorcę. Abstrahuje wiele tradycyjnych funkcji wirtualizacji do dedykowanego sprzętu i oprogramowania, minimalizując powierzchnię ataku i poprawiając efektywność zasobów. Dzięki przeniesieniu funkcji wirtualizacji, Nitro pozwala instancjom EC2 dostarczać wydajność zbliżoną do wydajności sprzętu fizycznego, co jest szczególnie korzystne dla aplikacji wymagających dużych zasobów. Dodatkowo, Nitro Security Chip zapewnia bezpieczeństwo sprzętu i oprogramowania układowego, co dodatkowo wzmacnia jego solidną architekturę.
Więcej informacji i jak to enumerować znajdziesz tutaj:
AWS - Nitro EnumVPN
VPN pozwala na połączenie sieci lokalnej (site-to-site VPN) lub laptopów pracowników (Client VPN) z AWS VPC, dzięki czemu usługi mogą być dostępne bez konieczności ich wystawiania w internecie.
Podstawowe komponenty AWS VPN
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 routingu i publiczny adres IP swojego urządzenia sieciowego (takiego jak router lub zapora sieciowa) do AWS, aby utworzyć Customer Gateway.
Służy jako punkt odniesienia do konfiguracji 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łączenia VPN po stronie AWS.
Obsługuje bezpieczną komunikację między twoim VPC a 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 ś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:
Client VPN endpoint 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 przeznaczony dla indywidualnych klientów, a nie do łączenia całych sieci.
W przypadku Client VPN każde urządzenie klienckie używa oprogramowania klienta VPN do nawiązania bezpiecznego połączenia.
Możesz znaleźć więcej informacji o zaletach i komponentach AWS VPN tutaj.
Enumeration
Lokalna Enumeracja
Lokalne Tymczasowe Poświadczenia
Kiedy AWS VPN Client jest używany do połączenia z VPN, użytkownik zazwyczaj loguje się do AWS, aby uzyskać dostęp do VPN. Następnie, AWS poświadczenia są tworzone i przechowywane lokalnie, aby ustanowić 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: zbadać więcej na temat uprawnień tych poświadczeń).
opvn pliki konfiguracyjne
Jeśli połączenie VPN zostało ustanowione, powinieneś szukać plików konfiguracyjnych .opvn
w systemie. Ponadto, jednym z miejsc, gdzie można znaleźć konfiguracje, jest $HOME/.config/AWSVPNClient/OpenVpnConfigs
.
Post Exploitacja
AWS - VPN Post ExploitationReferencje
Last updated