はじめに
毎日ニュースサイトやSNSでセキュリティ関連の情報を目にしますが、取捨選択に悩むことが多々あります。セキュリティ製品を売る立場の方が発信している情報や、攻撃として使われることは少なさそうな非常にマニアックな脆弱性情報もありますし。
- 認証画面にランダムな文字列で攻撃をしかけるのは効率が悪いので、rockyou.txtやどこかで漏れた認証情報のリストで攻撃をしかける
- なので、守る側としては流通している辞書の内容や漏洩した認証情報のニュースには要注意
みたいな攻撃者心理に寄り添ったディフェンスができたら良いなと思っています。
ペネトレーションテストにトライ
攻撃者心理を解説したレポートや本を読むのも良いですが、ITは模擬環境で比較的簡単に攻撃を体験できるので、手を動かして学習を進めることにしました。後々OSCPもチャレンジできたら良いかなと。
Hack The Boxが無料利用枠のある良さげなペネトレーションテスト学習サービスのようなので、ペネトレーションテスター向けに各種ツールがプリインストールされているKali LinuxをVirtual Boxで動かして、VERY EASYから解いていきました。
学習環境を整えるにあたって気をつけたこと
ペネトレーションテスト用のツールをあれこれローカルに落としてきて実行するので、どこかで不正なプログラムを踏む前提で設計しました。
- ホストマシンとゲストマシンはネットワークレベルで論理的に分離し別々にFWを設定
- ゲストマシンには機微な情報を一切保存しない
- 主要なSaaSツールにもログインしない
端末購入
ゲスト、ホストともにメモリ8GBはないと苦しいので、16GBのマシンを用意することからはじめました。残念ながらメインマシンはメモリスロットが1つでDDR3しか対応していない骨董品なので笑、これを機に16GB載せたマシンに買い替えました。
リソース使う処理はサーバーでやるべきだと思うので、どうしても手元の端末でスペック上げるのに抵抗あるんですよね。
ホストマシン
OSの選択
- Macはスペックに対してハード価格が高い
- WindowsはCLIの便利ツールが少ない
- そもそもコマンド覚えるのも面倒...
- LinuxはCLIツールが充実してるし、プロモーション費用もりもりのOS代がかからない
ということでいつも通りLinuxを選択してUbuntu LTSをインストールしました。
デスクトップ用途のLinuxって一時期ブームになりましたが、ネイティブアプリが弱いよねってことで下火になりましたね。SaaSツールが充実した現代なら、改めて一般向けに普及する余地がある気がします。ライセンス費用・端末費用削減という視点から、エンタープライズ利用もありかと。
※以前、Linux版のZoomでグリーンバックなしのバーチャル背景が使えないことへの回避策をポストしましたが、Zoom5.7.6 (31792.0820)で無事にサポートされたようです!
Iptablesの設定
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
v4,v6ともに基本はオールDROPでOUTPUTだけ必要なものを個別に開けるようにしました。細かいルールは割愛。
VirtualBoxのインストール
久しぶりにインストールして3つはまりました。
- Secure Bootが有効なマシンへのインストール
こちらを参考に新しいMOKを登録 - VT-xエラー
こちらを参考にBIOSでCPU仮想化を有効化 - USB機器の対応
公式ドキュメントにしたがってvboxuserにホストOSのユーザーを追加
ゲストマシン
OSの選択
ペネトレーションテストをやるなら各種ツールがプリインストールされてるKali Linux一択かなと。
OSインストール
ISOからインストールするのは時間がかかって面倒なので公式が配布しているVirtualBox用のイメージをデプロイしました。
- user / pass が kali / kali という非常に脆弱な設定なので変更
- keyboardがUSレイアウトなのでJapaneseに変更
- timezoneがUS/EasternなのでAsia/Tokyoに変更
- レポート書いたりログ調査するのに時刻が手元とずれてると面倒なので
Iptablesの設定
# 基本設定
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
# INPUTの必要なものを許可
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i lo -j ACCEPT
調査系ツールを使うのにOUTPUTでいちいちポートを開けるのは面倒なので、ガバッと開けてます。
VirtualBoxのアダプター
ホストのIptablesには影響されず、ゲストはOUTPUTを開けておきたいのでBridgedをあてました。
終わりに
パズル感覚で気長にマシン攻略しつつ「攻撃者だったらこういうのはおいしいと思うから、こうやって守ろう」という感覚を養っていきたいと思います。
参考サイト
OSCP
Hack The Box
Kali Linux
Oracle VM VirtualBox
Secure BootなUbuntu 18.04にVirtualBox 6.0をインストール。もうそんなに難しくない。。
VirtualBoxでエラー VT-x is disabled in the BIOS for all CPU modes
VirtualBoxのネットワーク設定を絵で説明する