
SkyWrapper 是一个开源项目,用于分析特定 AWS 账户中创建的临时令牌的行为。 该工具旨在发现临时令牌的可疑创建形式和使用情况,以检测账户中的恶意活动。 该工具分析 AWS 账户,并生成一个包含所有当前活跃的临时令牌的 Excel 表格。 每次运行后会在屏幕上打印发现的摘要。
SkyWrapper 演示:

python SkyWrapper.py
运行此脚本需要至少以下权限策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "S3TrailBucketPermissions",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucketMultipartUploads",
"s3:ListBucket",
"s3:GetBucketLocation",
"s3:ListMultipartUploadParts"
],
"Resource": [
"arn:aws:s3:::{cloudtrail_bucket_name}/*",
"arn:aws:s3:::{cloudtrail_bucket_name}
]
},
{
"Sid": "IAMReadPermissions",
"Effect": "Allow",
"Action": [
"iam:ListAttachedRolePolicies",
"iam:ListRolePolicies",
"iam:GetRolePolicy",
"iam:GetPolicyVersion",
"iam:GetPolicy",
"iam:ListRoles"
],
"Resource": [
"arn:aws:iam::*:policy/*",
"arn:aws:iam::*:role/*"
]
},
{
"Sid": "GLUEReadWritePermissions",
"Effect": "Allow",
"Action": [
"glue:CreateTable",
"glue:CreateDatabase",
"glue:GetTable",
"glue:GetDatabase"
],
"Resource": "*"
},
{
"Sid": "CLOUDTRAILReadPermissions",
"Effect": "Allow",
"Action": [
"cloudtrail:DescribeTrails"
],
"Resource": "*"
},
{
"Sid": "ATHENAReadPermissions",
"Effect": "Allow",
"Action": [
"athena:GetQueryResults",
"athena:StartQueryExecution",
"athena:GetQueryExecution"
],
"Resource": "arn:aws:athena:*:*:workgroup/*"
},
{
"Sid": "S3AthenaResultsBucketPermissions",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:ListBucketMultipartUploads",
"s3:CreateBucket",
"s3:ListBucket",
"s3:GetBucketLocation",
"s3:ListMultipartUploadParts"
],
"Resource": "arn:aws:s3:::aws-athena-query-results-*"
}
]
}
确保您将"{trail_bucket}"替换为您的跟踪器桶名称!
如果您有多个跟踪器并且希望脚本也作用于它们,您必须将它们也添加到策略权限资源部分。
"config.yaml" 是配置文件。 大多数情况下,您可以保持配置不变。如果需要更改,配置文件中有文档说明。
athena: # Athena 配置
database_name: default # Athena 用于查询跟踪器桶的数据库名称
table_name: cloudtrail_logs_{table_name} # 跟踪器桶名称的表名
output_location: s3://aws-athena-query-results-{account_id}-{region}/ # 查询结果的默认输出位置桶
output:
excel_output_file: run_results_{trail}_{account_id}-{date}.xlsx # Excel 结果文件
summary_output_file: run_summary_{trail}_{account_id}-{date}.txt # 摘要文本结果文件
verify_https: True # 启用/禁用 HTTP 请求的 SSL 证书验证
account:
account_id: 0 # 账户 ID - 如果您不知道,请保留为 0
aws_access_key_id: # 如果留空,脚本将查找存储在 ~/.aws/credentials 中的默认 AWS 凭据
aws_secret_access_key: # 如果留空,脚本将查找存储在 ~/.aws/credentials 中的默认 AWS 凭据
aws_session_token: # 如果留空,脚本将查找存储在 ~/.aws/credentials 中的默认 AWS 凭据
如需更多评论、建议或问题,请联系 Omer Tsarfati(@OmerTsarfati)和 CyberArk Labs。 您可以在 https://github.com/cyberark/ 找到我们开发的更多项目。