Бэкдоры

#3 Учимся генерировать бэкдоры. Генерируем бэкдор с помощью Veil 3.1.11.

Давайте приступим к созданию бэкдора, с помощью Veil 3.1.11. Переходим в наш фреймворк, и выбираем инструмент, с помощью команды «list»:

команда list

Я выберу первый инструмент, который называется «Evasion». Нужно ввести команду «use 1»:

выбор evasion

Далее мне необходимо открыть список актуальных доступных пэйлоадов. Для просмотра нужно ввести команду «list»:

список актуальных пэйлоадов

Как Вы помните из прошлых уроков, в качестве примера я рассматривал пэйлоад под номером «15». Он называется «go/meterpreter/rev_https.py», и его я собираюсь дальше рассматривать. Вы же можете выбирать любые другие пэйлоады, в качестве эксперимента. Продолжим, и нужно ввести команду «use 15»:

пэйлоад номер 15

Мы получаем подробное описание выбранного пэйлоада, и опции, которые можно изменить. Основной опцией в настройках пэйлоада, является LHOST. Это ip-адрес нашей машины, на который жертва будет осуществлять подключение при запуске пэйлоада или бэкдора. В моем случае, я хочу, чтобы жертва подключалась на мою машину Parrot Security OS. Для проверки ip-адреса необходимо ввести команду «ifconfig»:

ifconfig

Ip-адрес я скрыл, так как эту информацию Вам не нужно знать, но выделил область, где его можно узнать и прописать в нашем пэйлоаде. Чтобы указать параметр ip, нужно выполнить команду «set LHOST <ip-адрес>»:

указываем параметр ip

Как видите, я изменил значение опции LHOST. Просмотреть изменения можно с помощью команды «options».

Изменять опции можно с помощью команды «set». Нам нужно поменять значение LPORT. По-умолчанию в этой опции стоит порт «80», и это хорошо, так как его используют веб-сервера, и он не будет вызывать подозрений у жертвы. В этом примере я буду использовать порт «8080». Кардинальной разницы нет, так как последний также используют веб-сервера. Изменим значение LPORT, командой «set LPORT 8080»:

set LPORT 8080

Опция успешно изменилась.

Хочу заметить, что при генерировании бэкдора таким способом, Вы сможете обойти большинство антивирусов, но не все. Я экспериментировал с бэкдорами, так что нужно много перепробовать и пол года назад все было более радужно на самом деле. Для создания уникальных бэкдоров можно воспользоваться инструментом Veil, который называется «Ordnance». О нем я говорил в предыдущих уроках.

Поговорим об антивирусах. Вообще в каждом из них существует огромная база сигнатур, и они связаны с файлами, которые содержат вредоносный код. Антивирусы просто сравнивают сигнатуру Вашего файла, с этой базой сигнатур, и если файл будет совпадать с каким-либо файлом из базы, то он будет помечен как вирус или как вредоносная программа.

При создании бэкдора нужно модифицировать его как можно больше раз. Думаю, Вы поняли, для чего. В общем для того, чтобы сделать его уникальным, и таким образом он сможет обойти базу данных сигнатур.

Все вышеописанное Veil может делать за нас, а именно шифровать бэкдоры и делать инъекцию в память. Получается, конечно у него не идеально, но некоторые антивирусы не определяют бэкдор как вредонос.

Как Вы могли заметить в нашем пэйлоаде достаточно много опций. Их можно редактировать для того, чтобы сделать пейлоад более уникальным. Поэкспериментируйте над изменением этих опций. В данном примере, чтобы не затягивать, я изменю парочку опций, для общего понимания процесса. Первая опция, которую я изменю, называется «PROCESSORS». Она означает минимальное количество процессоров, которое будет использовать бэкдор. Не нужно указывать большое число, так как бэкдор не будет корректно работать в большинстве случаев. Поставлю значение «1», и код бэкдора, после изменения будет выглядеть немного иначе. Для изменения нужна команда «set PROCESSORS 1»:

