AWS - CloudFront Enum

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

CloudFront

CloudFront는 AWS의 콘텐츠 전송 네트워크로, 전 세계 네트워크의 엣지 위치를 통해 정적 및 동적 콘텐츠의 배포 속도를 높입니다. Amazon CloudFront를 통해 호스팅하는 콘텐츠를 요청할 때, 해당 요청은 가장 가까운 엣지 위치로 라우팅되어 최저 대기 시간으로 최상의 성능을 제공합니다. CloudFront 액세스 로그가 활성화되면 웹사이트 및 배포에 액세스를 요청하는 각 사용자의 요청을 기록할 수 있습니다. S3 액세스 로그와 마찬가지로 이러한 로그는 Amazon S3에 내구성 및 지속적인 저장을 위해 저장됩니다. 로깅 자체를 활성화하는 데는 추가 비용이 없지만, 로그는 S3에 저장되므로 S3에서 사용하는 저장소에 대한 비용이 발생합니다.

로그 파일은 일정 기간 동안 데이터를 캡처하며, 해당 배포에 대해 Amazon CloudFront로 수신되는 요청의 양에 따라 생성되는 로그 파일의 양이 달라집니다. 이 로그 파일은 S3에 생성되거나 기록되지 않습니다. 로그 파일이 가득 차면 S3로 전달됩니다. Amazon CloudFront는 이러한 로그를 S3로 전달할 준비가 될 때까지 보관합니다. 다시 말해, 이 로그 파일의 크기에 따라 전달에는 1시간에서 24시간이 걸릴 수 있습니다.

기본적으로 쿠키 로깅은 비활성화되어 있지만, 활성화할 수 있습니다.

함수

CloudFront에서 함수를 생성할 수 있습니다. 이러한 함수는 cloudfront에 엔드포인트를 가지며, 선언된 NodeJS 코드를 실행합니다. 이 코드는 AWS 관리형 머신에서 실행되는 샌드박스 내에서 실행됩니다 (기존 OS로 탈출하기 위해 샌드박스 우회가 필요합니다).

함수는 사용자의 AWS 계정에서 실행되지 않으므로 IAM 역할이 연결되지 않으므로이 기능을 악용하여 직접적인 권한 상승은 불가능합니다.

열거

aws cloudfront list-distributions
aws cloudfront get-distribution --id <id> # Just get 1
aws cloudfront get-distribution-config --id <id>

aws cloudfront list-functions
aws cloudfront get-function --name TestFunction function_code.js

aws cloudfront list-distributions | jq ".DistributionList.Items[] | .Id, .Origins.Items[].Id, .Origins.Items[].DomainName, .AliasICPRecordals[].CNAME"

인증되지 않은 액세스

pageAWS - Cloudfront Unauthenticated Enum

사후 공격

pageAWS - CloudFront Post Exploitation
htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

最終更新