GCP - VPC & Networking
Reading time: 8 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
GCPコンピュートネットワーキングの概要
VPCは、VPCへの着信トラフィックを許可するファイアウォールルールを含みます。VPCはまた、仮想マシンが接続されるサブネットワークを含みます。
AWSと比較すると、ファイアウォールはAWSのセキュリティグループとNACLに最も近いものですが、この場合、これらは各インスタンスではなくVPC内で定義されています。
GCPのVPC、サブネットワークおよびファイアウォール
コンピュートインスタンスは、VPCの一部であるサブネットワークに接続されています(Virtual Private Clouds)。GCPにはセキュリティグループはなく、VPCファイアウォールがあり、これらのルールはこのネットワークレベルで定義され、各VMインスタンスに適用されます。
サブネットワーク
VPCは複数のサブネットワークを持つことができます。各サブネットワークは1つのリージョンにあります。
ファイアウォール
デフォルトでは、すべてのネットワークには2つの暗黙のファイアウォールルールがあります:アウトバウンドを許可し、インバウンドを拒否します。
GCPプロジェクトが作成されると、**default
**というVPCも作成され、以下のファイアウォールルールが設定されます:
- default-allow-internal:
default
ネットワーク上の他のインスタンスからのすべてのトラフィックを許可 - default-allow-ssh: どこからでも22を許可
- default-allow-rdp: どこからでも3389を許可
- default-allow-icmp: どこからでもpingを許可
warning
ご覧のとおり、ファイアウォールルールは内部IPアドレスに対してより許可的になる傾向があります。デフォルトのVPCは、コンピュートインスタンス間のすべてのトラフィックを許可します。
デフォルトのVPCまたは新しいVPCのために、さらにファイアウォールルールを作成できます。ファイアウォールルールは、以下の方法でインスタンスに適用できます:
残念ながら、インターネット上のオープンポートを持つすべてのコンピュートインスタンスを出力する簡単なgcloud
コマンドはありません。ファイアウォールルール、ネットワークタグ、サービスアカウント、およびインスタンスの間の関連をつなぐ必要があります。
このプロセスは、このpythonスクリプトを使用して自動化され、以下をエクスポートします:
- インスタンス、パブリックIP、許可されたTCP、許可されたUDPを示すCSVファイル
- パブリックインターネットから許可されたポートでターゲットとするすべてのインスタンスへのnmapスキャン(0.0.0.0/0)
- パブリックインターネットからすべてのTCPポートを許可するインスタンスのTCP範囲全体をターゲットとするmasscan(0.0.0.0/0)
階層的ファイアウォールポリシー
_階層的ファイアウォールポリシー_を使用すると、組織全体で一貫したファイアウォールポリシーを作成および適用できます。階層的ファイアウォールポリシーを組織全体または個々のフォルダーに割り当てることができます。これらのポリシーには、接続を明示的に拒否または許可するルールが含まれています。
ファイアウォールポリシーは、別々のステップとして作成および適用します。ファイアウォールポリシーは、リソース階層の組織またはフォルダーノードで作成および適用できます。ファイアウォールポリシールールは、接続をブロック、接続を許可、またはファイアウォールルールの評価を下位フォルダーまたはVPCネットワークで定義されたVPCファイアウォールルールに委任できます。
デフォルトでは、すべての階層的ファイアウォールポリシールールは、ポリシーが関連付けられている組織またはフォルダーのすべてのプロジェクト内のすべてのVMに適用されます。ただし、ターゲットネットワークまたはターゲットサービスアカウントを指定することで、特定のルールを受け取るVMを制限できます。
ここで、階層的ファイアウォールポリシーを作成する方法を読むことができます。
ファイアウォールルールの評価
 (1) (1).png)
- Org: 組織に割り当てられたファイアウォールポリシー
- フォルダー: フォルダーに割り当てられたファイアウォールポリシー
- VPC: VPCに割り当てられたファイアウォールルール
- グローバル: VPCに割り当てることができる別のタイプのファイアウォールルール
- リージョナル: VMのNICおよびVMのリージョンに関連付けられたVPCネットワークのファイアウォールルール。
VPCネットワークピアリング
2つの仮想プライベートクラウド(VPC)ネットワークを接続し、各ネットワーク内のリソースが互いに通信できるようにします。
ピアリングされたVPCネットワークは、同じプロジェクト内、同じ組織の異なるプロジェクト、または異なる組織の異なるプロジェクトに存在できます。
必要な権限は次のとおりです:
compute.networks.addPeering
compute.networks.updatePeering
compute.networks.removePeering
compute.networks.listPeeringRoutes
参考文献
- https://about.gitlab.com/blog/2020/02/12/plundering-gcp-escalating-privileges-in-google-cloud-platform/
- https://cloud.google.com/vpc/docs/firewall-policies-overview#rule-evaluation
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。