AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
VPC & 네트워킹
VPC가 무엇인지 및 그 구성 요소에 대해 알아보세요:
pageAWS - VPC & Networking Basic InformationEC2
Amazon EC2는 가상 서버를 시작하는 데 사용됩니다. 보안 및 네트워킹 구성 및 저장소 관리가 가능합니다. Amazon EC2의 유연성은 자원을 상하로 조정하여 다양한 요구 사항 변경이나 인기 급증에 효과적으로 적응할 수 있는 능력에서 나타납니다. 이 기능은 정확한 트래픽 예측의 필요성을 줄입니다.
EC2에서 열거할 흥미로운 사항:
가상 머신
SSH 키
사용자 데이터
기존 EC2/AMI/스냅샷
네트워킹
네트워크
서브네트워크
공용 IP
열린 포트
AWS 외부의 다른 네트워크와의 통합 연결
인스턴스 프로필
EC2 인스턴스에서 실행되는 응용 프로그램에 권한을 부여하기 위해 역할을 사용하려면 약간의 추가 구성이 필요합니다. EC2 인스턴스에서 실행되는 응용 프로그램은 가상화된 운영 체제에 의해 AWS로부터 추상화됩니다. 이 추가 분리로 인해 AWS 역할 및 해당 권한을 EC2 인스턴스에 할당하고 해당 응용 프로그램에서 사용할 수 있도록 만들려면 추가 단계가 필요합니다.
이 추가 단계는 인스턴스에 첨부된 인스턴스 프로필의 생성입니다. 인스턴스 프로필에는 역할이 포함되어 있으며 인스턴스에서 실행되는 응용 프로그램에 역할의 일시적 자격 증명을 제공할 수 있습니다. 그런 다음 해당 일시적 자격 증명을 응용 프로그램의 API 호출에서 사용하여 리소스에 액세스하고 역할이 지정한 리소스에만 액세스할 수 있도록 제한할 수 있습니다. 한 번에 하나의 역할만 EC2 인스턴스에 할당할 수 있으며 인스턴스의 모든 응용 프로그램이 동일한 역할과 권한을 공유합니다.
메타데이터 엔드포인트
AWS EC2 메타데이터는 실행 중인 Amazon Elastic Compute Cloud (EC2) 인스턴스에 대한 정보입니다. 이 메타데이터는 인스턴스에 대한 정보를 제공하는 데 사용되며 인스턴스 ID, 실행 중인 가용 영역, 인스턴스와 관련된 IAM 역할 및 인스턴스의 호스트 이름과 같은 정보를 제공합니다.
열거
인증되지 않은 액세스
pageAWS - EC2 Unauthenticated Enum권한 상승
다음 페이지에서 EC2 권한을 남용하여 권한 상승하는 방법을 확인할 수 있습니다:
pageAWS - EC2 Privesc사후 공격
pageAWS - EC2, EBS, SSM & VPC Post ExploitationEBS
Amazon EBS (Elastic Block Store) 스냅샷은 기본적으로 AWS EBS 볼륨의 정적 백업입니다. 다시 말해, 특정 시점에 EC2 인스턴스에 연결된 디스크의 사본입니다. EBS 스냅샷은 지역 및 계정간에 복사하거나 다운로드하여 로컬에서 실행할 수 있습니다.
스냅샷에는 소스 코드나 API 키와 같은 민감한 정보가 포함될 수 있으므로 가능한 경우 확인하는 것이 좋습니다.
AMI와 EBS의 차이
AMI는 EC2 인스턴스를 시작하는 데 사용되며, EC2 스냅샷은 EBS 볼륨에 저장된 데이터를 백업하고 복구하는 데 사용됩니다. EC2 스냅샷을 사용하여 새 AMI를 만들 수 있지만, AMI와 동일하지 않으며 운영 체제, 응용 프로그램 서버 또는 응용 프로그램 실행에 필요한 기타 소프트웨어에 대한 정보가 포함되지 않습니다.
권한 상승
다음 페이지에서 EBS 권한을 남용하여 권한 상승하는 방법을 확인할 수 있습니다:
pageAWS - EBS PrivescSSM
**Amazon Simple Systems Manager (SSM)**은 EC2 인스턴스의 플로트를 원격으로 관리하여 관리를 훨씬 쉽게 만듭니다. 이러한 각 인스턴스는 SSM 에이전트 서비스를 실행해야 하며, 서비스는 AWS API에서 동작을 수행하고 실행하는 역할을 합니다.
SSM 에이전트를 통해 Systems Manager가 이러한 리소스를 업데이트, 관리 및 구성할 수 있습니다. 에이전트는 AWS 클라우드의 Systems Manager 서비스에서 요청을 처리한 다음 요청에 지정된대로 실행합니다.
SSM 에이전트는 일부 AMI에 사전 설치되어 있거나 인스턴스에 수동으로 설치해야 할 수 있습니다. 또한 인스턴스 내에서 사용되는 IAM 역할은 통신을 위해 AmazonEC2RoleforSSM 정책이 부착되어 있어야 합니다.
열거
다음 명령을 실행하여 EC2 인스턴스에서 Systems Manager가 실행 중인지 확인할 수 있습니다:
권한 상승
다음 페이지에서는 권한 상승을 위해 SSM 권한을 남용하는 방법을 확인할 수 있습니다:
pageAWS - SSM PrivescELB
Elastic Load Balancing (ELB)은 Amazon Web Services (AWS) 배포를 위한 로드 밸런싱 서비스입니다. ELB는 자동으로 들어오는 애플리케이션 트래픽을 분산하고 트래픽 수요를 충족하기 위해 리소스를 확장합니다.
열거
런치 템플릿 & 오토스케일링 그룹
열거
Nitro
AWS Nitro는 AWS EC2 인스턴스의 기본 플랫폼을 형성하는 혁신적인 기술 모음입니다. Amazon이 소개한 Nitro는 보안, 성능 및 신뢰성을 향상시키기 위해 사용자 정의 하드웨어 구성 요소 및 가벼운 하이퍼바이저를 활용합니다. 전통적 가상화 기능의 많은 부분을 전용 하드웨어 및 소프트웨어로 추상화하여 공격 표면을 최소화하고 리소스 효율성을 향상시킵니다. 가상화 기능을 오프로드함으로써 Nitro는 EC2 인스턴스가 거의 베어 메탈 성능을 제공할 수 있도록 하여 리소스 집약적인 응용 프로그램에 특히 유익합니다. 또한 Nitro 보안 칩은 특히 하드웨어 및 펌웨어의 보안을 보장하여 견고한 아키텍처를 더욱 확고히 합니다.
더 많은 정보 및 열거 방법은 다음에서 확인할 수 있습니다:
pageAWS - Nitro EnumVPN
VPN을 사용하면 온프레미스 네트워크(사이트 간 VPN) 또는 **근무자 노트북(클라이언트 VPN)**을 AWS VPC에 연결하여 서비스에 인터넷에 노출하지 않고 액세스할 수 있습니다.
기본 AWS VPN 구성 요소
고객 게이트웨이:
고객 게이트웨이는 VPN 연결의 당신쪽을 나타내기 위해 AWS에서 생성하는 리소스입니다.
사실상 사이트 간 VPN 연결의 당신쪽에 있는 물리적 장치 또는 소프트웨어 응용 프로그램입니다.
라우팅 정보와 네트워크 장치(라우터 또는 방화벽과 같은)의 공용 IP 주소를 제공하여 고객 게이트웨이를 생성합니다.
VPN 연결 설정의 참조점으로 작용하며 추가 요금이 부과되지 않습니다.
가상 사설 게이트웨이:
가상 사설 게이트웨이(VPG)는 사이트 간 VPN 연결의 아마존 측에 있는 VPN 집중기입니다.
VPG는 VPC에 연결되어 VPN 연결의 대상으로 작동합니다.
VPG는 VPN 연결의 AWS 측 엔드포인트입니다.
VPC와 온프레미스 네트워크 간의 안전한 통신을 처리합니다.
사이트 간 VPN 연결:
사이트 간 VPN 연결은 안전한 IPsec VPN 터널을 통해 온프레미스 네트워크를 VPC에 연결합니다.
이 유형의 연결에는 고객 게이트웨이와 가상 사설 게이트웨이가 필요합니다.
데이터 센터 또는 네트워크와 AWS 환경 간의 안전하고 안정적이며 일관된 통신에 사용됩니다.
일반적으로 정기적이고 장기적인 연결에 사용되며 연결을 통해 전송된 데이터 양에 따라 청구됩니다.
클라이언트 VPN 엔드포인트:
클라이언트 VPN 엔드포인트는 클라이언트 VPN 세션을 활성화하고 관리하기 위해 AWS에서 생성하는 리소스입니다.
개별 장치(노트북, 스마트폰 등)가 AWS 리소스 또는 온프레미스 네트워크에 안전하게 연결할 수 있도록 사용됩니다.
전체 네트워크를 연결하는 것이 아닌 개별 클라이언트를 대상으로 설계되었다는 점에서 사이트 간 VPN과 다릅니다.
클라이언트 VPN을 사용하면 각 클라이언트 장치가 VPN 클라이언트 소프트웨어를 사용하여 안전한 연결을 설정합니다.
AWS VPN의 혜택 및 구성 요소에 대한 자세한 정보는 여기에서 찾을 수 있습니다.
열거
로컬 열거
로컬 임시 자격 증명
AWS VPN 클라이언트를 사용하여 VPN에 연결할 때, 사용자는 일반적으로 VPN에 액세스하기 위해 AWS에 로그인합니다. 그런 다음 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 구성 파일
VPN 연결이 설정된 경우 시스템에서 .opvn
구성 파일을 검색해야 합니다. 또한 구성을 찾을 수 있는 한 곳은 **$HOME/.config/AWSVPNClient/OpenVpnConfigs
**입니다.
포스트 익스플로잇레이션
pageAWS - VPN Post Exploitation참고 자료
最終更新