yamada_yoshiki Posted by

おはようございます!こんにちは!こんばんは!おやすみなさい!
山田です。

前回のpart2【勉強会の内容編(Level2)】に続きまして、今回はLevel3の問題を解説します。

↓参加した勉強会のグループになります↓
AWSハッキング(1月18日)&大和セキュリティ新年会

問題

『AWSアクセスキーを見つけて』と書いてます。

ヒント

まずは前回のLevel2と同様に自分のIAMアクセスキーを作成

その後、こちらもLevel2と同様にLevel3S3バケットにアクセスします。

コマンド[aws s3 ls s3://level3-9afd3927f195e10225021a578e6f78df.flaws.cloud]でアクセスするとS3バケットの中身が見れます。

S3バケットの中身を見ると.gitファイル『PRE.git』が存在しています。
あやしい、、、

S3バケットから.gitファイルをダウンロード

指定したディレクトリにS3バケットの全内容が展開されるので実行する前に展開用のフォルダを作成(今回はtestAWS)


cpコマンドでtestAWSファルダ内にファイルをダウンロード
(例)[aws s3 cp S3バケットのPath]
[aws s3 cp s3://level3-9afd3927f195e10225021a578e6f78df.flaws.cloud . –recursive]

[–recursive]オプション:ディレクトリを再帰的にコピーできる

ダウンロードしたファイルが展開用のフォルダに展開されていることを確認

ローカルのディレクトリを同期させる


syncコマンドローカルのディレクトリを同期させる
(例)[aws s3 sync S3バケットのPath]
[aws s3 sync s3://level3-9afd3927f195e10225021a578e6f78df.flaws.cloud .]

コミットログを確認する

コミットログを確認する為には下記サイトを参考にコマンドプロンプトからGitの操作が出来るように設定する必要があります。
Gitのインストール方法

[git log]コマンドコミットログを見ると変更されているのが分かります。

コメントにはOops, accidentally added something I shouldn’t have(おっと、誤って追加すべきではないものを追加した)と怪しさ満点のコメントが(笑)

コミット前の状態に戻す

[git checkout]コマンドを使用して.gitファイルコミット前の状態に戻します。

(例)[git checkout コミットID]
git checkout f52ec03b227ea6094b04e43f475fb0126edb5a61

再度[git log]コマンドコミット前の状態に戻っているか確認すると『Oops』のコメントが消えています。

前の状態を確認

コミット前の状態に戻っていることが確認できたので[dir]コマンドでファルダ内を確認するとaccess_keys.txtが増えています。

access_keys.txtの中身を見るとアクセスキーパスワードが記述されています。Oops

回答


再び[aws configure]コマンドを利用して、出てきたクレデンシャル(認証情報)を設定します。
リージョン(地域)flaws.cloudのサーバがあるus-west-2(米国西部(オレゴン))に設定することを推奨します。

–profileオプション:好きなプロファイル名を設定でき、他コマンド実行時に–profileオプションを付与することでアカウントを切り替えできる。(今回はflawsSample)


[aws s3 ls]コマンドで設定したクレデンシャル(認証情報)の権限で確認できるS3バケットの一覧を参照します。
(例)[aws s3 ls –profile 設定したプロファイル名]
aws s3 ls –profile flawsSample

Level4のサブドメイン[level4-1156739cfb264ced6de514971a4bef68.flaws.cloud]にアクセスしたらクリアです。

問題から学べる事

今回のようにAWSキーが漏洩してしまった場合には、不正利用されてしまう可能性があります。
不要なものは削除するなどアクセスキーは適切に管理しましょう。

git経由で認証情報などが漏洩してしまうケースはよくある為、git-secretsなどを利用して認証情報をgitリポジトリcommitしないようしましょう。

git-secrets:アクセス情報[ID/Passwordなど]の含まれたファイルをコミットをするとエラーを返します。

最後に

今回はflaws.cloudのLevel3の内容をまとめました。
勉強会の内容も残り半分!!

part4【勉強会の内容編(Level4)】へ続きます。