AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
Last updated
Last updated
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
VPC가 무엇인지 및 그 구성 요소에 대해 배우기:
AWS - VPC & Networking Basic InformationAmazon EC2는 가상 서버를 시작하는 데 사용됩니다. 보안 및 네트워킹 구성과 스토리지 관리를 허용합니다. Amazon EC2의 유연성은 자원을 위아래로 확장할 수 있는 능력에서 분명히 드러나며, 이는 다양한 요구 변화나 인기 급증에 효과적으로 적응합니다. 이 기능은 정확한 트래픽 예측의 필요성을 줄입니다.
EC2에서 열거할 흥미로운 항목들:
가상 머신
SSH 키
사용자 데이터
기존 EC2/AMI/스냅샷
네트워킹
네트워크
서브네트워크
공인 IP
열린 포트
AWS 외부의 다른 네트워크와의 통합 연결
EC2 인스턴스에서 실행되는 애플리케이션에 권한을 부여하기 위해 역할을 사용하는 것은 약간의 추가 구성이 필요합니다. EC2 인스턴스에서 실행되는 애플리케이션은 가상화된 운영 체제에 의해 AWS로부터 추상화됩니다. 이러한 추가 분리로 인해, EC2 인스턴스에 AWS 역할과 관련된 권한을 할당하고 이를 애플리케이션에서 사용할 수 있도록 하려면 추가 단계가 필요합니다.
이 추가 단계는 인스턴스에 연결된 인스턴스 프로파일의 생성입니다. 인스턴스 프로파일은 역할을 포함하며 인스턴스에서 실행되는 애플리케이션에 역할의 임시 자격 증명을 제공할 수 있습니다. 이러한 임시 자격 증명은 애플리케이션의 API 호출에서 자원에 접근하고 역할이 지정한 자원에만 접근을 제한하는 데 사용될 수 있습니다. EC2 인스턴스에는 한 번에 하나의 역할만 할당될 수 있으며, 인스턴스의 모든 애플리케이션은 동일한 역할과 권한을 공유합니다.
AWS EC2 메타데이터는 Amazon Elastic Compute Cloud (EC2) 인스턴스에 대한 정보로, 인스턴스가 실행 중일 때 사용할 수 있습니다. 이 메타데이터는 인스턴스 ID, 실행 중인 가용 영역, 인스턴스와 관련된 IAM 역할, 인스턴스의 호스트 이름과 같은 인스턴스에 대한 정보를 제공하는 데 사용됩니다.
다음 페이지에서 EC2 권한을 악용하여 권한을 상승시키는 방법을 확인할 수 있습니다:
AWS - EC2 PrivescAmazon EBS (Elastic Block Store) 스냅샷은 기본적으로 AWS EBS 볼륨의 정적 백업입니다. 다시 말해, 특정 시점에 EC2 인스턴스에 연결된 디스크의 복사본입니다. EBS 스냅샷은 지역 및 계정 간에 복사되거나 다운로드하여 로컬에서 실행할 수 있습니다.
스냅샷에는 소스 코드나 API 키와 같은 민감한 정보가 포함될 수 있으므로, 기회가 있다면 확인하는 것이 좋습니다.
AMI는 EC2 인스턴스를 시작하는 데 사용되며, EC2 스냅샷은 EBS 볼륨에 저장된 데이터를 백업하고 복구하는 데 사용됩니다. EC2 스냅샷은 새로운 AMI를 생성하는 데 사용할 수 있지만, AMI와 동일하지 않으며, 애플리케이션을 실행하는 데 필요한 운영 체제, 애플리케이션 서버 또는 기타 소프트웨어에 대한 정보는 포함되지 않습니다.
다음 페이지에서 EBS 권한을 악용하여 권한을 상승시키는 방법을 확인할 수 있습니다:
AWS - EBS Privesc**Amazon Simple Systems Manager (SSM)**은 EC2 인스턴스의 플로트를 원격으로 관리하여 관리 작업을 훨씬 더 쉽게 만들어 줍니다. 이러한 인스턴스 각각은 SSM 에이전트 서비스가 실행 중이어야 하며, 이 서비스가 AWS API에서 작업을 수행하고 실행하는 역할을 합니다.
SSM 에이전트는 시스템 관리자가 이러한 리소스를 업데이트, 관리 및 구성할 수 있도록 합니다. 에이전트는 AWS 클라우드의 시스템 관리자 서비스로부터 요청을 처리하고, 요청에 지정된 대로 실행합니다.
SSM 에이전트는 일부 AMI에 사전 설치되어 있습니다 또는 인스턴스에 수동으로 설치해야 합니다. 또한, 인스턴스 내에서 사용되는 IAM 역할은 통신할 수 있도록 AmazonEC2RoleforSSM 정책이 연결되어 있어야 합니다.
EC2 인스턴스에서 Systems Manager가 실행 중인지 확인하려면 다음을 실행하면 됩니다:
다음 페이지에서 SSM 권한을 악용하여 권한 상승하는 방법을 확인할 수 있습니다:
AWS - SSM PrivescElastic Load Balancing (ELB)는 Amazon Web Services (AWS) 배포를 위한 로드 밸런싱 서비스입니다. ELB는 자동으로 들어오는 애플리케이션 트래픽을 분산하고 트래픽 수요를 충족하기 위해 리소스를 확장합니다.
AWS Nitro는 AWS EC2 인스턴스의 기본 플랫폼을 형성하는 혁신적인 기술 모음입니다. Amazon에 의해 보안, 성능 및 신뢰성을 향상시키기 위해 도입된 Nitro는 맞춤형 하드웨어 구성 요소와 경량 하이퍼바이저를 활용합니다. 전통적인 가상화 기능의 많은 부분을 전용 하드웨어와 소프트웨어로 추상화하여 공격 표면을 최소화하고 자원 효율성을 개선합니다. 가상화 기능을 오프로드함으로써 Nitro는 EC2 인스턴스가 거의 베어 메탈 성능을 제공할 수 있게 하여, 자원 집약적인 애플리케이션에 특히 유리합니다. 또한, Nitro 보안 칩은 하드웨어와 펌웨어의 보안을 보장하여 그 강력한 아키텍처를 더욱 강화합니다.
자세한 정보와 이를 열거하는 방법은 다음에서 확인하세요:
AWS - Nitro EnumVPN은 온프레미스 네트워크(사이트 간 VPN) 또는 **작업자 노트북(클라이언트 VPN)**을 AWS VPC와 연결하여 서비스를 인터넷에 노출하지 않고도 접근할 수 있게 합니다.
고객 게이트웨이:
고객 게이트웨이는 VPN 연결의 귀하 측을 나타내기 위해 AWS에서 생성하는 리소스입니다.
본질적으로 사이트 간 VPN 연결의 귀하 측에 있는 물리적 장치 또는 소프트웨어 애플리케이션입니다.
고객 게이트웨이를 생성하기 위해 라우팅 정보와 네트워크 장치(예: 라우터 또는 방화벽)의 공인 IP 주소를 AWS에 제공합니다.
VPN 연결 설정을 위한 참조 지점 역할을 하며 추가 요금이 발생하지 않습니다.
가상 사설 게이트웨이:
가상 사설 게이트웨이(VPG)는 사이트 간 VPN 연결의 Amazon 측 VPN 집중기입니다.
귀하의 VPC에 연결되어 있으며 VPN 연결의 대상 역할을 합니다.
VPG는 VPN 연결의 AWS 측 엔드포인트입니다.
귀하의 VPC와 온프레미스 네트워크 간의 안전한 통신을 처리합니다.
사이트 간 VPN 연결:
사이트 간 VPN 연결은 귀하의 온프레미스 네트워크를 안전한 IPsec VPN 터널을 통해 VPC에 연결합니다.
이 유형의 연결은 고객 게이트웨이와 가상 사설 게이트웨이가 필요합니다.
데이터 센터 또는 네트워크와 AWS 환경 간의 안전하고 안정적이며 일관된 통신을 위해 사용됩니다.
일반적으로 정기적이고 장기적인 연결에 사용되며 연결을 통해 전송된 데이터 양에 따라 요금이 청구됩니다.
클라이언트 VPN 엔드포인트:
클라이언트 VPN 엔드포인트는 클라이언트 VPN 세션을 활성화하고 관리하기 위해 AWS에서 생성하는 리소스입니다.
개별 장치(노트북, 스마트폰 등)가 AWS 리소스 또는 온프레미스 네트워크에 안전하게 연결할 수 있도록 사용됩니다.
전체 네트워크를 연결하는 것이 아니라 개별 클라이언트를 위해 설계되었다는 점에서 사이트 간 VPN과 다릅니다.
클라이언트 VPN을 사용하면 각 클라이언트 장치가 VPN 클라이언트 소프트웨어를 사용하여 안전한 연결을 설정합니다.
여기에서 AWS VPN의 이점과 구성 요소에 대한 더 많은 정보를 찾을 수 있습니다.
Local Temporary Credentials
AWS VPN Client를 사용하여 VPN에 연결할 때, 사용자는 일반적으로 AWS에 로그인하여 VPN에 접근합니다. 그런 다음, VPN 연결을 설정하기 위해 일부 AWS 자격 증명이 생성되어 로컬에 저장됩니다. 이러한 자격 증명은 **$HOME/.config/AWSVPNClient/TemporaryCredentials/<region>/temporary-credentials.txt
**에 저장되며, AccessKey, SecretKey 및 Token을 포함합니다.
자격 증명은 사용자 arn:aws:sts::<acc-id>:assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials
에 속합니다 (TODO: 이 자격 증명의 권한에 대해 더 조사하기).
opvn config files
VPN 연결이 설정되었다면, 시스템에서 .opvn
구성 파일을 검색해야 합니다. 또한, 구성을 찾을 수 있는 한 곳은 **$HOME/.config/AWSVPNClient/OpenVpnConfigs
**입니다.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)