AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
VPC & Networking
Leer wat 'n VPC is en oor sy komponente in:
AWS - VPC & Networking Basic InformationEC2
Amazon EC2 word gebruik om virtuele bedieners te begin. Dit stel die konfigurasie van sekuriteit en netwerk en die bestuur van berging moontlik. Die buigsaamheid van Amazon EC2 is duidelik in sy vermoë om hulpbronne opwaarts en afwaarts te skaal, wat effektief aanpas by verskillende vereiste veranderinge of toename in gewildheid. Hierdie kenmerk verminder die noodsaaklikheid vir presiese verkeersvoorspellings.
Interessante dinge om in EC2 te enumereer:
Virtuele Masjiene
SSH Sleutels
Gebruiker Data
Bestaande EC2s/AMIs/Snapshots
Netwerk
Netwerke
Subnetwerke
Publieke IPs
Oop poorte
Geïntegreerde verbindings met ander netwerke buite AWS
Instance Profiles
Om rolle te gebruik om toestemmings aan toepassings wat op EC2 instansies loop te verleen, vereis 'n bietjie ekstra konfigurasie. 'n Toepassing wat op 'n EC2 instansie loop, is geabstraheer van AWS deur die gevirtualiseerde bedryfstelsel. As gevolg van hierdie ekstra skeiding, benodig jy 'n ekstra stap om 'n AWS rol en sy geassosieerde toestemmings aan 'n EC2 instansie toe te ken en dit beskikbaar te maak vir sy toepassings.
Hierdie ekstra stap is die skepping van 'n instansie profiel wat aan die instansie geheg is. Die instansie profiel bevat die rol en kan die rol se tydelike akrediteerbare inligting aan 'n toepassing wat op die instansie loop verskaf. Daardie tydelike akrediteerbare inligting kan dan in die toepassing se API-oproepe gebruik word om toegang tot hulpbronne te verkry en om toegang te beperk tot slegs daardie hulpbronne wat die rol spesifiseer. Let daarop dat slegs een rol aan 'n EC2 instansie op 'n slag toegeken kan word, en alle toepassings op die instansie deel dieselfde rol en toestemmings.
Metadata Endpoint
AWS EC2 metadata is inligting oor 'n Amazon Elastic Compute Cloud (EC2) instansie wat beskikbaar is vir die instansie tydens uitvoering. Hierdie metadata word gebruik om inligting oor die instansie te verskaf, soos sy instansie ID, die beskikbaarheidsone waarin dit loop, die IAM rol geassosieer met die instansie, en die instansie se gasheernaam.
Enumeration
Ongeauthentiseerde Toegang
AWS - EC2 Unauthenticated EnumPrivilege Escalation
In die volgende bladsy kan jy kyk hoe om EC2-toestemmings te misbruik om voorregte te verhoog:
AWS - EC2 PrivescPost-Exploitation
AWS - EC2, EBS, SSM & VPC Post ExploitationEBS
Amazon EBS (Elastic Block Store) snapshots is basies statiese rugsteun van AWS EBS volumes. Met ander woorde, dit is kopieë van die skywe wat aan 'n EC2 Instansie op 'n spesifieke tydstip gekoppel is. EBS snapshots kan oor streke en rekeninge gekopieer word, of selfs afgelaai en plaaslik uitgevoer word.
Snapshots kan sensitiewe inligting soos bronkode of API sleutels bevat, daarom, as jy die kans het, word dit aanbeveel om dit na te gaan.
Verskil tussen AMI & EBS
'n AMI word gebruik om 'n EC2 instansie te begin, terwyl 'n EC2 Snapshot gebruik word om data wat op 'n EBS volume gestoor is, te rugsteun en te herstel. Terwyl 'n EC2 Snapshot gebruik kan word om 'n nuwe AMI te skep, is dit nie dieselfde as 'n AMI nie, en dit sluit nie inligting oor die bedryfstelsel, toepassingsbediener, of ander sagteware wat benodig word om 'n toepassing te laat werk, in nie.
Privilege Escalation
In die volgende bladsy kan jy kyk hoe om EBS-toestemmings te misbruik om voorregte te verhoog:
AWS - EBS PrivescSSM
Amazon Simple Systems Manager (SSM) maak dit moontlik om afstandsgewys 'n vloot van EC2 instansies te bestuur om hul administrasies baie makliker te maak. Elke een van hierdie instansies moet die SSM Agent diens uitvoer, aangesien die diens die een sal wees wat die aksies ontvang en dit uitvoer vanaf die AWS API.
SSM Agent maak dit moontlik vir Systems Manager om hierdie hulpbronne op te dateer, te bestuur en te konfigureer. Die agent verwerk versoeke van die Systems Manager diens in die AWS Cloud, en voer dit dan uit soos gespesifiseer in die versoek.
Die SSM Agent kom vooraf geïnstalleer in sommige AMIs of jy moet dit handmatig op die instansies installeer. Ook, die IAM Rol wat binne die instansie gebruik word, moet die beleid AmazonEC2RoleforSSM aangeheg hê om te kan kommunikeer.
Enumerasie
U kan in 'n EC2-instantie nagaan of Systems Manager loop deur eenvoudig die volgende uit te voer:
Privesc
In die volgende bladsy kan jy kyk hoe om SSM-toestemmings te misbruik om voorregte te verhoog:
AWS - SSM PrivescELB
Elastic Load Balancing (ELB) is 'n laaibelastingdiens vir Amazon Web Services (AWS) implementasies. ELB versprei outomaties inkomende toepassingsverkeer en skaal hulpbronne om aan verkeersvereistes te voldoen.
Enumeration
Ontwerp Sjablone & Outomatiese Skaalgroepe
Opname
Nitro
AWS Nitro is 'n suite van innovatiewe tegnologieë wat die onderliggende platform vir AWS EC2-instances vorm. Ingevoerd deur Amazon om veiligheid, prestasie en betroubaarheid te verbeter, benut Nitro pasgemaakte hardeware-komponente en 'n liggewig hypervisor. Dit abstraheer baie van die tradisionele virtualisering funksionaliteit na toegewyde hardeware en sagteware, minimaliseer die aanvalsvlak en verbeter hulpbron-doeltreffendheid. Deur virtualisering funksies af te laai, laat Nitro EC2-instances toe om byna bare-metal prestasie te lewer, wat dit veral voordelig maak vir hulpbron-intensiewe toepassings. Boonop verseker die Nitro Security Chip spesifiek die veiligheid van die hardeware en firmware, wat sy robuuste argitektuur verder versterk.
Kry meer inligting en hoe om dit te enumereer vanaf:
AWS - Nitro EnumVPN
'n VPN laat jou toe om jou on-premise netwerk (site-to-site VPN) of die werkers se skootrekenaars (Client VPN) met 'n AWS VPC te verbind sodat dienste sonder om dit aan die internet bloot te stel, toeganklik kan wees.
Basiese AWS VPN Komponente
Kliënt Gateway:
'n Kliënt Gateway is 'n hulpbron wat jy in AWS skep om jou kant van 'n VPN-verbinding te verteenwoordig.
Dit is in wese 'n fisiese toestel of sagtewaretoepassing aan jou kant van die Site-to-Site VPN-verbinding.
Jy verskaf routeringsinligting en die publieke IP-adres van jou netwerktoestel (soos 'n router of 'n firewall) aan AWS om 'n Kliënt Gateway te skep.
Dit dien as 'n verwysingspunt vir die opstelling van die VPN-verbinding en veroorsaak geen addisionele koste nie.
Virtuele Privaat Gateway:
'n Virtuele Privaat Gateway (VPG) is die VPN-konsentrasie aan die Amazon-kant van die Site-to-Site VPN-verbinding.
Dit is aan jou VPC geheg en dien as die teiken vir jou VPN-verbinding.
VPG is die AWS kant eindpunt vir die VPN-verbinding.
Dit hanteer die veilige kommunikasie tussen jou VPC en jou on-premises netwerk.
Site-to-Site VPN Verbinding:
'n Site-to-Site VPN-verbinding verbind jou on-premises netwerk met 'n VPC deur 'n veilige, IPsec VPN-tunnel.
Hierdie tipe verbinding vereis 'n Kliënt Gateway en 'n Virtuele Privaat Gateway.
Dit word gebruik vir veilige, stabiele, en konsekwente kommunikasie tussen jou datacentrum of netwerk en jou AWS-omgewing.
Gewoonlik gebruik vir gereelde, langtermynverbindinge en word gefaktureer op grond van die hoeveelheid data wat oor die verbinding oorgedra word.
Kliënt VPN Eindpunt:
'n Kliënt VPN eindpunt is 'n hulpbron wat jy in AWS skep om kliënt VPN-sessies te aktiveer en te bestuur.
Dit word gebruik om individuele toestelle (soos skootrekenaars, slimfone, ens.) veilig te laat aansluit op AWS-hulpbronne of jou on-premises netwerk.
Dit verskil van Site-to-Site VPN in die sin dat dit ontwerp is vir individuele kliënte eerder as om hele netwerke te verbind.
Met Kliënt VPN gebruik elke kliënttoestel 'n VPN-kliënt sagteware om 'n veilige verbinding te vestig.
Jy kan meer inligting oor die voordele en komponente van AWS VPNs hier vind.
Enumeration
Plaaslike Enumerasie
Plaaslike Tydelike Kredensiale
Wanneer AWS VPN-kliënt gebruik word om met 'n VPN te verbind, sal die gebruiker gewoonlik in AWS aanmeld om toegang tot die VPN te verkry. Dan word daar AWS-kredensiale geskep en plaaslik gestoor om die VPN-verbinding te vestig. Hierdie kredensiale word gestoor in $HOME/.config/AWSVPNClient/TemporaryCredentials/<region>/temporary-credentials.txt
en bevat 'n AccessKey, 'n SecretKey en 'n Token.
Die kredensiale behoort aan die gebruiker arn:aws:sts::<acc-id>:assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials
(TODO: navors meer oor die toestemmings van hierdie kredensiale).
opvn konfigurasie lêers
As 'n VPN-verbinding gevestig is, moet jy soek na .opvn
konfigurasie lêers in die stelsel. Boonop, een plek waar jy die konfigurasies kan vind, is in $HOME/.config/AWSVPNClient/OpenVpnConfigs
Post Exploitatie
AWS - VPN Post ExploitationVerwysings
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Last updated