BETA

動かして学ぶ脆弱性(Chapter0: 環境構築編1)

投稿日:2020-02-01
最終更新:2020-07-24

注意事項

  • ここで得た知見は、自分が管理しているネットワーク内もしくは明示的に許可を得たネットワーク内でのみで利用してください。
    • 許可されたネットワーク外で利用した場合、不正アクセスなどとして検挙される可能性があります。

  • ※ この物語はすべてフィクションです。実際の企業・団体などは一切関係ございません。

Chapter0-1 はじまり

???:やぁ、未来の診断員たち。この記事は、セキュリティ診断の勉強用に公開されている脆弱なWebアプリケーション、いわゆる「やられアプリ」を使用するハンズオン形式の記事だよ。
この記事のシリーズを通すことで、SQLインジェクションやクロスサイトスクリプティング(XSS)などの基本的な脆弱性が、どのように発生してしまうのか、よくある間違った修正方法は何か、そして正しい修正方法は何かを学ぶことができるよ。

っと、自己紹介が遅くなったね。私がこのTCSS(Tamago Cyber Security School)の校長、法帖 瀬季南(ほうじょう せきな)だ。

Chapter0-2 環境確認

瀬季南:さて、初回の今回はまず、ハンズオン環境を構築するところから始めていくよ。
その前に、今回の想定環境はこちらになるよ。

  • OS:macOS Catalina
  • SSD:256GB
  • メモリ:16GB
  • 仮想化ソフトウェア:VirtualBox 6.1.2 r135662

瀬季南:VirtualBoxはWindowsでも使えるから、OSは不問だよ。
SSDも空き容量が十分あれば問題ないよ。
メモリに関しては少なくとも8GBは欲しいね。

瀬季南:今回のハンズオンでの環境は次を想定しているよ。
やられアプリはUbuntuサーバ上で動作させて、ホストマシン(VirtualBoxを起動しているマシン)からSSHできるようにするよ。
ホストマシンからやられアプリにアクセスして脆弱性を見ることもできるけど、今後に備えて、Kali Linuxからアクセスするよ。

Chapter0-3 VirtualBox導入

瀬季南:まずは、仮想化ソフトウェアのVirtualBoxから導入していくよ。
VirtualBoxの導入方法は主に2つあるよ。
1つは、VirtualBoxのサイトからインストーラーをダウンロードしてインストールするパターン。もう1つは、Homebrew(mac)やChocolatey(Windows)を利用してインストールするパターンだよ。
今回は、インストーラーを使う方法で進めていくよ。

瀬季南:まず、このサイトにアクセスして、インストーラーをダウンロードするんだ。

Downloads – Oracle VM VirtualBox

瀬季南:「VirtualBox 6.1.2 platform packages」の下にある、4つの項目から、自分のPCのOSのものを選んでクリックする。すると、インストーラーのダウンロードが始まるよ。
ここでは「OS X hosts」を使用するよ。

瀬季南:インストーラーのダウンロード中に、少し下の「SHA256 checksums」をクリックしよう。
英数字の羅列とファイル名のページが出たらオーケーだ。
この英数字とファイル名のペアは、このインストーラーファイルはOracleが提供している正しいファイルで、改ざんなどがされていないことをチェックするためにあるんだ。
このページの英数字とファイル名のペアは、ファイルをSHA256でハッシュ計算した値と、ハッシュ計算を行ったファイルのファイル名になるんだ。
この値を比較することで、ファイルが配布元のものと全く同じであることを保証するんだ。

瀬季南:インストーラーのダウンロードが完了したら、ファイルのハッシュ値を確認するよ。
ターミナルを開いて、インストーラーがあるディレクトリに移動しよう。
そうしたら、このコマンドを実行しよう。

shasum -a 256 <filename>  

瀬季南:Windowsの場合は、このコマンドを実行しよう。

certutil -hashfile <filename> SHA256  

瀬季南:<filename>には、インストーラーのファイル名を入れるんだ。
このコマンドを実行すると、入力したファイル名のファイルをSHA256でハッシュ計算した値とファイル名のペアを出力するよ。
これが「SHA256 checksums」ページのインストーラーのファイル名の部分にある値と一致していれば、そのファイルはOracleが提供している正しいファイル、ということになるよ。
チェック方法はいくつかあるけど、コマンド1つで確認するなら、このコマンドを実行しよう。

shasum -a 256 <filename> | grep <sha256 hash>  

瀬季南:<sha256 hash>には、「SHA256 checksums」ページのインストーラーのファイル名とペアになっているSHA256ハッシュ値を入れるんだ。
追加したgrepコマンドは、出力結果(ここではshasum -a 256 <filename>)から記入された値がある部分を取り出して表示するコマンドだ。
もしshasum -a 256 <filename>の結果と<sha256 hash>が等しければ、出力される。
そうでなければ、出力されないという寸法だ。
十中八九等しいはずだが、万一違っていたら、そのインストーラーはゴミ箱へ捨てておこう。

瀬季南:さて、インストーラーが正しいものだと確認できたら、インストーラーをダブルクリックしてインストール画面を表示させるよ。

瀬季南:『1 Double click on this icon』の下のダンボールっぽいアイコンをダブルクリックするんだ。

瀬季南:このメッセージが出たらよく読んで、問題なければ「続ける」を押そう。

瀬季南:英語の文章が出てくるが、きちんと読んでみよう。
ざっくりと読むと、「このインストーラーは君にインストールのガイドをするよ。数分でVIitualBoxが使えるようになるよ」と書かれている。
問題なければ「続ける」を押そう。

瀬季南:次の画面は、インストールする際にはどれぐらい容量が必要かを教えてくれる画面だ。
容量ギリギリでなければ十分インストールできるから問題ない。逆に容量がギリギリの君は、インストールする前に少し整理してきたほうが後々楽だぞ。
インストール先のカスタマイズは特にしなくても良いので、このまま「続ける」を押そう。

瀬季南:この画面(Touch IDがない場合はパスワード入力画面)が出たら、認証をしよう。

瀬季南:インストールが完了したら、この画面が表示されるよ。

瀬季南:すべてが完了して、VirtualBoxが起動したら、この画面が表示されるはずだよ。
そうしたら、インストールは完了だよ。お疲れ様。
ちなみに、macOSでVirtualBoxがセキュリティ設定でインストールできなかった場合は、こちらを参考にするといいよ。


瀬季南:さて、本来なら次はやられWebアプリを動かす用のサーバを立てる予定だった。
しかし、予想より長くなってしまったので、1度ここで区切るよ。

補足:ネットワーク画像について

瀬季南:ネットワーク画像は次からお借りしているよ。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

みんな卵から始まった (Qrunchのアクセス機能停止に伴い、Google Analyticsを使用しています)

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう