CLOUD
9 posts
클라우드 서비스 취약점 분석 0 (클라우드 서비스 취약점 개요)

클라우드 서비스 취약점 분석 0 클라우드 컴퓨팅 보안 기업, 조직 내의 데이터, 애플리케이션, 워크로드를 클라우드 컴퓨팅에 저장하고 다양한 서비스로 활용하며 서로가 공유하면서 지속적으로 변화가 발생합니다. 이와 동시에 새로운 보안 위협과 과제도 생겨나며 많은 양의 데이터가 퍼블릭 클라우드 서비스에 저장되면서 해커들의 공격 목표가 됐습니다. Public Cloud & Private Cloud Public Cloud Azure, AWS, GCP, Alibaba, NCP 등 다양한 클라우드 서비스 LasS, PasS, SaaS 등 다양한 스펙트럼의 서비스 제공 Private Cloud 조직 내 클라우드, 개인정보 관리 등 직접 구축할 이유가 있을 때 사용 Public Cloud 사업자 시작 이전 단계가 필요한 경우 사용 OpenStack을 주로 많이 이용 OpenStack Rackspace, NASA가 공동개발로 2010년에 Release한 오픈 소스 클라우드 컴퓨팅 플랫폼입니다. 이…

December 31, 2021
CLOUD
클라우드 서비스 취약점 분석 1 (클라우드 서비스 취약점 및 공격 벡터)

클라우드 서비스 취약점 분석 1 다음은 참조 CloudGoat Github 링크입니다. https://github.com/RhinoSecurityLabs/cloudgoat 실습 환경 구성 필수 설치 패키지 Linux or MacOS. Windows is not officially supported. Argument tab-completion requires bash 4.2+ (Linux, or OSX with some difficulty). Python3.6+ is required. Terraform >= 0.14 installed and in your $PATH. Install Terraform | Terraform - HashiCorp Learn The AWS CLI installed and in your $PATH, and an AWS account with sufficient privileges to create and destroy resources. jq jq 설치 …

December 31, 2021
CLOUD
클라우드 서비스 취약점 분석 2 (CloudGoat: IAM Privilege Escalation By Rollback)

클라우드 서비스 취약점 분석 2 [Scenario 1]: IAM Privilege Escalation By Rollback 시나리오 개요 자원 한 명의 IAM User (5 정책 버전) 취약점 IAM User: Raynor 을 통한 이전 버전으로 rollback 하는 기능을 이용하여 권한 상승이 가능합니다. 목표 공격자는 highly-limited IAM 사용자 부터 시작해서 이전 IAM 정책 버전을 검토하고 전체 관리자 권한을 허용하는 버전을 복원해서 권한 상승 취약점을 이용할 수 있습니다. IAM 사용자 security credentials 시나리오 환경 설정 Exploit 흐름도 exploit 시나리오 흐름도 IAM 사용자 “Raynor” 로 시작해서 공격자는 사용할 수 있는 권한이 몇 개 밖에 없습니다. 공격자는 Raynor의 권한을 분석하고 SetDefaultPolicyVersion 권한을 확인합니다. 이전의 버전을 기본값으로 설정하여 정책의 다른 4개 버전에 대한…

December 31, 2021
CLOUD
클라우드 서비스 취약점 분석 3 (CloudGoat: lambda_privesc)

클라우스 서비스 취약점 분석 3 [Scenario 2]: lambda_privesc 시나리오 개요 자원 IAM User IAM Roles 취약점 IAM User Chris IAM USER: chris 에게 이 부여되어 있는 상황 IAM Rule에는 Lambda 함수를 통해서 더 높은 권한을 갖일 수 있는 이 존재합니다. 목표 Full-Privileges 획득 exploit 흐름도 시나리오 환경설정 exploit 시나리오 흐름도 IAM 사용자 “Chris”의 정보를 토대로 사용할 수 있는 권한을 분석합니다. AWS Credential 을 확인한 결과 lambdaManager로 모든 lambda 를 관리하고 전달할 Rule 권한이 있는 것을 확인하였고 debug Rule에 권한이 있는 것을 확인했습니다. 공격자는 lambdaManager Rule을 활용하여 Lambda 함수를 사용하여 권한 상승을 수행합니다. 공격자는 관리자 정책을 IAM 사용자 “Chris”에 연결할 수 있도…

December 31, 2021
CLOUD
클라우드 서비스 취약점 분석 4 (CloudGoat: Cloud Breach s3)

클라우드 서비스 취약점 분석 4 [Scenario 3]: Cloud Breach s3 시나리오 개요 자원 VPC (EC2, S3) 취약점 개발자의 실수로 인한 ReverseProxy 환경 구성 미흡 설정 값이 잘못 구성되어 Reverse Proxy로 동작하는 EC2 서버의 IP 주소 목표 S3 bucket에서 Confidential files을 다운로드 합니다. 액세스 권한이 없는 상태인 외부 접근자로 시나리오는 시작합니다. 설정이 잘못된 Reverse Proxy server를 Exploit하여 EC2 MetaData Service를 통해 인스턴스 프로필 키를 획득합니다. 그런 다음 해당 키를 사용하여 S3 Bucket에서 권한을 우회하여 데이터를 추출합니다. exploit 흐름도 시나리오 환결설정 exploit 시나리오 흐름도 공격자가 EC2 인스턴스의 IP를 발견하였습니다. 다양한 방법으로 분석을 빈행하면서 reverse proxy 서버 역활을 하고 있음을 인자하였습니다.…

