AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
VPC & Networking
Aprenda o que é uma VPC e sobre seus componentes em:
AWS - VPC & Networking Basic InformationEC2
Amazon EC2 é utilizado para iniciar servidores virtuais. Ele permite a configuração de segurança e rede e a gestão de armazenamento. A flexibilidade do Amazon EC2 é evidente em sua capacidade de escalar recursos tanto para cima quanto para baixo, adaptando-se efetivamente a mudanças de requisitos ou aumentos de popularidade. Esta característica diminui a necessidade de previsões precisas de tráfego.
Coisas interessantes para enumerar no EC2:
Máquinas Virtuais
Chaves SSH
Dados do Usuário
EC2s/AMIs/Snapshots existentes
Rede
Redes
Sub-redes
IPs Públicos
Portas abertas
Conexões integradas com outras redes fora da AWS
Perfis de Instância
Usar roles para conceder permissões a aplicações que rodam em instâncias EC2 requer um pouco de configuração extra. Uma aplicação rodando em uma instância EC2 é abstraída da AWS pelo sistema operacional virtualizado. Devido a essa separação extra, é necessário um passo adicional para atribuir uma role da AWS e suas permissões associadas a uma instância EC2 e torná-las disponíveis para suas aplicações.
Este passo extra é a criação de um perfil de instância anexado à instância. O perfil de instância contém a role e pode fornecer as credenciais temporárias da role para uma aplicação que roda na instância. Essas credenciais temporárias podem então ser usadas nas chamadas de API da aplicação para acessar recursos e limitar o acesso apenas aos recursos especificados pela role. Note que apenas uma role pode ser atribuída a uma instância EC2 por vez, e todas as aplicações na instância compartilham a mesma role e permissões.
Endpoint de Metadados
Metadados do AWS EC2 são informações sobre uma instância do Amazon Elastic Compute Cloud (EC2) que estão disponíveis para a instância em tempo de execução. Esses metadados são usados para fornecer informações sobre a instância, como seu ID de instância, a zona de disponibilidade em que está rodando, a role IAM associada à instância e o hostname da instância.
Enumeração
Acesso Não Autenticado
AWS - EC2 Unauthenticated EnumPrivesc
Na página a seguir, você pode verificar como abusar das permissões do EC2 para escalar privilégios:
AWS - EC2 PrivescPós-Explotação
AWS - EC2, EBS, SSM & VPC Post ExploitationEBS
Os snapshots do Amazon EBS (Elastic Block Store) são basicamente backups estáticos dos volumes EBS da AWS. Em outras palavras, são cópias dos discos anexados a uma Instância EC2 em um momento específico. Os snapshots do EBS podem ser copiados entre regiões e contas, ou até mesmo baixados e executados localmente.
Os snapshots podem conter informações sensíveis como código-fonte ou chaves API, portanto, se você tiver a chance, é recomendável verificá-los.
Diferença AMI & EBS
Uma AMI é usada para iniciar uma instância EC2, enquanto um Snapshot do EC2 é usado para fazer backup e recuperar dados armazenados em um volume EBS. Embora um Snapshot do EC2 possa ser usado para criar uma nova AMI, ele não é a mesma coisa que uma AMI e não inclui informações sobre o sistema operacional, servidor de aplicativos ou outro software necessário para executar uma aplicação.
Privesc
Na página a seguir, você pode verificar como abusar das permissões do EBS para escalar privilégios:
AWS - EBS PrivescSSM
Amazon Simple Systems Manager (SSM) permite gerenciar remotamente grupos de instâncias EC2 para facilitar muito mais suas administrações. Cada uma dessas instâncias precisa estar executando o serviço SSM Agent, pois o serviço será o responsável por receber as ações e executá-las a partir da API da AWS.
O SSM Agent possibilita que o Systems Manager atualize, gerencie e configure esses recursos. O agente processa solicitações do serviço Systems Manager na Nuvem AWS, e então as executa conforme especificado na solicitação.
O SSM Agent vem pré-instalado em algumas AMIs ou você precisa instalá-lo manualmente nas instâncias. Além disso, a Role IAM usada dentro da instância precisa ter a política AmazonEC2RoleforSSM anexada para poder se comunicar.
Enumeração
Você pode verificar em uma instância EC2 se o Systems Manager está em execução apenas executando:
Privesc
Na página a seguir, você pode verificar como abusar das permissões do SSM para escalar privilégios:
AWS - SSM PrivescELB
Elastic Load Balancing (ELB) é um serviço de balanceamento de carga para implantações da Amazon Web Services (AWS). O ELB distribui automaticamente o tráfego de entrada da aplicação e escala os recursos para atender às demandas de tráfego.
Enumeration
Launch Templates & Autoscaling Groups
Enumeração
Nitro
AWS Nitro é um conjunto de tecnologias inovadoras que formam a plataforma subjacente para instâncias AWS EC2. Introduzido pela Amazon para aumentar a segurança, desempenho e confiabilidade, Nitro utiliza componentes de hardware personalizados e um hipervisor leve. Ele abstrai grande parte da funcionalidade de virtualização tradicional para hardware e software dedicados, minimizando a superfície de ataque e melhorando a eficiência dos recursos. Ao descarregar funções de virtualização, Nitro permite que as instâncias EC2 ofereçam desempenho próximo ao bare-metal, sendo particularmente benéfico para aplicações que exigem muitos recursos. Além disso, o Nitro Security Chip garante especificamente a segurança do hardware e firmware, solidificando ainda mais sua arquitetura robusta.
Obtenha mais informações e como enumerá-lo em:
AWS - Nitro EnumVPN
Uma VPN permite conectar sua rede on-premise (site-to-site VPN) ou os laptops dos trabalhadores (Client VPN) com uma AWS VPC para que os serviços possam ser acessados sem a necessidade de expô-los à internet.
Componentes Básicos da VPN AWS
Customer Gateway:
Um Customer Gateway é um recurso que você cria na AWS para representar seu lado de uma conexão VPN.
É essencialmente um dispositivo físico ou aplicativo de software do seu lado da conexão Site-to-Site VPN.
Você fornece informações de roteamento e o endereço IP público do seu dispositivo de rede (como um roteador ou firewall) para a AWS criar um Customer Gateway.
Serve como um ponto de referência para configurar a conexão VPN e não gera custos adicionais.
Virtual Private Gateway:
Um Virtual Private Gateway (VPG) é o concentrador VPN no lado da Amazon da conexão Site-to-Site VPN.
Ele é anexado à sua VPC e serve como o alvo para sua conexão VPN.
VPG é o endpoint do lado da AWS para a conexão VPN.
Ele lida com a comunicação segura entre sua VPC e sua rede on-premises.
Site-to-Site VPN Connection:
Uma conexão Site-to-Site VPN conecta sua rede on-premises a uma VPC através de um túnel VPN seguro IPsec.
Esse tipo de conexão requer um Customer Gateway e um Virtual Private Gateway.
É usado para comunicação segura, estável e consistente entre seu data center ou rede e seu ambiente AWS.
Tipicamente usado para conexões regulares e de longo prazo e é cobrado com base na quantidade de dados transferidos pela conexão.
Client VPN Endpoint:
Um Client VPN endpoint é um recurso que você cria na AWS para habilitar e gerenciar sessões de VPN de clientes.
É usado para permitir que dispositivos individuais (como laptops, smartphones, etc.) se conectem com segurança a recursos da AWS ou à sua rede on-premises.
Difere do Site-to-Site VPN, pois é projetado para clientes individuais em vez de conectar redes inteiras.
Com o Client VPN, cada dispositivo cliente usa um software cliente VPN para estabelecer uma conexão segura.
Você pode encontrar mais informações sobre os benefícios e componentes das VPNs AWS aqui.
Enumeração
Enumeração Local
Credenciais Temporárias Locais
Quando o AWS VPN Client é usado para conectar a uma VPN, o usuário geralmente faz login na AWS para obter acesso à VPN. Em seguida, algumas credenciais AWS são criadas e armazenadas localmente para estabelecer a conexão VPN. Essas credenciais são armazenadas em $HOME/.config/AWSVPNClient/TemporaryCredentials/<region>/temporary-credentials.txt
e contêm uma AccessKey, uma SecretKey e um Token.
As credenciais pertencem ao usuário arn:aws:sts::<acc-id>:assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials
(TODO: pesquisar mais sobre as permissões dessas credenciais).
arquivos de configuração opvn
Se uma conexão VPN foi estabelecida, você deve procurar por arquivos de configuração .opvn
no sistema. Além disso, um lugar onde você pode encontrar as configurações é em $HOME/.config/AWSVPNClient/OpenVpnConfigs
Pós-Exploração
AWS - VPN Post ExploitationReferências
Last updated