AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
VPC & Networking
Scopri cos'è un VPC e i suoi componenti in:
AWS - VPC & Networking Basic InformationEC2
Amazon EC2 è utilizzato per avviare server virtuali. Consente la configurazione della sicurezza e della rete e la gestione dello storage. La flessibilità di Amazon EC2 è evidente nella sua capacità di scalare le risorse sia verso l'alto che verso il basso, adattandosi efficacemente ai cambiamenti delle esigenze o agli aumenti di popolarità. Questa caratteristica riduce la necessità di previsioni precise del traffico.
Cose interessanti da enumerare in EC2:
Macchine Virtuali
Chiavi SSH
Dati Utente
EC2/AMIs/Snapshot esistenti
Networking
Reti
Sottoreti
IP Pubblici
Porte aperte
Connessioni integrate con altre reti al di fuori di AWS
Instance Profiles
Utilizzare i ruoli per concedere permessi alle applicazioni che girano su istanze EC2 richiede una configurazione aggiuntiva. Un'applicazione che gira su un'istanza EC2 è astratta da AWS dal sistema operativo virtualizzato. A causa di questa separazione aggiuntiva, è necessario un passaggio aggiuntivo per assegnare un ruolo AWS e i relativi permessi a un'istanza EC2 e renderli disponibili alle sue applicazioni.
Questo passaggio aggiuntivo è la creazione di un instance profile collegato all'istanza. Il instance profile contiene il ruolo e può fornire le credenziali temporanee del ruolo a un'applicazione che gira sull'istanza. Queste credenziali temporanee possono quindi essere utilizzate nelle chiamate API dell'applicazione per accedere alle risorse e limitare l'accesso solo a quelle risorse specificate dal ruolo. Nota che solo un ruolo può essere assegnato a un'istanza EC2 alla volta, e tutte le applicazioni sull'istanza condividono lo stesso ruolo e permessi.
Metadata Endpoint
I metadati di AWS EC2 sono informazioni su un'istanza Amazon Elastic Compute Cloud (EC2) disponibili all'istanza in fase di runtime. Questi metadati sono utilizzati per fornire informazioni sull'istanza, come il suo ID, la zona di disponibilità in cui è in esecuzione, il ruolo IAM associato all'istanza e il nome host dell'istanza.
Enumeration
Accesso Non Autenticato
AWS - EC2 Unauthenticated EnumPrivesc
Nella seguente pagina puoi vedere come abusare dei permessi EC2 per scalare i privilegi:
AWS - EC2 PrivescPost-Exploitation
AWS - EC2, EBS, SSM & VPC Post ExploitationEBS
Gli EBS (Elastic Block Store) snapshots di Amazon sono fondamentalmente backup statici dei volumi EBS di AWS. In altre parole, sono copie dei dischi collegati a un'istanza EC2 in un momento specifico. Gli snapshot EBS possono essere copiati tra regioni e account, o persino scaricati ed eseguiti localmente.
Gli snapshot possono contenere informazioni sensibili come codice sorgente o chiavi API, quindi, se ne hai la possibilità, è consigliato controllarli.
Differenza AMI & EBS
Un'AMI viene utilizzata per avviare un'istanza EC2, mentre uno Snapshot EC2 viene utilizzato per eseguire il backup e il recupero dei dati memorizzati su un volume EBS. Sebbene uno Snapshot EC2 possa essere utilizzato per creare una nuova AMI, non è la stessa cosa di un'AMI e non include informazioni sul sistema operativo, server applicativo o altro software necessario per eseguire un'applicazione.
Privesc
Nella seguente pagina puoi vedere come abusare dei permessi EBS per scalare i privilegi:
AWS - EBS PrivescSSM
Amazon Simple Systems Manager (SSM) consente di gestire da remoto flotte di istanze EC2 per rendere la loro amministrazione molto più semplice. Ciascuna di queste istanze deve eseguire il servizio SSM Agent poiché sarà il servizio a ricevere le azioni e ad eseguirle dall'API AWS.
SSM Agent rende possibile per Systems Manager aggiornare, gestire e configurare queste risorse. L'agente elabora le richieste dal servizio Systems Manager nel cloud AWS, e poi le esegue come specificato nella richiesta.
L'SSM Agent viene preinstallato in alcune AMI oppure è necessario installarlo manualmente sulle istanze. Inoltre, il ruolo IAM utilizzato all'interno dell'istanza deve avere la policy AmazonEC2RoleforSSM allegata per poter comunicare.
Enumerazione
Puoi verificare se Systems Manager è in esecuzione in un'istanza EC2 semplicemente eseguendo:
Privesc
Nella seguente pagina puoi vedere come abusare dei permessi SSM per scalare i privilegi:
AWS - SSM PrivescELB
Elastic Load Balancing (ELB) è un servizio di bilanciamento del carico per le distribuzioni Amazon Web Services (AWS). ELB distribuisce automaticamente il traffico delle applicazioni in entrata e scala le risorse per soddisfare le richieste di traffico.
Enumeration
Launch Templates & Autoscaling Groups
Enumerazione
Nitro
AWS Nitro è una suite di tecnologie innovative che costituiscono la piattaforma sottostante per le istanze AWS EC2. Introdotto da Amazon per migliorare la sicurezza, le prestazioni e l'affidabilità, Nitro sfrutta componenti hardware personalizzati e un hypervisor leggero. Astrae gran parte della funzionalità di virtualizzazione tradizionale su hardware e software dedicati, minimizzando la superficie di attacco e migliorando l'efficienza delle risorse. Delegando le funzioni di virtualizzazione, Nitro consente alle istanze EC2 di offrire prestazioni quasi a livello di metallo nudo, rendendolo particolarmente vantaggioso per applicazioni ad alta intensità di risorse. Inoltre, il Nitro Security Chip garantisce specificamente la sicurezza dell'hardware e del firmware, consolidando ulteriormente la sua robusta architettura.
Ottieni maggiori informazioni e come enumerarlo da:
AWS - Nitro EnumVPN
Una VPN consente di connettere la tua rete on-premise (site-to-site VPN) o i laptop dei lavoratori (Client VPN) con un AWS VPC in modo che i servizi possano essere accessibili senza doverli esporre a internet.
Componenti di base della VPN AWS
Customer Gateway:
Un Customer Gateway è una risorsa che crei in AWS per rappresentare il tuo lato di una connessione VPN.
È essenzialmente un dispositivo fisico o un'applicazione software sul tuo lato della connessione Site-to-Site VPN.
Fornisci informazioni di routing e l'indirizzo IP pubblico del tuo dispositivo di rete (come un router o un firewall) ad AWS per creare un Customer Gateway.
Serve come punto di riferimento per configurare la connessione VPN e non comporta costi aggiuntivi.
Virtual Private Gateway:
Un Virtual Private Gateway (VPG) è il concentratore VPN sul lato Amazon della connessione Site-to-Site VPN.
È collegato al tuo VPC e serve come obiettivo per la tua connessione VPN.
VPG è il punto finale lato AWS per la connessione VPN.
Gestisce la comunicazione sicura tra il tuo VPC e la tua rete on-premises.
Site-to-Site VPN Connection:
Una connessione Site-to-Site VPN collega la tua rete on-premises a un VPC tramite un tunnel VPN sicuro IPsec.
Questo tipo di connessione richiede un Customer Gateway e un Virtual Private Gateway.
È utilizzato per una comunicazione sicura, stabile e coerente tra il tuo data center o rete e il tuo ambiente AWS.
Tipicamente utilizzato per connessioni regolari e a lungo termine ed è fatturato in base alla quantità di dati trasferiti sulla connessione.
Client VPN Endpoint:
Un Client VPN endpoint è una risorsa che crei in AWS per abilitare e gestire le sessioni VPN client.
È utilizzato per consentire ai singoli dispositivi (come laptop, smartphone, ecc.) di connettersi in modo sicuro alle risorse AWS o alla tua rete on-premises.
Differisce dalla Site-to-Site VPN in quanto è progettato per singoli client piuttosto che per connettere intere reti.
Con Client VPN, ogni dispositivo client utilizza un software client VPN per stabilire una connessione sicura.
Puoi trovare maggiori informazioni sui vantaggi e componenti delle VPN AWS qui.
Enumerazione
Local Enumeration
Local Temporary Credentials
Quando AWS VPN Client viene utilizzato per connettersi a una VPN, l'utente di solito accede ad AWS per ottenere l'accesso alla VPN. Successivamente, alcune credenziali AWS vengono create e memorizzate localmente per stabilire la connessione VPN. Queste credenziali sono memorizzate in $HOME/.config/AWSVPNClient/TemporaryCredentials/<region>/temporary-credentials.txt
e contengono un AccessKey, un SecretKey e un Token.
Le credenziali appartengono all'utente arn:aws:sts::<acc-id>:assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials
(TODO: fare ulteriori ricerche sui permessi di queste credenziali).
opvn config files
Se una connessione VPN è stata stabilita dovresti cercare i file di configurazione .opvn
nel sistema. Inoltre, un luogo dove potresti trovare le configurazioni è in $HOME/.config/AWSVPNClient/OpenVpnConfigs
Post Exploitaiton
AWS - VPN Post ExploitationReferences
Last updated