Translated ['', 'src/pentesting-cloud/aws-security/aws-services/aws-ec2-

This commit is contained in:
Translator
2026-02-23 10:54:35 +00:00
parent a1448b909e
commit d190a043d0

View File

@@ -2,7 +2,7 @@
{{#include ../../../../banners/hacktricks-training.md}}
## VPC & Networking
## VPC i umrežavanje
Saznajte šta je VPC i o njegovim komponentama u:
@@ -12,15 +12,15 @@ aws-vpc-and-networking-basic-information.md
## EC2
Amazon EC2 se koristi za pokretanje **virtuelnih servera**. Omogućava konfiguraciju **bezbednosti** i **mreže** i upravljanje **skladištem**. Fleksibilnost Amazon EC2 je očigledna u njegovoj sposobnosti da skalira resurse kako naviše, tako i naniže, efikasno se prilagođavajući promenama zahteva ili porastima popularnosti. Ova funkcija smanjuje potrebu za preciznim predikcijama saobraćaja.
Amazon EC2 se koristi za pokretanje **virtualnih servera**. Omogućava konfigurisanje **bezbednosti** i **umrežavanja** i upravljanje **skladištem**. Fleksibilnost Amazon EC2 ogleda se u mogućnosti skaliranja resursa naviše i naniže, efikasno se prilagođavajući promenama zahteva ili skokovima u popularnosti. Ova funkcija smanjuje potrebu za preciznim predviđanjem saobraćaja.
Zanimljive stvari za enumeraciju u EC2:
- Virtuelne mašine
- Virtualne mašine
- SSH ključevi
- Podaci o korisnicima
- Postojeći EC2/AMI/snapshoti
- Mreženje
- User Data
- Postojeći EC2-ovi/AMIs/Snapshots
- Umrežavanje
- Mreže
- Podmreže
- Javne IP adrese
@@ -29,19 +29,19 @@ Zanimljive stvari za enumeraciju u EC2:
### Instance Profiles
Korišćenje **rola** za dodeljivanje dozvola aplikacijama koje rade na **EC2 instancama** zahteva malo dodatne konfiguracije. Aplikacija koja radi na EC2 instanci je apstrahovana od AWS-a putem virtuelizovanog operativnog sistema. Zbog ove dodatne separacije, potrebna je dodatna faza za dodeljivanje AWS role i njenih povezanih dozvola EC2 instanci i njihovo dostupnost aplikacijama.
Korišćenje **roles** za dodeljivanje dozvola aplikacijama koje se izvršavaju na **EC2 instances** zahteva dodatnu konfiguraciju. Aplikacija koja se izvršava na EC2 instance je apstrahovana od AWS-a putem virtualizovanog operativnog sistema. Zbog ovog dodatnog odvajanja, potreban je još jedan korak da se AWS role i pripadajuće dozvole dodele EC2 instance i učine dostupnim aplikacijama na njoj.
Ova dodatna faza je **kreiranje** [_**instance profile**_](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) vezanog za instancu. **Instance profile sadrži ulogu i** može pružiti privremene akreditive uloge aplikaciji koja radi na instanci. Ti privremeni akreditive se zatim mogu koristiti u API pozivima aplikacije za pristup resursima i za ograničavanje pristupa samo onim resursima koje uloga specificira. Imajte na umu da **samo jedna uloga može biti dodeljena EC2 instanci** u isto vreme, a sve aplikacije na instanci dele istu ulogu i dozvole.
Ovaj dodatni korak je **creation of an** [_**instance profile**_](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) attached to the instance. The **instance profile contains the role and** može obezbediti privremene akreditive role aplikaciji koja se izvršava na instanci. Ti privremeni akreditivi se potom mogu koristiti u API pozivima aplikacije za pristup resursima i za ograničavanje pristupa samo onim resursima koje role navodi. Imajte na umu da **only one role can be assigned to an EC2 instance** u isto vreme, i sve aplikacije na instanci dele istu role i dozvole.
### Metadata Endpoint
AWS EC2 metapodaci su informacije o Amazon Elastic Compute Cloud (EC2) instanci koje su dostupne instanci u vreme izvršavanja. Ovi metapodaci se koriste za pružanje informacija o instanci, kao što su njen ID instance, dostupna zona u kojoj se pokreće, IAM uloga povezana sa instancom i ime hosta instance.
AWS EC2 metadata su informacije o Amazon Elastic Compute Cloud (EC2) instanci koje su dostupne instanci za vreme izvršavanja. Ova metadata se koriste da pruže informacije o instanci, kao što su njen instance ID, availability zone u kojoj radi, IAM role povezana sa instancom, i hostname instance.
{{#ref}}
https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html
{{#endref}}
### Enumeration
### Enumeracija
```bash
# Get EC2 instances
aws ec2 describe-instances
@@ -81,6 +81,9 @@ aws ec2 describe-addresses
# Get current output
aws ec2 get-console-output --instance-id [id]
# Get a JPG-format screenshot of a running instance
aws ec2 get-console-screenshot --instance [id]
# Get VPN customer gateways
aws ec2 describe-customer-gateways
aws ec2 describe-vpn-gateways
@@ -135,13 +138,13 @@ aws ec2 describe-vpc-peering-connections
### Privesc
Na sledećoj stranici možete proveriti kako da **zloupotrebite EC2 dozvole za eskalaciju privilegija**:
Na sledećoj stranici možete videti kako da zloupotrebite EC2 permissions da biste eskalirali privilegije:
{{#ref}}
../../aws-privilege-escalation/aws-ec2-privesc/README.md
{{#endref}}
### Post-eksploatacija
### Post-Exploitation
{{#ref}}
../../aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/
@@ -149,17 +152,17 @@ Na sledećoj stranici možete proveriti kako da **zloupotrebite EC2 dozvole za e
## EBS
Amazon **EBS** (Elastic Block Store) **snapshots** su u suštini statički **backup-ovi** AWS EBS volumena. Drugim rečima, to su **kopije** **diskova** povezanih sa **EC2** instancom u određenom trenutku. EBS snapshots se mogu kopirati između regiona i naloga, ili čak preuzeti i pokrenuti lokalno.
Amazon **EBS** (Elastic Block Store) **snapshots** su u suštini statične **rezervne kopije** AWS EBS volumena. Drugim rečima, to su **kopije** **diskova** priključenih na **EC2** instancu u određenom trenutku. EBS snapshots mogu biti kopirani između regiona i naloga, ili čak preuzeti i pokrenuti lokalno.
Snapshots mogu sadržati **osetljive informacije** kao što su **izvorni kod ili API ključevi**, stoga, ako imate priliku, preporučuje se da ih proverite.
Snapshots mogu sadržati **osetljive informacije** kao što su **izvorni kod ili API ključevi**, zato, ako imate priliku, preporučuje se da ih proverite.
### Razlika između AMI i EBS
### Razlika AMI & EBS
**AMI** se koristi za **pokretanje EC2 instance**, dok se EC2 **Snapshot** koristi za **backup i oporavak podataka sa EBS volumena**. Dok se EC2 Snapshot može koristiti za kreiranje novog AMI-ja, to nije isto što i AMI, i ne uključuje informacije o operativnom sistemu, aplikacionom serveru ili drugom softveru potrebnom za pokretanje aplikacije.
An **AMI** se koristi za **pokretanje EC2 instance**, dok se EC2 **Snapshot** koristi za **bekapovanje i oporavak podataka pohranjenih na EBS volumenu**. Iako se EC2 **Snapshot** može koristiti za kreiranje nove AMI, on nije isto što i AMI i ne uključuje informacije o operativnom sistemu, aplikacionom serveru ili drugom softveru potrebnom za pokretanje aplikacije.
### Privesc
Na sledećoj stranici možete proveriti kako da **zloupotrebite EBS dozvole za eskalaciju privilegija**:
Na sledećoj stranici možete videti kako da zloupotrebite EBS permissions da biste eskalirali privilegije:
{{#ref}}
../../aws-privilege-escalation/aws-ebs-privesc/README.md
@@ -167,13 +170,11 @@ Na sledećoj stranici možete proveriti kako da **zloupotrebite EBS dozvole za e
## SSM
**Amazon Simple Systems Manager (SSM)** omogućava daljinsko upravljanje flotama EC2 instanci kako bi njihova administracija bila mnogo lakša. Svaka od ovih instanci treba da pokreće **SSM Agent servis, jer će taj servis obavljati akcije i izvršavati ih** putem AWS API-ja.
**Amazon Simple Systems Manager (SSM)** omogućava daljinsko upravljanje flotama EC2 instanci kako bi administracija bila mnogo jednostavnija. Svaka od ovih instanci treba da pokrene **SSM Agent servis, jer će taj servis primati zahteve iz AWS API-ja i izvršavati ih**.
**SSM Agent** omogućava Systems Manager-u da ažurira, upravlja i konfiguriše ove resurse. Agent **obrađuje zahteve od Systems Manager servisa u AWS Cloudu**, a zatim ih izvršava kako je navedeno u zahtevu.
**SSM Agent** omogućava Systems Manager-u da ažurira, upravlja i konfiguriše ove resurse. Agent **obradi zahteve od Systems Manager servisa u AWS Cloud**, i potom ih izvršava kako je navedeno u zahtevu.
**SSM Agent dolazi**[ **predinstaliran u nekim AMI-jima**](https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html) ili ga treba [**ručno instalirati**](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-manual-agent-install.html) na instancama. Takođe, IAM uloga koja se koristi unutar instance treba da ima politiku **AmazonEC2RoleforSSM** prikačenu da bi mogla da komunicira.
### Enumeracija
**SSM Agent dolazi**[ **preinstalled in some AMIs**](https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html) ili je potrebno da ih [**manually install them**](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-manual-agent-install.html) na instancama. Takođe, IAM Role koja se koristi unutar instance mora imati priloženu politiku **AmazonEC2RoleforSSM** da bi mogla da komunicira.
```bash
aws ssm describe-instance-information
aws ssm describe-parameters
@@ -182,13 +183,13 @@ aws ssm describe-instance-patches --instance-id <id>
aws ssm describe-instance-patch-states --instance-ids <id>
aws ssm describe-instance-associations-status --instance-id <id>
```
Možete proveriti da li je Systems Manager pokrenut na EC2 instanci jednostavno izvršavanjem:
Možete proveriti na EC2 instanci da li Systems Manager radi jednostavnim izvršavanjem:
```bash
ps aux | grep amazon-ssm
```
### Privesc
Na sledećoj stranici možete proveriti kako da **zloupotrebite SSM dozvole za eskalaciju privilegija**:
Na sledećoj strani možete pogledati kako da **abuse SSM permissions to escalate privileges**:
{{#ref}}
../../aws-privilege-escalation/aws-ssm-privesc/README.md
@@ -196,7 +197,7 @@ Na sledećoj stranici možete proveriti kako da **zloupotrebite SSM dozvole za e
### Perssistence
Na sledećoj stranici možete proveriti kako da **zloupotrebite SSM dozvole za postizanje persistencije**:
Na sledećoj strani možete pogledati kako da **abuse SSM permissions to achieve persistence**:
{{#ref}}
../../aws-persistence/aws-ssm-persistence/README.md
@@ -204,7 +205,7 @@ Na sledećoj stranici možete proveriti kako da **zloupotrebite SSM dozvole za p
## ELB
**Elastic Load Balancing** (ELB) je **usluga balansiranja opterećenja za Amazon Web Services** (AWS) implementacije. ELB automatski **distribuira dolazni aplikativni saobraćaj** i skalira resurse kako bi zadovoljio zahteve saobraćaja.
**Elastic Load Balancing** (ELB) je **servis za balansiranje opterećenja za Amazon Web Services** (AWS) implementacije. ELB automatski **raspoređuje dolazni saobraćaj aplikacije** i skalira resurse kako bi zadovoljio zahteve saobraćaja.
### Enumeration
```bash
@@ -236,9 +237,9 @@ aws autoscaling describe-load-balancers
```
## Nitro
AWS Nitro je skup **inovativnih tehnologija** koje čine osnovnu platformu za AWS EC2 instance. Uveden od strane Amazona da **poboljša bezbednost, performanse i pouzdanost**, Nitro koristi prilagođene **hardverske komponente i lagani hipervizor**. Apstrahuje većinu tradicionalne funkcionalnosti virtualizacije na posvećen hardver i softver, **minimizirajući površinu napada** i poboljšavajući efikasnost resursa. Oslobađanjem funkcija virtualizacije, Nitro omogućava EC2 instancama da pruže **performanse blizu onih na fizičkom hardveru**, što ga čini posebno korisnim za aplikacije koje zahtevaju mnogo resursa. Pored toga, Nitro Security Chip posebno osigurava **bezbednost hardvera i firmvera**, dodatno učvršćujući njegovu robusnu arhitekturu.
AWS Nitro je paket **inovativnih tehnologija** koje čine osnovnu platformu za AWS EC2 instance. Uveden od strane Amazon-a da bi **poboljšao security, performance, i reliability**, Nitro koristi prilagođene **hardware components i lagani hipervizor**. On prebacuje veći deo tradicionalne virtualizacione funkcionalnosti na namenski hardver i softver, **minimizirajući attack surface** i poboljšavajući efikasnost resursa. Izmeštanjem virtualizacijskih funkcija, Nitro omogućava EC2 instancama da pruže **performanse bliske bare-metal-u**, što ga čini naročito pogodnim za aplikacije koje zahtevaju velike resurse. Pored toga, Nitro Security Chip konkretno obezbeđuje **bezbednost hardvera i firmware-a**, dodatno učvršćujući njegovu robusnu arhitekturu.
Dobijte više informacija i kako ga enumerisati sa:
Get more information and how to enumerate it from:
{{#ref}}
aws-nitro-enum.md
@@ -246,32 +247,32 @@ aws-nitro-enum.md
## VPN
VPN omogućava povezivanje vaše **lokalne mreže (site-to-site VPN)** ili **laptopova radnika (Client VPN)** sa **AWS VPC** tako da se usluge mogu pristupiti bez potrebe da ih izlažete internetu.
VPN omogućava povezivanje vaše **on-premise network (site-to-site VPN)** ili **workers laptops (Client VPN)** sa **AWS VPC**, tako da se servisi mogu koristiti bez potrebe da budu izloženi internetu.
#### Osnovne komponente AWS VPN-a
#### Osnovne AWS VPN komponente
1. **Customer Gateway**:
- Customer Gateway je resurs koji kreirate u AWS-u da predstavlja vašu stranu VPN veze.
- To je u suštini fizički uređaj ili softverska aplikacija na vašoj strani Site-to-Site VPN veze.
- Pružate informacije o rutiranju i javnu IP adresu vašeg mrežnog uređaja (kao što je ruter ili vatrozid) AWS-u da biste kreirali Customer Gateway.
- Služi kao referentna tačka za postavljanje VPN veze i ne generiše dodatne troškove.
- U suštini je fizički uređaj ili softverska aplikacija na vašoj strani Site-to-Site VPN veze.
- Prilikom kreiranja Customer Gateway-a prosleđujete informacije o rutiranju i javnu IP adresu vašeg mrežnog uređaja (npr. rutera ili firewalla) AWS-u.
- Služi kao referentna tačka za postavljanje VPN veze i ne predstavlja dodatni trošak.
2. **Virtual Private Gateway**:
- Virtual Private Gateway (VPG) je VPN koncentrator na Amazon strani Site-to-Site VPN veze.
- Priključen je na vaš VPC i služi kao cilj za vašu VPN vezu.
- VPG je AWS strana krajnje tačke za VPN vezu.
- Rukuje sigurnom komunikacijom između vašeg VPC-a i vaše lokalne mreže.
- Virtual Private Gateway (VPG) je VPN koncentrator na Amazon-ovoj strani Site-to-Site VPN veze.
- Priključen je na vašu VPC i služi kao odredište za vašu VPN vezu.
- VPG je AWS side endpoint za VPN vezu.
- On rukuje sigurnom komunikacijom između vaše VPC i vaše on-premise mreže.
3. **Site-to-Site VPN Connection**:
- Site-to-Site VPN veza povezuje vašu lokalnu mrežu sa VPC-om kroz sigurni, IPsec VPN tunel.
- Ova vrsta veze zahteva Customer Gateway i Virtual Private Gateway.
- Koristi se za sigurnu, stabilnu i doslednu komunikaciju između vašeg data centra ili mreže i vašeg AWS okruženja.
- Site-to-Site VPN veza povezuje vašu on-premises mrežu sa VPC-om kroz siguran, IPsec VPN tunel.
- Ovaj tip veze zahteva Customer Gateway i Virtual Private Gateway.
- Koristi se za sigurnu, stabilnu i konzistentnu komunikaciju između vašeg data centra ili mreže i vašeg AWS okruženja.
- Obično se koristi za redovne, dugoročne veze i naplaćuje se na osnovu količine podataka prenetih preko veze.
4. **Client VPN Endpoint**:
- Client VPN endpoint je resurs koji kreirate u AWS-u da omogućite i upravljate klijent VPN sesijama.
- Koristi se za omogućavanje pojedinačnim uređajima (kao što su laptopi, pametni telefoni itd.) da sigurno povežu sa AWS resursima ili vašom lokalnom mrežom.
- Client VPN endpoint je resurs koji kreirate u AWS-u da omogućite i upravljate client VPN sesijama.
- Koristi se da omogući pojedinačnim uređajima (npr. laptopovima, pametnim telefonima itd.) da se sigurno povežu na AWS resurse ili vašu on-premises mrežu.
- Razlikuje se od Site-to-Site VPN po tome što je dizajniran za pojedinačne klijente, a ne za povezivanje celih mreža.
- Sa Client VPN-om, svaki klijentski uređaj koristi VPN klijentski softver za uspostavljanje sigurne veze.
- Sa Client VPN-om, svaki klijentski uređaj koristi VPN client software za uspostavljanje sigurne veze.
Možete [**pronaći više informacija o prednostima i komponentama AWS VPN-a ovde**](aws-vpc-and-networking-basic-information.md#vpn).
You can [**find more information about the benefits and components of AWS VPNs here**](aws-vpc-and-networking-basic-information.md#vpn).
### Enumeration
```bash
@@ -297,25 +298,25 @@ aws ec2 describe-vpn-gateways
# Get VPN site-to-site connections
aws ec2 describe-vpn-connections
```
### Lokalna Enumeracija
### Lokalna enumeracija
**Lokalne Privremene Akreditiv**
**Lokalni privremeni kredencijali**
Kada se koristi AWS VPN klijent za povezivanje na VPN, korisnik obično **prijavljuje se u AWS** da bi dobio pristup VPN-u. Tada se neki **AWS akreditivi kreiraju i čuvaju** lokalno kako bi se uspostavila VPN veza. Ovi akreditivi su **čuvani u** `$HOME/.config/AWSVPNClient/TemporaryCredentials/<region>/temporary-credentials.txt` i sadrže **AccessKey**, **SecretKey** i **Token**.
When AWS VPN Client is used to connect to a VPN, the user will usually **login in AWS** to get access to the VPN. Then, some **AWS credentials are created and stored** locally to establish the VPN connection. These credentials are **stored in** `$HOME/.config/AWSVPNClient/TemporaryCredentials/<region>/temporary-credentials.txt` and contains an **AccessKey**, a **SecretKey** and a **Token**.
Akreditivi pripadaju korisniku `arn:aws:sts::<acc-id>:assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials` (TODO: istražiti više o dozvolama ovih akreditiva).
Kredencijali pripadaju korisniku `arn:aws:sts::<acc-id>:assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials` (TODO: istražiti više o dozvolama ovih kredencijala).
**opvn konfiguracione datoteke**
**opvn konfiguracioni fajlovi**
Ako je **VPN veza uspostavljena**, trebali biste tražiti **`.opvn`** konfiguracione datoteke u sistemu. Štaviše, jedno mesto gde možete pronaći **konfiguracije** je u **`$HOME/.config/AWSVPNClient/OpenVpnConfigs`**
Ako je **VPN veza uspostavljena** trebalo bi da potražite **`.opvn`** konfiguracione fajlove u sistemu. Pored toga, jedno mesto gde možete pronaći **konfiguracije** je **`$HOME/.config/AWSVPNClient/OpenVpnConfigs`**
#### **Post Eksploatacija**
#### **Post Exploitaiton**
{{#ref}}
../../aws-post-exploitation/aws-vpn-post-exploitation/README.md
{{#endref}}
## Reference
## References
- [https://docs.aws.amazon.com/batch/latest/userguide/getting-started-ec2.html](https://docs.aws.amazon.com/batch/latest/userguide/getting-started-ec2.html)