AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
VPC&ネットワーキング
VPCとそのコンポーネントについて学ぶ:
EC2
Amazon EC2は仮想サーバーを起動するために使用されます。セキュリティとネットワーキングの構成、ストレージの管理が可能です。Amazon EC2の柔軟性は、リソースを上下にスケーリングできる能力に現れており、異なる要件の変更や人気の急増に効果的に適応します。この機能により、正確なトラフィック予測の必要性が薄れます。
EC2で列挙する興味深い事柄:
仮想マシン
SSHキー
ユーザーデータ
既存のEC2/AMIs/スナップショット
ネットワーキング
ネットワーク
サブネット
パブリックIP
開いているポート
AWS外部の他のネットワークとの統合接続
インスタンスプロファイル
EC2インスタンスで実行されるアプリケーションに権限を付与するためには、少しの追加構成が必要です。EC2インスタンスで実行されるアプリケーションは、仮想化されたオペレーティングシステムによってAWSから抽象化されています。この追加の分離のため、AWSロールとその関連する権限をEC2インスタンスに割り当て、そのアプリケーションで利用可能にするために追加の手順が必要です。
この追加の手順は、インスタンスにアタッチされたインスタンスプロファイルの作成です。インスタンスプロファイルにはロールが含まれ、そのロールの一時的な資格情報をインスタンスで実行されるアプリケーションに提供できます。それらの一時的な資格情報は、その後、アプリケーションのAPI呼び出しで使用され、ロールが指定するリソースにのみアクセスし、そのリソースにのみアクセスを制限できます。EC2インスタンスには1つのロールしか割り当てられず、インスタンス上のすべてのアプリケーションが同じロールと権限を共有します。
メタデータエンドポイント
AWS EC2メタデータは、実行時にインスタンスで利用可能なAmazon Elastic Compute Cloud(EC2)インスタンスに関する情報です。このメタデータは、インスタンスに関する情報(インスタンスID、実行中の可用性ゾーン、インスタンスに関連付けられたIAMロール、インスタンスのホスト名など)を提供するために使用されます。
列挙
認証されていないアクセス
特権昇格
次のページでは、EC2権限を悪用して特権を昇格する方法を確認できます:
攻撃後の活動
EBS
Amazon EBS(Elastic Block Store)スナップショットは基本的にAWS EBSボリュームの静的バックアップです。つまり、特定の時点でEC2インスタンスに接続されたディスクのコピーです。EBSスナップショットはリージョン間やアカウント間でコピーしたり、ダウンロードしてローカルで実行したりすることができます。
スナップショットにはソースコードやAPIキーなどの機密情報が含まれる可能性があるため、機会があればチェックすることをお勧めします。
AMIとEBSの違い
AMIはEC2インスタンスを起動するために使用され、EC2 スナップショットはEBSボリュームに保存されているデータのバックアップと復旧に使用されます。EC2スナップショットを使用して新しいAMIを作成することができますが、AMIとは異なり、オペレーティングシステム、アプリケーションサーバー、アプリケーションの実行に必要な他のソフトウェアに関する情報は含まれません。
特権昇格
次のページでは、EBS権限を悪用して特権を昇格する方法を確認できます:
SSM
**Amazon Simple Systems Manager(SSM)**は、EC2インスタンスのフリートをリモートで管理し、その管理を容易にすることができます。これらのインスタンスのそれぞれは、SSMエージェントサービスを実行する必要があります。このサービスはアクションを受け取り、AWS APIから実行します。
SSMエージェントにより、Systems Managerはこれらのリソースを更新、管理、構成できます。エージェントはAWSクラウド内のSystems Managerサービスからのリクエストを処理し、リクエストで指定されたとおりに実行します。
SSMエージェントは 一部のAMIに事前インストールされていますが、インスタンスに手動でインストールする必要があります。また、インスタンス内で使用されるIAMロールには、通信を行うためにAmazonEC2RoleforSSMポリシーがアタッチされている必要があります。
列挙
EC2インスタンスでSystems Managerが実行されているかどうかを確認するには、次のコマンドを実行するだけです:
特権昇格
次のページでは、SSM権限を悪用して特権を昇格する方法を確認できます:
ELB
Elastic Load Balancing(ELB)は、Amazon Web Services(AWS)デプロイメント向けの負荷分散サービスです。ELBは自動的に着信アプリケーショントラフィックを分散し、トラフィック要求に応じてリソースをスケーリングします。
列挙
ランチテンプレート&オートスケーリンググループ
列挙
Nitro
AWS Nitroは、AWS EC2インスタンスの基盤となる革新的なテクノロジーのスイートです。Amazonによって導入され、セキュリティ、パフォーマンス、信頼性を向上させるために、Nitroはカスタムハードウェアコンポーネントと軽量ハイパーバイザーを活用しています。従来の仮想化機能の多くを専用ハードウェアとソフトウェアに抽象化し、攻撃面を最小限に抑え、リソース効率を向上させています。仮想化機能をオフロードすることで、NitroはEC2インスタンスがベアメタルに近いパフォーマンスを提供できるようにし、リソース集約型アプリケーションに特に有益です。さらに、Nitroセキュリティチップはハードウェアとファームウェアのセキュリティを確保し、その堅牢なアーキテクチャをさらに強化しています。
詳細情報や列挙方法については、以下から入手できます:
VPN
VPNを使用すると、オンプレミスネットワーク(サイト間VPN)または従業員のノートパソコン(クライアントVPN)をAWS VPCに接続し、サービスにインターネットを公開することなくアクセスできます。
基本的なAWS VPNコンポーネント
カスタマーゲートウェイ:
カスタマーゲートウェイは、VPN接続のあなたの側を表すためにAWSで作成するリソースです。
これは、サイト間VPN接続のあなたの側にある物理デバイスまたはソフトウェアアプリケーションです。
ルーティング情報とネットワークデバイス(ルーターまたはファイアウォールなど)のパブリックIPアドレスをAWSに提供して、カスタマーゲートウェイを作成します。
VPN接続の設定の参照点として機能し、追加料金は発生しません。
仮想プライベートゲートウェイ:
仮想プライベートゲートウェイ(VPG)は、サイト間VPN接続のAmazon側にあるVPNコンセントレータです。
これは、VPCにアタッチされ、VPN接続のターゲットとして機能します。
VPGはVPN接続のAWS側エンドポイントです。
VPGはVPCとオンプレミスネットワーク間の安全な通信を処理します。
サイト間VPN接続:
サイト間VPN接続は、安全なIPsec VPNトンネルを介してオンプレミスネットワークをVPCに接続します。
このタイプの接続には、カスタマーゲートウェイと仮想プライベートゲートウェイが必要です。
データセンターやネットワークとAWS環境との間の安全で安定した一貫した通信に使用されます。
通常、定期的で長期的な接続に使用され、接続経由で転送されるデータ量に基づいて請求されます。
クライアントVPNエンドポイント:
クライアントVPNエンドポイントは、クライアントVPNセッションを有効にし管理するためにAWSで作成するリソースです。
個々のデバイス(ノートパソコン、スマートフォンなど)がAWSリソースまたはオンプレミスネットワークに安全に接続できるように使用されます。
サイト間VPNとは異なり、個々のクライアント向けに設計されており、ネットワーク全体を接続するのではなく、個々のクライアントデバイスに使用されます。
クライアントVPNでは、各クライアントデバイスがVPNクライアントソフトウェアを使用して安全な接続を確立します。
AWS VPNの利点とコンポーネントに関する詳細情報はこちらで確認できます。
列挙
ローカル列挙
ローカル一時資格情報
AWS VPNクライアントを使用してVPNに接続すると、ユーザーは通常、VPNにアクセスするためにAWSにログインします。その後、VPN接続を確立するためにローカルにいくつかのAWS資格情報が作成および保存されます。これらの資格情報は$HOME/.config/AWSVPNClient/TemporaryCredentials/<region>/temporary-credentials.txt
に保存されており、AccessKey、SecretKey、およびTokenが含まれています。
これらの資格情報はユーザーarn:aws:sts::<acc-id>:assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials
に属しています(TODO: この資格情報の権限についてさらに調査)。
opvn構成ファイル
VPN接続が確立された場合、システム内で**.opvn
構成ファイルを検索する必要があります。さらに、構成を見つけることができる場所の1つは$HOME/.config/AWSVPNClient/OpenVpnConfigs
**です。
ポストエクスプロイテーション
参考文献
最終更新