mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-04 19:11:41 -08:00
Translated ['', 'src/pentesting-cloud/azure-security/az-post-exploitatio
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Pentesting クラウド方法論
|
||||
# Pentesting Cloud 方法論
|
||||
|
||||
{{#include ../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -6,39 +6,39 @@
|
||||
|
||||
## 基本的な方法論
|
||||
|
||||
各クラウドには固有の特性がありますが、一般的にクラウド環境をテストする際に、**ペンテスターが確認すべき共通の項目**がいくつかあります:
|
||||
各クラウドには固有の特徴がありますが、一般的にクラウド環境をテストする際に確認すべき**共通のチェック項目(a pentester should check)**がいくつかあります:
|
||||
|
||||
- **ベンチマークチェック**
|
||||
- これは環境の**規模を把握**し、**使用されているサービス**を理解するのに役立ちます
|
||||
- ほとんどのテストを**自動化ツール**で実行できるため、**簡単な誤設定**を見つけることもできます
|
||||
- **サービス列挙**
|
||||
- ベンチマークテストを正しく実行していれば、ここで大きな誤設定はあまり見つからないかもしれませんが、ベンチマークで見落とされていたものが見つかる可能性があります。
|
||||
- これによりクラウド環境で**正確に何が使われているか**を把握できます
|
||||
- 次のステップで大いに役立ちます
|
||||
- **公開アセットの確認**
|
||||
- これは前のセクションで行うことができ、インターネットに何らかの形で**公開されている可能性のあるすべて**と、そのアクセス方法を把握する必要があります。
|
||||
- ここでは、ウェブページやその他のポートが公開されているインスタンスのような**手動で公開されたインフラ**や、公開可能な設定がされ得る**クラウド管理サービス**(例: DBsや buckets)について扱います。
|
||||
- 次に、そのリソースが**実際に公開されうるか**(機密情報か?脆弱性か?公開されたサービスの誤設定か?)を確認するべきです。
|
||||
- これにより環境の**規模を理解**し、**使用されているサービス**を把握できます
|
||||
- ほとんどのテストを**自動化ツール**で実行できるため、**簡単なミスコンフィギュレーション**を見つけられることもあります
|
||||
- **Services Enumeration**
|
||||
- ベンチマークテストを正しく実施していればここで大きなミスコンフィギュレーションはあまり見つからないかもしれませんが、ベンチマークで見落とされていたものが見つかる場合があります
|
||||
- これによりクラウド環境で**何が実際に使われているか**を把握できます
|
||||
- 次のステップで非常に役立ちます
|
||||
- **公開されているアセットの確認**
|
||||
- これは前のセクションで行うことができ、潜在的にインターネットに公開されているものを**すべて特定**し、それがどのようにアクセス可能かを確認する必要があります
|
||||
- ここでは、webページや他のポートが公開されているインスタンスのような**手動で公開されたインフラ**、および公開可能な構成がなされる**クラウド管理サービス**(DBsやbucketsなど)について扱います
|
||||
- 次に、そのリソースが**実際に公開され得るか**(機密情報?脆弱性?公開されているサービスの設定ミス?)を確認するべきです
|
||||
- **権限の確認**
|
||||
- ここではクラウド内の各ロール/ユーザーの**全ての権限**とそれらの使われ方を把握するべきです
|
||||
- 特権が**過剰**(すべてを制御できる)なアカウントが多い?生成されたキーが未使用?... これらの多くは既にベンチマークテストでチェックされているはずです
|
||||
- クライアントが OpenID や SAML、その他の **フェデレーション** を使用している場合、各ロールがどのように割り当てられているかについてのさらなる **情報** を確認する必要があるかもしれません(admin ロールが1人に割り当てられているのと100人に割り当てられているのとでは同じではありません)。
|
||||
- ユーザーが "**admin**" 権限 "*:*" を持っていることを見つけるだけでは**不十分**です。使用されるサービスによっては非常に**センシティブ**な**その他の権限**が多数存在します。
|
||||
- さらに、権限を悪用して追える**潜在的な privesc** の手段が存在します。これらすべてを考慮に入れ、**できる限り多くの privesc パス**を報告すべきです。
|
||||
- ここでは、クラウド内の各ロール/ユーザーが持つ**すべての権限**とそれらがどのように使われているかを特定する必要があります
|
||||
- 過度に**高い権限を持つアカウント**が多すぎる?(すべてを制御できる)生成されたキーが使われていない?…これらの多くは既にベンチマークテストで確認されているはずです
|
||||
- クライアントがOpenIDやSAML、その他の**federation**を使用している場合、各ロールがどのように割り当てられているかについてさらに**情報**を求める必要があるかもしれません(管理者ロールが1人に割り当てられているのと100人に割り当てられているのでは状況が異なります)
|
||||
- **見つけるだけでは不十分**にどのユーザーが**admin**権限 "\*:\*" を持っているかを確認するだけでは不十分です。使用されているサービスによっては非常に**センシティブ**になり得る**その他の権限**が多数存在します
|
||||
- さらに、権限を悪用して追跡可能な**potential privesc**の経路が存在します。これらすべてを考慮し、**できるだけ多くの privesc paths**を報告する必要があります
|
||||
- **統合の確認**
|
||||
- クラウド環境内で**他のクラウドや SaaS との統合**が利用されている可能性が高いです。
|
||||
- 監査対象のクラウドが他のプラットフォームと統合されている場合、その統合を(悪用)できる**誰がアクセス権を持っているか**を通知し、そのアクションがどれほど**機微(敏感)**であるかを確認すべきです。
|
||||
例えば、GCP がデータを取得している AWS のバケットに書き込みできるのは誰か(そのデータを GCP 側で扱うことがどれほど敏感かを確認してください)。
|
||||
- 外部プラットフォームから監査対象クラウド内への統合については、その統合を外部から(悪用)できる**誰がアクセス権を持っているか**を確認し、そのデータがどのように使われているかをチェックするべきです。
|
||||
例えば、あるサービスが GCR にホストされた Docker イメージを使用している場合、そのイメージを修正できるのは誰か、そしてそのイメージが AWS クラウド内で実行されたときにどのような機密情報やアクセス権を得るかを確認してください。
|
||||
- クラウド環境内で**他のクラウドやSaaSとの統合**が使われている可能性が非常に高いです
|
||||
- 監査対象のクラウドが他のプラットフォームと行っている**統合**については、その統合を(悪用)できる**誰がアクセス権を持っているか**を通知し、その操作がどれほど**機密性が高いか**を確認するべきです。\
|
||||
例えば、GCPがデータを取得しているAWSのbucketに誰が書き込みできるか(そのデータをGCPで扱う際にどの程度機密性があるかを尋ねる)。
|
||||
- 外部プラットフォームから監査対象のクラウド内に対する**統合**については、その統合を外部から(悪用)できる**誰がアクセス権を持っているか**を確認し、そのデータがどのように使用されているかをチェックするべきです。\
|
||||
例えば、あるサービスがGCRにホストされたDockerイメージを使用している場合、そのイメージを変更できるのは誰か、そしてそのイメージがAWSクラウド内で実行されたときにどのような機密情報やアクセス権を取得するかを確認すべきです。
|
||||
|
||||
## マルチクラウドツール
|
||||
|
||||
異なるクラウド環境のテストに使用できるツールがいくつかあります。インストール手順とリンクはこのセクションで示します。
|
||||
異なるクラウド環境をテストするために使用できるツールがいくつかあります。インストール手順とリンクはこのセクションで示します。
|
||||
|
||||
### [PurplePanda](https://github.com/carlospolop/purplepanda)
|
||||
|
||||
クラウドやクラウド間/SaaS における悪い設定および privesc パスを識別するツールです。
|
||||
クラウドおよびクラウド間/SaaSにおける**不適切な設定とprivesc pathを識別する**ツール。
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="Install" }}
|
||||
@@ -71,7 +71,7 @@ python3 main.py -e -p google #Enumerate the env
|
||||
|
||||
### [Prowler](https://github.com/prowler-cloud/prowler)
|
||||
|
||||
これは **AWS, GCP & Azure** をサポートしています。各プロバイダの設定方法は [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws) を参照してください。
|
||||
それは **AWS, GCP & Azure** をサポートしています。各プロバイダの設定方法は [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws) を確認してください。
|
||||
```bash
|
||||
# Install
|
||||
pip install prowler
|
||||
@@ -146,7 +146,7 @@ done
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="Install" }}
|
||||
Steampipeをダウンロードしてインストールします([https://steampipe.io/downloads](https://steampipe.io/downloads))。またはBrewを使用します:
|
||||
Steampipe をダウンロードしてインストールしてください([https://steampipe.io/downloads](https://steampipe.io/downloads))。または Brew を使用してください:
|
||||
```
|
||||
brew tap turbot/tap
|
||||
brew install steampipe
|
||||
@@ -168,9 +168,9 @@ steampipe check all
|
||||
```
|
||||
<details>
|
||||
|
||||
<summary>すべてのプロジェクトを確認する</summary>
|
||||
<summary>すべてのプロジェクトを確認</summary>
|
||||
|
||||
すべてのプロジェクトを確認するには、テストするすべてのプロジェクトを指定する`gcp.spc`ファイルを生成する必要があります。以下のスクリプトの指示に従えばよいです。
|
||||
すべてのプロジェクトをチェックするには、テストするすべてのプロジェクトを指定する `gcp.spc` ファイルを生成する必要があります。以下のスクリプトの指示に従えばよいです。
|
||||
```bash
|
||||
FILEPATH="/tmp/gcp.spc"
|
||||
rm -rf "$FILEPATH" 2>/dev/null
|
||||
@@ -194,11 +194,11 @@ echo "Copy $FILEPATH in ~/.steampipe/config/gcp.spc if it was correctly generate
|
||||
```
|
||||
</details>
|
||||
|
||||
他の **GCP insights**(サービス列挙に役立つ)を確認するには、次を使用してください: [https://github.com/turbot/steampipe-mod-gcp-insights](https://github.com/turbot/steampipe-mod-gcp-insights)
|
||||
他の **GCP insights**(サービスの列挙に有用)を確認するには、次を使用してください: [https://github.com/turbot/steampipe-mod-gcp-insights](https://github.com/turbot/steampipe-mod-gcp-insights)
|
||||
|
||||
Terraform の GCP コードを確認するには: [https://github.com/turbot/steampipe-mod-terraform-gcp-compliance](https://github.com/turbot/steampipe-mod-terraform-gcp-compliance)
|
||||
|
||||
Steampipe のその他の GCP プラグイン: [https://github.com/turbot?q=gcp](https://github.com/turbot?q=gcp)
|
||||
Steampipe の GCP プラグインをさらに見る: [https://github.com/turbot?q=gcp](https://github.com/turbot?q=gcp)
|
||||
{{#endtab }}
|
||||
|
||||
{{#tab name="AWS" }}
|
||||
@@ -234,11 +234,11 @@ More AWS plugins of Steampipe: [https://github.com/orgs/turbot/repositories?q=aw
|
||||
### [~~cs-suite~~](https://github.com/SecurityFTW/cs-suite)
|
||||
|
||||
AWS, GCP, Azure, DigitalOcean.\
|
||||
python2.7 が必要で、メンテされていないように見えます。
|
||||
python2.7 が必要で、メンテナンスされていないように見えます。
|
||||
|
||||
### Nessus
|
||||
|
||||
Nessus には _**Audit Cloud Infrastructure**_ スキャンがあり、AWS、Azure、Office 365、Rackspace、Salesforce をサポートします。**Azure** では **Client Id** を取得するために追加の設定が必要です。
|
||||
Nessus には _**Audit Cloud Infrastructure**_ スキャンがあり、以下をサポートします: AWS、Azure、Office 365、Rackspace、Salesforce。**Azure** では **Client Id** を取得するためにいくつかの追加設定が必要です。
|
||||
|
||||
### [**cloudlist**](https://github.com/projectdiscovery/cloudlist)
|
||||
|
||||
@@ -265,7 +265,7 @@ cloudlist -config </path/to/config>
|
||||
|
||||
### [**cartography**](https://github.com/lyft/cartography)
|
||||
|
||||
Cartography は、Neo4j データベースによって駆動される直感的なグラフビューで、インフラストラクチャ資産とそれらの間の関係を統合する Python ツールです。
|
||||
Cartographyは、Neo4jデータベースで駆動される直感的なグラフビューで、インフラストラクチャの資産とそれらの関係を統合するPythonツールです。
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="Install" }}
|
||||
@@ -302,7 +302,7 @@ ghcr.io/lyft/cartography \
|
||||
|
||||
### [**starbase**](https://github.com/JupiterOne/starbase)
|
||||
|
||||
Starbaseは、クラウドインフラ、SaaSアプリケーション、セキュリティコントロールなどのサービスやシステムから資産と関係性を収集し、Neo4jデータベースをバックエンドとした直感的なグラフビューに統合します。
|
||||
Starbaseはクラウドインフラ、SaaSアプリケーション、セキュリティコントロールなどを含むサービスやシステムから資産と関係性を収集し、Neo4jデータベースをバックエンドにした直感的なグラフビューにまとめます。
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="Install" }}
|
||||
@@ -361,7 +361,7 @@ uri: bolt://localhost:7687
|
||||
|
||||
### [**SkyArk**](https://github.com/cyberark/SkyArk)
|
||||
|
||||
スキャンされた AWS または Azure 環境で、AWS Shadow Admins を含む最も権限の高いユーザーを検出します。powershell を使用します。
|
||||
スキャンされた AWS または Azure 環境で、最も権限の高いユーザー(AWS Shadow Admins を含む)を検出します。powershell を使用します。
|
||||
```bash
|
||||
Import-Module .\SkyArk.ps1 -force
|
||||
Start-AzureStealth
|
||||
@@ -372,13 +372,13 @@ Scan-AzureAdmins
|
||||
```
|
||||
### [Cloud Brute](https://github.com/0xsha/CloudBrute)
|
||||
|
||||
企業(ターゲット)のインフラ、ファイル、アプリを主要クラウドプロバイダ(Amazon、Google、Microsoft、DigitalOcean、Alibaba、Vultr、Linode)上で見つけるためのツール。
|
||||
A tool to find a company (target) infrastructure, files, and apps on the top cloud providers (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode).
|
||||
|
||||
### [CloudFox](https://github.com/BishopFox/cloudfox)
|
||||
|
||||
- CloudFoxはクラウドインフラの利用可能な攻撃パスを発見するツールです(現在はAWSとAzureのみサポート、GCPは近日対応予定)。
|
||||
- 手動の pentesting を補完するための列挙ツールです。
|
||||
- クラウド環境内のデータを作成したり変更したりすることはありません。
|
||||
- CloudFox is a tool to find exploitable attack paths in cloud infrastructure (currently only AWS & Azure supported with GCP upcoming).
|
||||
- It is an enumeration tool which is intended to compliment manual pentesting.
|
||||
- It doesn't create or modify any data within the cloud environment.
|
||||
|
||||
### More lists of cloud security tools
|
||||
|
||||
@@ -410,13 +410,13 @@ aws-security/
|
||||
azure-security/
|
||||
{{#endref}}
|
||||
|
||||
### Attack Graph
|
||||
### 攻撃グラフ
|
||||
|
||||
[**Stormspotter** ](https://github.com/Azure/Stormspotter)はAzureサブスクリプション内のリソースの“attack graph”を作成します。red teamsやpentestersが攻撃面やテナント内でのピボット機会を可視化でき、あなたの防御担当者がインシデント対応作業の把握と優先順位付けを迅速に行えるようにします。
|
||||
[**Stormspotter** ](https://github.com/Azure/Stormspotter)はAzureサブスクリプション内のリソースの“攻撃グラフ”を作成します。red teamsやpentestersがテナント内の攻撃面とピボットの機会を可視化できるようにし、防御担当者が迅速にインシデント対応の方向付けと優先順位付けを行えるように大幅に支援します。
|
||||
|
||||
### Office365
|
||||
|
||||
You need **Global Admin** or at least **Global Admin Reader** (but note that Global Admin Reader is a little bit limited). However, those limitations appear in some PS modules and can be bypassed accessing the features **ウェブアプリケーション経由で**。
|
||||
You need **Global Admin** or at least **Global Admin Reader** (but note that Global Admin Reader is a little bit limited). However, those limitations appear in some PS modules and can be bypassed accessing the features **Web アプリケーション経由**.
|
||||
|
||||
|
||||
{{#include ../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user