AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
VPC & Networking
Scopri cos'è un VPC e i suoi componenti in:
pageAWS - VPC & Networking Basic InformationEC2
Amazon EC2 è utilizzato per avviare server virtuali. Consente la configurazione di sicurezza e 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 dei requisiti o agli aumenti di popolarità. Questa caratteristica riduce la necessità di previsioni di traffico precise.
Cose interessanti da enumerare in EC2:
Macchine virtuali
Chiavi SSH
Dati utente
EC2/AMI/Snapshot esistenti
Rete
Reti
Sottoreti
IP pubblici
Porte aperte
Connessioni integrate con altre reti al di fuori di AWS
Profili delle istanze
L'utilizzo di ruoli per concedere autorizzazioni alle applicazioni che vengono eseguite sulle istanze EC2 richiede una piccola configurazione aggiuntiva. Un'applicazione in esecuzione 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 le relative autorizzazioni a un'istanza EC2 e renderle disponibili alle sue applicazioni.
Questo passaggio aggiuntivo è la creazione di un profilo dell'istanza allegato all'istanza. Il profilo dell'istanza contiene il ruolo e può fornire le credenziali temporanee del ruolo a un'applicazione che viene eseguita sull'istanza. Queste credenziali temporanee possono quindi essere utilizzate nelle chiamate API dell'applicazione per accedere alle risorse e per limitare l'accesso solo alle 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 le stesse autorizzazioni.
Endpoint dei metadati
I metadati di AWS EC2 sono informazioni su un'istanza Amazon Elastic Compute Cloud (EC2) disponibili all'istanza durante l'esecuzione. Questi metadati vengono utilizzati per fornire informazioni sull'istanza, come ad esempio l'ID dell'istanza, la zona di disponibilità in cui è in esecuzione, il ruolo IAM associato all'istanza e l'hostname dell'istanza.
Enumerazione
Accesso non autenticato
pageAWS - EC2 Unauthenticated EnumPrivesc
Nella seguente pagina puoi verificare come abusare dei permessi EC2 per elevare i privilegi:
pageAWS - EC2 PrivescPost-Esploitation
pageAWS - EC2, EBS, SSM & VPC Post ExploitationEBS
Gli snapshot di Amazon EBS (Elastic Block Store) sono essenzialmente backup statici dei volumi AWS EBS. In altre parole, sono copia dei dischi collegati a un'istanza EC2 in un momento specifico. Gli snapshot di EBS possono essere copiati tra regioni e account, o addirittura scaricati ed eseguiti localmente.
Gli snapshot possono contenere informazioni sensibili come codice sorgente o chiavi API, pertanto, se ne hai la possibilità, è consigliabile controllarli.
Differenza tra AMI ed EBS
Un AMI viene utilizzato per avviare un'istanza EC2, mentre uno Snapshot EC2 viene utilizzato per eseguire il backup e ripristinare i dati memorizzati su un volume EBS. Sebbene uno Snapshot EC2 possa essere utilizzato per creare un nuovo AMI, non è la stessa cosa di un AMI e non include informazioni sul sistema operativo, server dell'applicazione o altri software necessari per eseguire un'applicazione.
Privesc
Nella seguente pagina puoi verificare come abusare dei permessi EBS per elevare i privilegi:
pageAWS - EBS PrivescSSM
Amazon Simple Systems Manager (SSM) consente di gestire remotamente gruppi di istanze EC2 per semplificarne l'amministrazione. Ciascuna di queste istanze deve eseguire il servizio SSM Agent in quanto sarà quello a ricevere le azioni e a eseguirle dall'API AWS.
SSM Agent consente a Systems Manager di aggiornare, gestire e configurare queste risorse. L'agente elabora le richieste dal servizio Systems Manager nel Cloud AWS, e quindi le esegue come specificato nella richiesta.
Lo 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 in un'istanza EC2 se Systems Manager è in esecuzione semplicemente eseguendo:
Privesc
Nella seguente pagina puoi controllare come abusare delle autorizzazioni SSM per elevare i privilegi:
pageAWS - 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 arrivo e scala le risorse per soddisfare le esigenze del traffico.
Enumerazione
Modelli di Lancio & Gruppi di Autoscaling
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 ipervisore leggero. Astrae gran parte della funzionalità di virtualizzazione tradizionale verso 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 bare-metal, rendendolo particolarmente vantaggioso per le applicazioni ad alta intensità di risorse. Inoltre, il Chip di Sicurezza Nitro garantisce specificamente la sicurezza dell'hardware e del firmware, consolidando ulteriormente la sua architettura robusta.
Ottieni ulteriori informazioni su come enumerarlo da:
pageAWS - Nitro EnumVPN
Una VPN consente di connettere la tua rete on-premise (VPN sito-sito) o i laptop dei lavoratori (VPN client) con un VPC AWS in modo che i servizi possano essere accessibili senza la necessità di esporli su Internet.
Componenti di base di AWS VPN
Gateway del Cliente:
Un Gateway del Cliente è 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 VPN sito-sito.
Fornisci informazioni di routing e l'indirizzo IP pubblico del dispositivo di rete (come un router o un firewall) ad AWS per creare un Gateway del Cliente.
Serve come punto di riferimento per configurare la connessione VPN e non comporta costi aggiuntivi.
Gateway Privato Virtuale:
Un Gateway Privato Virtuale (VPG) è il concentratore VPN sul lato Amazon della connessione VPN sito-sito.
È collegato al tuo VPC e funge da destinazione per la tua connessione VPN.
Il VPG è il punto terminale lato AWS per la connessione VPN.
Gestisce la comunicazione sicura tra il tuo VPC e la tua rete on-premise.
Connessione VPN Sito-Sito:
Una connessione VPN sito-sito connette la tua rete on-premise a un VPC attraverso un tunnel VPN IPsec sicuro.
Questo tipo di connessione richiede un Gateway del Cliente e un Gateway Privato Virtuale.
È 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 a lungo termine e viene tariffato in base alla quantità di dati trasferiti sulla connessione.
Endpoint VPN Client:
Un endpoint VPN client è una risorsa che crei in AWS per abilitare e gestire sessioni VPN client.
È utilizzato per consentire a dispositivi individuali (come laptop, smartphone, ecc.) di connettersi in modo sicuro alle risorse AWS o alla tua rete on-premise.
Si differenzia dalla VPN sito-sito in quanto è progettato per clienti individuali anziché per connettere intere reti.
Con la VPN client, ogni dispositivo client utilizza un software client VPN per stabilire una connessione sicura.
Puoi trovare ulteriori informazioni sui vantaggi e sui componenti delle VPN AWS qui.
Enumerazione
Enumerazione Locale
Credenziali Temporanee Locali
Quando il Client VPN AWS viene utilizzato per connettersi a una VPN, l'utente di solito effettuerà il login in 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 una AccessKey, una 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: approfondire le autorizzazioni di queste credenziali).
File di configurazione opvn
Se è stata stabilita una connessione VPN, è consigliabile cercare i file di configurazione .opvn
nel sistema. Inoltre, un luogo in cui potresti trovare le configurazioni è in $HOME/.config/AWSVPNClient/OpenVpnConfigs
Post Esploitation
pageAWS - VPN Post ExploitationRiferimenti
Last updated