GCP Scanner:一款针对Google Cloud Platform(GCP)的凭证安全审计工具

admin 2023年12月22日08:06:18评论13 views字数 2656阅读8分51秒阅读模式
GCP Scanner:一款针对Google Cloud Platform(GCP)的凭证安全审计工具


GCP Scanner:一款针对Google Cloud Platform(GCP)的凭证安全审计工具


 关于GCP Scanner 


GCP Scanner是一款针对Google Cloud Platform(GCP)的凭证安全审计工具,该工具可以帮助广大安全工程师对GCP凭证快速执行安全审计分析。该工具本质上是一个针对GCP的资源扫描器,可以确定某些凭证在GCP上拥有怎样级别的访问权限。该工具旨在帮助研究人员评估某个虚拟机/容器的安全态势,以及GCP服务器账户和OAuth2令牌密钥泄漏所产生的安全影响。


 功能介绍 


当前版本的GCP Scanner支持扫描下列GCP资源:

GCE

GCS

GKE

App Engine

Cloud SQL

BigQuery

Spanner

Pub/Sub

Cloud Functions

BigTable

CloudStore

KMS

Cloud Services


当前版本的GCP Scanner支持提取和使用下列类型的凭证:

1、GCP VM实例元数据;

2、存储在gcloud配置文件中的用户凭证;

3、OAuth2刷新令牌(云平台范围授权);

4、GCP服务账号密钥(JSON格式);


该工具不需要依赖任何第三方工具(例如gcloud等),因此它可以作为一款独立工具进行编译和运行,而且可以在没有安装GCP SDK的设备上使用。但是,当前版本的GCP Scanner仅支持在Linux操作系统上运行。


 工具安装 


由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。接下来,我们可以直接使用pip工具安装GCP Scanner:

pip install gcp_scanner
python3 -m gcp_scanner --help

除此之外,我们也可以使用下列命令将该项目源码克隆至本地,并手动安装工具依赖组件:

git clone https://github.com/google/gcp_scanner
cd gcp_scanner
pip install .
gcp-scanner --help

向右滑动,查看更多


如果你想要在Docker容器中使用GCP Scanner的话,可以使用下面的Docker构建文件:

docker build -f Dockerfile -t sa_scanner .

向右滑动,查看更多


 命令行选项 


usage: python3 scanner.py -o folder_to_save_results -g -
GCP Scanner
options:
-h, --help 显示工具帮助信息和退出
-ls, --light-scan 仅在输出中提供最重要的GCP资源信息
-k KEY_PATH, --sa-key-path KEY_PATH
包含JSON格式SA密钥数据的目录路径
-g GCLOUD_PROFILE_PATH, --gcloud-profile-path GCLOUD_PROFILE_PATH
gcloud配置文件目录路径
-m, --use-metadata 从GCE实例元数据中提取凭证信息
-at ACCESS_TOKEN_FILES, --access-token-files ACCESS_TOKEN_FILES
包含访问令牌和OAuth数据的文件列表(JSON格式,逗号分隔)
-rt REFRESH_TOKEN_FILES, --refresh-token-files REFRESH_TOKEN_FILES
包含refresh_token、client_id、token_uri和client_secret的文件列表(JSON格式,逗号分隔)
-s KEY_NAME, --service-account KEY_NAME
要扫描的单个SA名称
-p TARGET_PROJECT, --project TARGET_PROJECT
要扫描的单个项目名称
-f FORCE_PROJECTS, --force-projects FORCE_PROJECTS
要扫描的项目名称列表(逗号分隔)
-c CONFIG_PATH, --config CONFIG_PATH
包含指定待扫描资源目标的配置文件路径
-l {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --logging {DEBUG,INFO,WARNING,ERROR,CRITICAL}
设置日志记录级别 (INFO, WARNING, ERROR)
-lf LOG_FILE, --log-file LOG_FILE
存储日志文件路径
-pwc PROJECT_WORKER_COUNT, --project-worker-count PROJECT_WORKER_COUNT
设置并行项目爬虫数量
-rwc RESOURCE_WORKER_COUNT, --resource-worker-count RESOURCE_WORKER_COUNT
                        设置并行资源爬虫数量
Required parameters:
-o OUTPUT, --output-dir OUTPUT
输出目录路径

向右滑动,查看更多


 使用PyInstaller构建独立可执行代码 


使用下列内容替换pyproject.toml文件中的“google-api-python-client==2.80.0”:

google-api-python-client==1.8.0

然后切换到工具源代码目录中,并使用PyInstaller编译独立代码:

pyinstaller -F --add-data 'roots.pem:grpc/_cython/_credentials/' scanner.py

(向右滑动,查看更多)


 工具输出结果 


GCP Scanner将在扫描完成后生成一个单独的JSON文件,可以使用任意JSON文件查看器或数据库来处理生成的JSON文件。我们也提供了一个基于Web的工具来帮助大家以可视化的形式分析结果数据,运行命令如下:

usage: gcp-scanner-visualizer -p 8080
GCP Scanner Visualizer
options:
-h, --help 查看工具帮助信息和退出
-p PORT, --port PORT 要监听的端口号,默认为8080

(向右滑动,查看更多)


 工具运行截图 


GCP Scanner:一款针对Google Cloud Platform(GCP)的凭证安全审计工具

GCP Scanner:一款针对Google Cloud Platform(GCP)的凭证安全审计工具

GCP Scanner:一款针对Google Cloud Platform(GCP)的凭证安全审计工具


 许可证协议 


本项目的开发与发布遵循Apache-2.0开源许可证协议。


 项目地址 


GCP Scannerhttps://github.com/google/gcp_scanner


原文始发于微信公众号(FreeBuf):GCP Scanner:一款针对Google Cloud Platform(GCP)的凭证安全审计工具

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月22日08:06:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   GCP Scanner:一款针对Google Cloud Platform(GCP)的凭证安全审计工具http://cn-sec.com/archives/2326002.html

发表评论

匿名网友 填写信息