
AWS、Azure、GCP全体で既知の脅威アクターに対する高精度なクラウド検出を、CloudTrailログとカスタム脅威インテリジェンスルールを使用してクエリします。

Permiso: https://permiso.io
リリースブログを読む: https://permiso.io/blog/cloudgrappler-a-powerful-open-source-threat-detection-tool-for-cloud-environments
CloudGrappler は、AWS や Azure などの一般的なクラウド環境において、よく知られた脅威アクターに関連する高信頼性および単一イベントの検出を簡単にクエリできるように設計された、目的特化型ツールです。
CloudGrappler の利用を最適化するには、結果をクエリする際に短い時間範囲を使用することをお勧めします。この方法により効率が向上し、情報の取得が高速化され、ツールのよりシームレスな体験が保証されます。
pip3 install -r requirements.txt
このツールはCLI(コマンドラインインターフェース)を提供します。そのため、ここではその使用方法を説明します。
クラウドインフラストラクチャの構成に基づいて、data_sources.json ファイル内でスキャン範囲を定義します。以下の例は、AWS および Azure 環境向けの構造化された data_sources.json ファイルを示しています。
queries.json ファイル内の source をワイルドカード文字 (*) に変更すると、対応するクエリが AWS と Azure の両方の環境でスキャンされます。
{
"AWS": [
{
"bucket": "cloudtrail-logs-00000000-ffffff",
"prefix": [
"testTrails/AWSLogs/00000000/CloudTrail/eu-east-1/2024/03/03",
"testTrails/AWSLogs/00000000/CloudTrail/us-west-1/2024/03/04"
]
},
{
"bucket": "aws-kosova-us-east-1-00000000"
}
],
"AZURE": [
{
"accountname": "logs",
"container": [
"cloudgrappler"
]
}
],
"GCP": [
{
"gcp_bucket": "buketi"
}
]
}
コマンドの実行
python3 main.py
python3 main.py -p
[+] Running GetFileDownloadUrls.*secrets_ for AWS
[+] Threat Actor: LUCR3
[+] Severity: MEDIUM
[+] Description: Review use of CloudShell. Permiso seldom witnesses use of CloudShell outside of known attackers.This however may be a part of your normal business use case.
python3 main.py -p -jo
reports
└── json
├── AWS
│ └── 2024-03-04 01:01 AM
│ └── cloudtrail-logs-00000000-ffffff--
│ └── testTrails/AWSLogs/00000000/CloudTrail/eu-east-1/2024/03/03
│ └── GetFileDownloadUrls.*secrets_.json
└── AZURE
│ └── 2024-03-04 01:01 AM
│ └── logs
│ └── cloudgrappler
│ └── okta_key.json
└── GCP
└── 2024-03-04 01:01 AM
└── buketi
└── modified_firewall.json
python3 main.py -p -sd 2024-02-15 -ed 2024-02-16
python3 main.py -q “GetFileDownloadUrls.*secret”, ”UpdateAccessKey” -s '*'
python3 main.py -f new_file.json
システムは S3 バケットにアクセスできる必要があります。例えば、ラップトップで実行している場合は、AWS CLI を設定する 必要があります。 EC2 で実行している場合は、インスタンスプロファイル が最適な選択肢でしょう。
S3 バケットと同じリージョンの EC2 インスタンスで、S3 用の VPC エンドポイント を使用して実行すると、エグレス料金を回避 できます。 さまざまな方法 で認証できます。
Azure で認証する最も簡単な方法は、最初に以下を実行することです:
az login
これによりブラウザウィンドウが開き、Azure へのログインを求められます。
サービスアカウントを作成し、 credentials ファイルをダウンロードして、次のように設定する必要があります:
export GOOGLE_APPLICATION_CREDENTIALS="/Users/creds.json"