freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何使用CloudSploit识别和管理云基础设施的安全风险
2022-02-26 02:58:27
所属地 广西

关于CloudSploit

CloudSploit是一个开源项目,旨在帮助广大研究人员检测云基础设施账户中的安全风险,包括:亚马逊网络服务(AWS)、微软Azure、谷歌云平台(GCP)、甲骨文云基础设施(OCI)和GitHub。在该工具的帮助下,广大研究人员能够轻松识别自己云基础设施中的错误配置和安全风险。

工具架构

CloudSploit的运行分为两个阶段。首先,它会向云基础设施API查询有关目标账号的各种元数据,即“收集”阶段。一旦工具收集到了所有必要的数据之后,结果就会被传递到“扫描”阶段。而“扫描”阶段会使用收集的数据搜索潜在的错误配置、风险和其他安全问题,并输出最终的分析结果。

工具安装

首先,请确保本地设备上安装并配置好了NodeJS环境,如果没有的话,请点击【这里】进行安装。接下来,使用下列命令将该项目源码克隆至本地,并完成安装:

$ git clone git@github.com:cloudsploit/scans.git

$ npm install

CloudSploit配置文件

CloudSploit配置文件可以允许我们通过下列方式传递云服务提供商的凭证:

JSON文件

环境变量

硬编码(不推荐)

首先,拷贝项目提供的配置文件样例:

$ cp config_example.js config.js

去掉配置文件中的注释来编辑盘诶只文件,并填写相关的选项:

azure: {

    // OPTION 1: If using a credential JSON file, enter the path below

    // credential_file: '/path/to/file.json',

    // OPTION 2: If using hard-coded credentials, enter them below

    // application_id: process.env.AZURE_APPLICATION_ID || '',

    // key_value: process.env.AZURE_KEY_VALUE || '',

    // directory_id: process.env.AZURE_DIRECTORY_ID || '',

    // subscription_id: process.env.AZURE_SUBSCRIPTION_ID || ''

}

如果你使用了“credential_file”选项,则需要指向一个包含下列内容且格式正确的凭证:

AWS:

{

  "accessKeyId": "YOURACCESSKEY",

  "secretAccessKey": "YOURSECRETKEY"

}

Azure:

{

  "ApplicationID": "YOURAZUREAPPLICATIONID",

  "KeyValue": "YOURAZUREKEYVALUE",

  "DirectoryID": "YOURAZUREDIRECTORYID",

  "SubscriptionID": "YOURAZURESUBSCRIPTIONID"

}

GCP:

{

    "type": "service_account",

    "project": "GCPPROJECTNAME",

    "client_email": "GCPCLIENTEMAIL",

    "private_key": "GCPPRIVATEKEY"

}

Oracle OCI:

{

  "tenancyId": "YOURORACLETENANCYID",

  "compartmentId": "YOURORACLECOMPARTMENTID",

  "userId": "YOURORACLEUSERID",

  "keyFingerprint": "YOURORACLEKEYFINGERPRINT",

  "keyValue": "YOURORACLEKEYVALUE",

}

工具帮助信息

$ ./index.js -h

 

  _____ _                 _  _____       _       _ _

  / ____| |               | |/ ____|     | |     (_) |

| |    | | ___  _   _  __| | (___  _ __ | | ___  _| |_

| |    | |/ _ \| | | |/ _` |\___ \| '_ \| |/ _ \| | __|

| |____| | (_) | |_| | (_| |____) | |_) | | (_) | | |_

  \_____|_|\___/ \__,_|\__,_|_____/| .__/|_|\___/|_|\__|

                                  | |

                                  |_|

 

  CloudSploit by Aqua Security, Ltd.

  Cloud security auditing for AWS, Azure, GCP, Oracle, and GitHub

 

usage: index.js [-h] --config CONFIG [--compliance {hipaa,cis,cis1,cis2,pci}] [--plugin PLUGIN] [--govcloud] [--china] [--csv CSV] [--json JSON] [--junit JUNIT]

                [--table] [--console {none,text,table}] [--collection COLLECTION] [--ignore-ok] [--exit-code] [--skip-paginate] [--suppress SUPPRESS]

工具运行

如需执行一次标准扫描任务,并显示所有的输出结果,可以运行下列命令:

$ ./index.js

数据输出格式

CloudSploit支持多种格式的输出,以供其他工具使用。如果不另行指定,CloudSploit会将输出作为表写入标准输出控制台。

向控制台输出一个表,并存储至一个CSV文件中:

$ ./index.js --csv=file.csv --console=table

向控制台打印文本数据,并存储至一个JSON和JUnit文件中:

$ ./index.js --json=file.json --junit=file.xml --console=text --ignore-ok

运行单个插件

如果你只想运行单个 插件,可以使用“--plugin”选项:

$ ./index.js --plugin acmValidation

项目地址

CloudSploit:GitHub传送门

参考资料

https://github.com/aquasecurity/cloudsploit/blob/master/docs/aws.md#cloud-provider-configuration

https://github.com/aquasecurity/cloudsploit/blob/master/docs/azure.md#cloud-provider-configuration

https://github.com/aquasecurity/cloudsploit/blob/master/docs/gcp.md#cloud-provider-configuration

https://github.com/aquasecurity/cloudsploit/blob/master/docs/oracle.md#cloud-provider-configuration

https://github.com/aquasecurity/cloudsploit/blob/master/docs/gcp.md

# 安全扫描 # 云安全 # 安全检测
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录