December 31, 2021
CLOUD
클라우드 서비스 취약점 분석 5 (CloudGoat: IAM Privilege Escalation By Attachment)

클라우드 서비스 취약점 분석 5 [Scenario 4]: IAM Privilege Escalation By Attachment 시나리오 개요 자원 vpc (EC2) 1 IAM User 취약점 IAM User “Kerrigan” 권한이 있는 공격자는 액세스 권한이 있는 사용자에게 정책을 연결하고 해당 정책에 대한 권한을 공격자에게 추가하여 권한을 상승시킬 수 있습니다. 목표 EC2 instance “cg-super-critical-security-server.”를 삭제하는 것! 접근 권한 구성이 갖쳐져 있는 환경에서 공격자는 권한을 활용하여 현재 권한이 아닌 높은 권한으로 새로운 EC2 인스턴스를 생성할 수 있습니다. 새로운 EC2 인스턴스에서 액세스를 통해 공격자는 대상 계정 내에서 모든 관리 권한을 획득합니다. 를 삭제를 합니다. exploit 흐름도 시나리오 환경설정 exploit 시나리오 흐름도 공격자는 IAM 사용자 “Kerrigan”으로 시작하여 높은 수준의 …

December 31, 2021
CLOUD
클라우드 서비스 취약점 분석 7 (CloudGoat: RCE Web APP)

클라우드 서비스 취약점 분석 7 [Scenario 6]: RCE Web APP 시나리오 개요 자원 VPC (ELB, EC2, S3*3, RDS) IAM user * 2 취약점 IAM User (Lara) IAM User (McDuck) RCE취약점이 발생하는 웹 애플리케이션에서 원격 코드를 실행하고 VPC 내부에서 root EC2 액세스 권한 획득 권한 상승이 가능한 정책이 사용가능한 Instance profile에 정의 목표 RDS 데이터베이스에서 비밀 저장소를 찾아야 합니다. IAM User Lara로 시작해서 AWS 환경을 분석을 하는 중에 로드 밸랜서, S3 Bucket을 분석하면서 취약한 웹 애플리케이션에 대한 RCE Exploit을 시도합니다. RCE를 통해서 RDS 데이터베이스에 접근합니다. 두 번째 IAM 사용자 McDuck으로 시작해서 S3 Bucket을 열거한 결과 EC2 서버와 데이터베이스에 대해 직접적인 액세스 권한을 부여하는 SSH키를 찾을 수 있습니다. …

December 31, 2021
CLOUD
클라우드 서비스 취약점 분석 8 (CloudGoat: codebuild_secrets)

클라우드 서비스 취약점 분석 8 [Scenario 7]: codebuild_secrets 시나리오 개요 자원 CodeBuild Project Lambda Function VPC(RDS, EC2) IAM Users 취약점 IAM User Solo SSM 파라미터 데이터 탐색후 Security Database에서 하드코딩된 SSH 키가 저장 IMDS 취약점 목표 RDS Database Storage안에 한 쌍의 Secret Strings을 찾아보자 Solo IAM 사용자를 이용하여 공격자는 먼저 CodeBuild 프로젝트에 대해 열거를 시작합니다. IAM 사용자 에 대한 보안이 되지 않은 IAM 키를 찾아 냅니다. 공격자는 으로 작동하여 RDS 데이터베이스를 분석합니다. 데이터베이스의 내용에 직접 접근할 수 었는 공격자는 RDS 스냅샷 기능을 이용하여 secret string을 획득 할 수 있습니다. 두 번째로는 공격자가 매개 변수를 분석하여 EC2 인스턴스에 대한 SSH키를 …

December 31, 2021
CLOUD
클라우드 서비스 취약점 분석 6 (CloudGoat: EC2 SSRF)

클라우드 서비스 취약점 분석 6 [Scenario 5]: EC2 SSRF 시나리오 개요 자원 VPC (EC2) Lambda Function 1 S3 Bucket 취약점 Solus IAM 사용자 Lambda 함수 읽기 전용 권한 Lambda 환경 변수안에 하드코딩된 Wrex Access key 하드코딩된 민감한 데이터 정보 웹 애플리케이션의 SSRF 취약점으로 인한 AWS 메타데이터 API를 통해서 다른 Credential 접근 가능 여부 Admin Credential 정보가 S3 Bucket 내에 하드 코딩되어 저장 목표 람다 함수를 실행합니다. Solus IAM 사용자로 시작해서 Lambda 함수를 읽을 수 있는 권한을 발견하였습니다. SSRF에 취약한 웹 애플리케이션을 실행하는 EC2 인스턴스로 유도합니다. 취약한 앱을 Exploit하고 EC2 Metadata Service에서 Key를 획득한 후 공격자는 Lambda 함수를 호출하고 시나리오를 완료할 수 있는 Key를 획득함…

December 31, 2021
CLOUD