AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
VPC & Networking
VPCとは何か、そのコンポーネントについて学ぶ:
AWS - VPC & Networking Basic InformationEC2
Amazon EC2は仮想サーバーを起動するために利用されます。セキュリティとネットワーキングの設定やストレージの管理が可能です。Amazon EC2の柔軟性は、リソースを上下にスケールさせる能力にあり、変動する要求の変化や人気の急上昇に効果的に適応します。この機能により、正確なトラフィック予測の必要性が減少します。
EC2で列挙する興味深い項目:
仮想マシン
SSHキー
ユーザーデータ
既存のEC2/AMI/スナップショット
ネットワーキング
ネットワーク
サブネットワーク
パブリックIP
開いているポート
AWS外部の他のネットワークとの統合接続
インスタンスプロファイル
EC2インスタンス上で実行されるアプリケーションに権限を付与するためにロールを使用するには、少し追加の設定が必要です。EC2インスタンス上で実行されるアプリケーションは、仮想化されたオペレーティングシステムによってAWSから抽象化されています。この追加の分離のため、AWSロールとその関連する権限をEC2インスタンスに割り当て、それをアプリケーションに利用可能にするための追加のステップが必要です。
この追加のステップは、インスタンスにアタッチされたインスタンスプロファイルの作成です。インスタンスプロファイルはロールを含み、インスタンス上で実行されるアプリケーションにロールの一時的な認証情報を提供できます。これらの一時的な認証情報は、アプリケーションのAPI呼び出しでリソースにアクセスするために使用され、ロールが指定するリソースにのみアクセスを制限できます。1つのEC2インスタンスに割り当てられるロールは1つだけであり、インスタンス上のすべてのアプリケーションは同じロールと権限を共有します。
メタデータエンドポイント
AWS EC2メタデータは、実行時にインスタンスで利用可能なAmazon Elastic Compute Cloud (EC2)インスタンスに関する情報です。このメタデータは、インスタンスID、実行中のアベイラビリティゾーン、インスタンスに関連付けられたIAMロール、インスタンスのホスト名など、インスタンスに関する情報を提供するために使用されます。
列挙
認証されていないアクセス
AWS - EC2 Unauthenticated Enum特権昇格
以下のページで、EC2の権限を悪用して特権を昇格させる方法を確認できます:
AWS - EC2 Privescポストエクスプロイト
AWS - EC2, EBS, SSM & VPC Post ExploitationEBS
Amazon EBS (Elastic Block Store) スナップショットは、基本的にAWS EBSボリュームの静的なバックアップです。言い換えれば、特定の時点でEC2インスタンスに接続されたディスクのコピーです。EBSスナップショットは、リージョンやアカウント間でコピーしたり、ダウンロードしてローカルで実行することもできます。
スナップショットにはソースコードやAPIキーなどの機密情報が含まれている可能性があるため、機会があれば確認することをお勧めします。
AMIとEBSの違い
AMIはEC2インスタンスを起動するために使用され、EC2のスナップショットはEBSボリュームに保存されたデータをバックアップおよび復元するために使用されます。EC2スナップショットは新しいAMIを作成するために使用できますが、AMIとは異なり、オペレーティングシステム、アプリケーションサーバー、またはアプリケーションを実行するために必要な他のソフトウェアに関する情報は含まれていません。
特権昇格
以下のページで、EBSの権限を悪用して特権を昇格させる方法を確認できます:
AWS - EBS PrivescSSM
Amazon Simple Systems Manager (SSM)は、EC2インスタンスのフロートをリモートで管理し、その管理を非常に簡単にすることができます。これらの各インスタンスはSSMエージェントサービスを実行している必要があります。このサービスがAWS APIからアクションを取得し、それを実行するためです。
SSMエージェントは、Systems Managerがこれらのリソースを更新、管理、および構成することを可能にします。エージェントはAWSクラウドのSystems Managerサービスからのリクエストを処理し、リクエストに指定されたとおりに実行します。
SSMエージェントはいくつかのAMIにプリインストールされていますが、インスタンスに手動でインストールする必要がある場合もあります。また、インスタンス内で使用されるIAMロールには、通信を可能にするためにAmazonEC2RoleforSSMポリシーがアタッチされている必要があります。
列挙
EC2インスタンスでSystems Managerが実行されているかどうかを確認するには、次のコマンドを実行するだけです:
Privesc
以下のページでSSM権限を悪用して権限を昇格させる方法を確認できます:
AWS - SSM PrivescELB
Elastic Load Balancing (ELB)は、Amazon Web Services (AWS)デプロイメントのためのロードバランシングサービスです。ELBは自動的に受信アプリケーショントラフィックを分散し、トラフィック需要に応じてリソースをスケールします。
Enumeration
Launch Templates & Autoscaling Groups
Enumeration
Nitro
AWS Nitroは、AWS EC2インスタンスの基盤となる革新的な技術のスイートです。Amazonによって導入され、セキュリティ、パフォーマンス、信頼性を向上させるために設計されています。Nitroはカスタムハードウェアコンポーネントと軽量ハイパーバイザーを活用しています。従来の仮想化機能の多くを専用のハードウェアとソフトウェアに抽象化し、攻撃面を最小化し、リソース効率を向上させます。仮想化機能をオフロードすることで、NitroはEC2インスタンスがほぼベアメタルのパフォーマンスを提供できるようにし、特にリソース集約型アプリケーションに有益です。さらに、Nitro Security Chipはハードウェアとファームウェアのセキュリティを確保し、その堅牢なアーキテクチャをさらに強化します。
詳細情報とその列挙方法については以下を参照してください:
AWS - Nitro EnumVPN
VPNは、オンプレミスネットワーク(サイト間VPN)または従業員のラップトップ(クライアントVPN)をAWS VPCに接続し、インターネットに公開することなくサービスにアクセスできるようにします。
基本的なAWS VPNコンポーネント
Customer Gateway:
Customer Gatewayは、VPN接続のあなた側を表すためにAWSで作成するリソースです。
これは、サイト間VPN接続のあなた側にある物理デバイスまたはソフトウェアアプリケーションです。
ルーティング情報とネットワークデバイス(ルーターやファイアウォールなど)のパブリックIPアドレスをAWSに提供してCustomer Gatewayを作成します。
VPN接続の設定のための参照ポイントとして機能し、追加料金は発生しません。
Virtual Private Gateway:
Virtual Private Gateway(VPG)は、サイト間VPN接続のAmazon側のVPNコンセントレーターです。
VPCにアタッチされ、VPN接続のターゲットとして機能します。
VPGはVPN接続のAWS側のエンドポイントです。
VPCとオンプレミスネットワーク間の安全な通信を処理します。
Site-to-Site VPN Connection:
Site-to-Site VPN接続は、オンプレミスネットワークを安全なIPsec VPNトンネルを介してVPCに接続します。
このタイプの接続にはCustomer GatewayとVirtual Private Gatewayが必要です。
データセンターやネットワークとAWS環境間の安全で安定した一貫した通信に使用されます。
通常、定期的で長期的な接続に使用され、接続を介して転送されるデータ量に基づいて課金されます。
Client VPN Endpoint:
Client VPNエンドポイントは、クライアントVPNセッションを有効にし、管理するためにAWSで作成するリソースです。
個々のデバイス(ラップトップ、スマートフォンなど)がAWSリソースやオンプレミスネットワークに安全に接続できるようにするために使用されます。
Site-to-Site VPNとは異なり、ネットワーク全体を接続するのではなく、個々のクライアント用に設計されています。
Client VPNでは、各クライアントデバイスがVPNクライアントソフトウェアを使用して安全な接続を確立します。
AWS VPNの利点とコンポーネントの詳細情報はこちらで確認できます。
Enumeration
Local Enumeration
Local Temporary Credentials
AWS VPN Clientを使用して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
に属します(この資格情報の権限についてはさらに調査が必要です)。
opvn config files
VPN接続が確立された場合、システム内の**.opvn
設定ファイルを検索する必要があります。さらに、設定が見つかる可能性のある場所は$HOME/.config/AWSVPNClient/OpenVpnConfigs
**です。
Post Exploitaiton
AWS - VPN Post ExploitationReferences
Last updated