Shellter - крутая утилита для заражения приложений.

Для того, чтоб начать работу по заражению исполняемого файла, нужно выбрать любое приложение и сунуть его в папку к Shellter-у

Программа, в которую будет производиться внедрение шелл-кода, показана курсором. Затем, запускаем сам Shellter

Вот он, красавчик! Тулза предлагает выбрать режим работы: автоматический (Auto) или
ручной (Manual). Чтобы познакомиться со всеми опциями, выберем ручной (m)

Выставляем таргет и прописываем в тулзе simsetup.exe

После чего Shellter создаст резервную копию оригинального файла (simsetup.exe.bak) и начнет собирать информацию о нем и проводить необходимые изменения.

Следует избегать внедрения шелл-кода в запакованные исполняемые файлы, чтоб они не выгляделиподозрительными для антивируса. Еще одна причина, почему следует избегать упакованных exe-шников, - это то, что большинство нормальных пакеров перед распаковкой проверят файл на наличие модификаций и, соответственно, после внедрения шелл-кода просто откажутся запуститься. К тому же практически все они напичканы антиотладочными приемами и быстро обнаружат, что Shellter пытается их оттрассировать (на данный момент Shellter умеет бороться только с PEB.IsBeingDebugged, PEB.NtGlobalFlag). Поэтому упаковывать приложение лучше всего уже после внедрения в него шелл-кода. А самый идеальный вариант - выбрать приложение, которое для антивируса выглядело бы как легитимное.

Поработав над самим файлом, а конкретно над его DllCharacteristics и цифровой подписью. Затем спросит, стоит ли собирать Dinamic Thread Context Info. В дальнейшем мы будем использовать эту информацию в качестве ключа для дешифровки пейлоада, чтобы не хранить его в явном виде (помнишь Dinamic Thread Context Keys?). Поэтому отвечаем утвердительно. Количество инструкций задаем произвольно. Для примера установим равным 15. Чтобы не наколоться и не внедрить шелл-код в место, где живет самомодифицирующийся код, включаем проверку на его наличие во время трассировки. Чтобы сэкономить время, останавливать трассировку
при его обнаружении не будем, о чем и сообщим инструменту на следующем шаге. Real-Time Tracing покажет процесс прохождения программы в реальном времени, но никакой важной информации для нас это не несет, так что включать не будем.

Далее спрашивает, запустить ли STEАLTH-РЕЖИМ? Отвечаем утвердительно.

Очень интересная фишка инструмента - опция Steаlth Mode. Дело в том, что она позволяет внедрять в один файл несколько полезных нагрузок.

Включив данную опцию (а включается она с помощью ключа --steаlth или просто -s), можно будет повторно заразить тот же самый файл другим пейлоадом. То есть можно будет заинжектить meterpreter_reverse_tcp, meterpreter_reverse_https и какой-нибудь свой пейлоад, и при запуске зараженного приложения выполнятся все три нагрузки.
Важно: при использовании Stealth-режима с кастомным пейлоадом (то есть не встроенным в Shellter) надо будет установить exit-функцию в значение THREAD. В противном случае, если сессия умрет или ты захочешь ее закрыть, упадет все приложение. Плюс к этому все reverse connection пейлоады из Metasploit делают ограниченное число попыток соединиться с удаленным хостом, исчерпав которые убивают процесс. Чтобы этого не произошло, Shellter использует слегка
измененные версии пейлоадов из Metasploit. Поэтому, когда понадобится reverse connect, лучше воспользоваться встроенными в Shellter образцами.

Выбираем пейлоад, которым хотим заразить наш екзешник. Тулза предложила 7 штук. Если заражаем своим, ставим с вместо L/l. Затем, выставляем цифру нужного нам пейлоада. В предоставленном списке останавливаем свой выбор на кандидате номер семь - WinExec. В качестве аргумента указываем ему notepad.exe. Данный пейлоад, будет запускать... БЛОКНОТ!)))

Далее, запрашивает последовательность кодирования.

И вот тут-то нас спросят, стоит ли зашифровывать пейлоад с помощью DTCK (Dinamic Thread Context Keys). Попробуем, плюс на следующем шаге согласимся еще и на обфускацию декодера. Shellter поищет в таблице импорта подходящие API для этой задачи, в нашем случае нашел только LoadLibrary/GetProcAddress связку (идет под номером 5). Затем обфусцируем IAT Handler и добавляем полиморфный код (встроенный, размер устанавливаем в 200 байт). После этого можно будет посмотреть и выбрать конкретную точку для внедрения шелл-кода. В данном случае доступен диапазон от 0 до 560 (для внедрения была выбрана первая). Это последний вопрос на выбор, далее Shellter проинжектит шелл-код и пересчитает контрольную сумму файла.
В общем, весь процесс чем-то напоминает установку программы: Next, Next,Next, и все готово. Остается только запустить полученный файл. Как и было задумано, помимо этой программулины, запустится еще и окно блокнота. Cкачать тулзу с сайта разработчика https://www.shellterproject.com/

Суём зараженную программулину Вирустоталу. Три ха-ха! Антивирями не палится! Только один из всех пропищал, это - Qihoo-360 что обнаружено HEUR/QVM05.1.Malware.Gen