顧客管理システム大手のSalesforceが、自身のGitHubリポジトリにAWSアカウントを攻撃できるツール「Endgame」を公開しました。Endgameのリポジトリはすでに削除されていますが、記事作成時点ではインターネット・アーカイブで閲覧することができます。

GitHub - salesforce/endgame: An AWS Pentesting tool that lets you use one-liner commands to backdoor an AWS account's resources with a rogue AWS account - or share the resources with the entire internet

https://web.archive.org/web/20210216153239/https://github.com/salesforce/endgame



EndgameはAWS用のペネトレーションテストツールで、SalesforceのエンジニアであるKinnaird McQuade氏が開発しました。Endgameを用いると、あるAWSアカウントのリソースを他のAWSアカウントで悪用したり、インターネット上に公開したりできるとのこと。以下の画像をクリックすると、Endgameを使って簡単にAWSリソースをハッキングしている様子をGIFアニメーションで確認できます。



仕組みとしては、S3やLambdaといったAWSのリソースごとに権限を設定できる「リソースベースのポリシー」を悪用しているそうで、リソースに与えられた不必要な権限を総当たりで探索し、攻撃を行っています。

クラウドサービスの権限管理は非常に複雑であるため、余分な権限を割り当ててしまうヒューマンエラーは常に起こり得ます。AWSはそうした脆弱(ぜいじゃく)性を検知できる「AWS IAM Access Analyzer」を提供していますが、AWS IAM Access Analyzerの機能は不十分であるとMcQuade氏は指摘しています。下の表は、Endgameが攻撃対象としているリソースのうち、AWS IAM Access Analyzerは7リソースの対応にとどまっていることを示しています。



Endgameはハッキングのためのものではなく、AWSユーザーや開発者のセキュリティ意識向上に加えて、AWSに対して権限管理の改善を求めるために開発されたもの。McQuadeはAWSへの提言として「AWS IAM Access Analyzerの改善」「設定できるサービスコントロールポリシー数の増加」などをEndgameの説明欄に列挙しています。

なお、EndgameはSalesforceのGitHubリポジトリに公開されていましたが、記事作成時点では外部から閲覧することはできなくなっています。

Page not found · GitHub · GitHub

https://github.com/salesforce/endgame



Endgameは開発者であるMcQuade氏自身のGitHubリポジトリでも公開されていましたが、記事作成時点ではSalesforceのリポジトリと同じくアクセス不能な状態であり、何らかの対応が取られたようです。こうした状況から、Endgameをコピーしたリポジトリが乱立しましたが、軒並み削除されています。

Page not found · GitHub · GitHub

https://github.com/kmcquade/endgame