set PROCESSORS 1

Еще я изменю одну опцию, которая называется «SLEEP». Она означает период ожидания, до запуска вредоносного кода, который содержится в пэйлоаде. Возьмем к примеру 5 секунд. Этими изменениями опций, я делаю бэкдор более уникальным. Итак, для редактирования этой опции нужна команда «set SLEEP 5»:

set SLEEP 5

На этом демонстрационный пример я завершаю. Вы можете пробовать изменять другие значения, которые есть в опциях. Это еще 13 опций, так что почва для размышлений есть.  Экспериментируйте с бэкдорами и добивайтесь более уникальной конфигурации.

Теперь перейдем к генерации бэкдора с помощью команды «generate»:

generate

После нажатия клавиши «Enter» программа попросит указать имя пэйлоада. Я назову его в соответствии с выполняемыми действиями и свойствами: «reverse_https_8080»:

reverse_https_8080

Если Вы на Parrot Security OS, то при генерации может быть такая ошибка:

ошибка в parrot security os

Чтобы пофиксить данную ошибку, нужно по-новой запустить фреймворк с правами суперпользователя. Это команда «sudo ./Veil.py», и повторить действия по созданию пэйлоада.

Итак, пэйлоад успешно сгенерировался, и мы можем наблюдать сам модуль, а также путь, где лежит файл:

сгенерированный пэйлоад

Теперь нам необходимо проверить пэйлоад на предмет детекта антивирусами. В Veil есть встроенная команда, которая называется «checkvt». Я не рекомендую ее использовать, так как она не обладает точным анализом, а просто сравнивает хеши дефолтных пэйлоадов.

Самое интересное то, что хеш отправляется на сайт https://www.virustotal.com. Насколько мне известно, упомянутый сайт отправляет данные антивирусам, но он «вшит» в фреймворк. Возникает противоречие в этом, но на самом деле в сети мало сканеров, которые не отправляют эти данные.

Раньше был хороший сканер, который назывался «No distribute», и который перестал функционировать в конце 2017 года. Этот сканер отличался тем, что не делился данными с антивирусными программами.

В настоящее время бесплатные версии сканеров, крипторов трудно встретить, и актуальный софт платный. Ваша задача будет заключаться в том, чтобы найти актуальное решение по анализу пэйлоадов, без отправки данных антивирусам.

Я не буду рекламировать ничего, но скажу, что нужно анализировать сканеры и крипторы по отзывам в интернете, так как большинство пользователей не используют бэкдоры и пэйлоады в целях тестирования, а для проверки написанных вирусов, троянов и других вредоносов.

Ради спортивного интереса я проанализирую сгенерированный файл на Virustotal. Вот результаты анализа:

virustotal - анализ

Как видим 41 антивирус определил наш пэйлоад как вредоносную программу, троян, малварь и т. д. (везде по-разному). Но 30 антивирусов не справились с детектом. Иными словами, у нас есть 40% шансов на успешную атаку. Где-то полгода или год назад данный бэкдор детектировался лишь несколькими антивирусами, а меняя некоторые опции в пэйлоаде, и вовсе удавалось обойти их все.

Вспомните, что я говорил до этого момента. У Вас еще есть 13 опций, которые можно изменить, а также инструмент «Ordnance», с помощью которого можно создавать пэйлоады.

Нужно держать в голове следующее. Антивирусы постоянно обновляют свои базы и Veil также обновляет свой код, и нужно поддерживать фреймворк в актуальном состоянии. Для этого есть команда «update».

Также один и тот же бэкдор может быть либо обнаружен, либо нет. Все дело в том, как он был зашифрован и сгенерирован.

Вам нужно менять как можно больше опции и пробовать различные пэйлоады, для достижения обхода как можно большего количества антивирусов.

На этом все. Всем хорошего дня!

Первая часть про бэкдоры.

Вторая часть про бэкдоры.