【クラウドペネトレーション】クラウドペネトレーションとクラウドサービスの基礎知識

クラウド コンピューティングの種類

SaaS(サービスとしてのソフトウェア)

Dropbox、Office 365 などの特定のソフトウェアを有料で使用できます。

IaaS(サービスとしてのインフラストラクチャ)

オンライン仮想マシンなどの有料/レンタル インフラストラクチャ

PaaS(サービスとしてのプラットフォーム)

バックエンド API などの有料ホスト アプリケーションを PaaS システムにアップロードできます。世界中で利用できるようにします。この方法では、ソース コードだけを気にする必要があり、それ以外はすべてクラウド プロバイダーによって処理されます。
ここに画像の説明を挿入

クラウド サービス フレームワーク

1) IAM: Identity and Access Management, a policy and technical framework that can see a Active Directory, which from users, groups, and associated permissions can be managed. クラウド プロバイダーには非常にきめ細かい権限があり、特定のアクセスを可能にし
ここに画像の説明を挿入
ますリソース。クラウドでのほとんどすべての権限昇格手法は、誤って構成された IAM 権限に依存しています。
2) 仮想サーバー

ハードウェアへの物理的なアクセスはありません。代わりに、SSH または RDP を使用してマシンとやり取りします。

3) 仮想プライベート クラウド

VPC はクラウド内のネットワークです。すべての仮想サーバーと他のマシンは VPC で実行され、ローカル ネットワーク上の他のデバイスと同様にローカル IP を取得します。

4) バケット

バケットは、ファイルの保存と取得に使用できます。バケットは、画像、ファイルなどのストレージを提供します。

5) データベース

6) サービスなし (サーバーレス)

サービスがないということは、ソフトウェア アプリケーションの実行に関係する基盤となるサーバーのステータス、リソース (CPU、メモリ、ディスク、ネットワークなど)、および数量をユーザーが気にする必要がないことを意味します。ソフトウェア アプリケーションの通常の動作に必要なコンピューティング リソースは、基盤となるクラウド コンピューティング プラットフォームによって動的に提供されます。

サーバーレス プログラミングでは、アプリケーション全体をコーディングして実行する代わりに、API 呼び出しやその他のトリガーによって呼び出される小さな関数を作成します。主な特徴は、サーバーレス プログラミングでは、単一のアプリケーションですべてのプログラムをコーディングするのではなく、アプリケーションを複数の機能に複雑化できることです。
ここに画像の説明を挿入
7) コンテナ

コンテナーは、OS やライブラリーに関係なく、任意のマシンで実行できるイメージにラップされたアプリケーションです
ここに画像の説明を挿入
。8) Pub/Subに
ここに画像の説明を挿入
は、トピックにメッセージを発行する 2 つのマイクロサービスがあります。次に、他の 3 つのマイクロサービスがこれらのメッセージを消費し、何らかの作業を実行できるようにします。これは、複数のマイクロサービスが相互に通信できる方法です。

雲の侵入へのステップ

1) 初期アクセス: ユーザー資格情報の取得

2) 列挙: アクセス可能なアクセス許可とサービスを列挙し、機密情報を表示およびダウンロードします。

3) 権限昇格: 権限昇格とラテラル ムーブメント技術を使用して、他のユーザーを危険にさらそうとします。

4) 挑戦し続ける

5) トレースをクリーンアップする

雲の侵入のパースペクティブ分析

その場で踏む

まず、ターゲット ユーザーのクラウド環境にアクセスする必要があります。これは、いくつかの手法を使用して実現できます。つまり、資格情報を取得します。

1) SSRF: 現在最も一般的な方法は、サーバー サイド リクエスト フォージェリ (SSRF) です。SSRF は、メタデータ サービスからクラウド資格情報を収集する手法です。次の参照リンクには、SSRF に関する詳細情報が含まれています。

● https://portswigger.net/web-security/ssrf

● https://cobalt.io/blog/a-pentesters-guide-to-server-side-request-forgery-ssrf

● https://www.youtube.com/watch?v=66ni2BTIjS8&ab_channel=HackerOne

ソースコード

クラウド アカウントを侵害するために使用されるもう 1 つの非常に一般的な手法は、ターゲットのソース コードでハードコードされた資格情報を見つけることです。

ハードコーディングとは、ソフトウェアの実装において、関連する出力または入力パラメーターが定数の形式で元のコードに直接書き込まれることを意味します。ハードコードされた資格情報は、アプリケーション、サービス、またはインフラストラクチャ内で使用されるデジタル認証資格情報 (API キー、証明書、トークンなど) です。ハードコーディングされた資格情報の侵害とは、開発者がコードの変更を容易にするために安全でない場所に鍵を保管することですが、そうすると情報が誤って忘れられたり、不注意で公開されたりすることがよくあります。

クラウド プロバイダー CLI

ほとんどのクラウド プロバイダーには、コマンド ラインから使用できる独自の CLI があります。通常、資格情報はディスクに保存されます。CLI に応じて、これらの資格情報はさまざまな場所にあります。

権限昇格

クラウド環境には、クラウド ユーザー用とインフラストラクチャ用の 2 種類の権限昇格があります。次の 2 点で考えることができます。

1) IAM を確認してください。ほとんどの権限昇格の欠陥は、権限が過剰なアカウントによるものです。

2) ソースコード。たとえば、クラウド仮想マシンまたはドキュメント コンテナーでシェルを取得すると、そのマシン上のすべてのソース コードとスクリプトでハードコーディングされたパスワードを検索できます。

3) 侵入と設定ミス

横方向の動き

ほとんどの場合、特権エスカレーションに使用されるすべてのテクニックと戦術は、ラテラル ムーブメントにも使用できます。

列挙する

1) IAM 認証でできることとできないことを列挙する

2) インフラ:

クラウド インフラストラクチャ ネットワーク図は、次の方法で構築できます。

● 仮想マシン

● データベース

●クラウドストレージ(バケット)

● ロードバランサ

● VPC

● WAF

● ネットワークとホストのファイアウォール

● Docker コンテナとイメージ

● Cloud Functions(サーバーレス)

● Kubernetes 環境

● パブリッシュ/サブスクライブ システム

● エクト

その他の可能性

環境変数: クラウド資格情報を保存するもう 1 つの一般的な場所は、環境変数です。ホストにRCEがインストールされている場合は、ここで確認できます。

フィッシング

Cookie: 攻撃者は、ブラウザーから Cookie を使用して、このユーザーとしてログインできます。

バイパス防御

1) ログ: 自分を隠す最大の方法の 1 つは、単にログを削除するか、ログを無効にすることです。

2) ノイズの多いログ: クラウド プロバイダーはすべてをログに記録します。

おすすめ

転載: blog.csdn.net/Ohh24/article/details/129317787