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

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

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

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

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

Категории

Все категории
Loading categories
drow — Внедряет код в ELF-исполняемые файлы после сборки | Kitploit
Инструменты/GitHubGitHub/zznop/drow
ЭксплуатацияОбратная инженерияАнализ Бинарных ФайловЭксплуатация Бинарных Файлов
GitHubzznop/drow

drow

Внедряет код в ELF-исполняемые файлы после сборки

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

Популярное

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

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

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

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

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

drow Build Status

demo ich

Описание

TL;DR

drow — это утилита командной строки, используемая для внедрения кода и перехвата точки входа ELF-исполняемых файлов (после сборки). Она принимает немодифицированные ELF-исполняемые файлы на вход и экспортирует изменённый ELF, содержащий встроенную пользовательскую полезную нагрузку, которая выполняется во время работы.

Немного подробнее ...

Drow выполняет следующие шаги для создания нового модифицированного ELF:

  1. Отображает в памяти немодифицированный целевой ELF-исполняемый файл и пользовательскую полезную нагрузку — позиционно-независимый блок.
  2. Находит первый исполняемый сегмент, анализируя программные заголовки.
  3. Находит последнюю секцию в исполняемом сегменте, анализируя заголовки секций.
  4. Расширяет sh_size последней секции (в сегменте) и p_memsz/p_filesz программного заголовка на размер пользовательской полезной нагрузки.
  5. Корректирует sh_offset заголовков секций и p_offset программных заголовков (сдвигает секции и сегменты вниз, чтобы освободить место для полезной нагрузки и небольшого «stager stub»).
  6. Корректирует смещения в ELF-заголовке (e_shoff, e_phoff и т.д.).
  7. Изменяет e_entry ELF-заголовка (смещение точки входа ELF) так, чтобы он указывал на внедрённый код.
  8. Создаёт новый ELF, содержащий внедрённый код и изменённые ELF-заголовки.

Помимо внедрения пользовательской полезной нагрузки, drow внедряет небольшой код-заглушку, которая добавляется в начало полезной нагрузки. Эта заглушка предназначена для вызова полезной нагрузки. Если полезная нагрузка написана так, чтобы возвращать управление вызывающему, то после её возврата stager выполняет хвостовой вызов в _start, восстанавливая выполнение, чтобы программа могла работать как задумано.

Сборка

Установите gcc и scons. Затем запустите scons из корня каталога.

Дополнительная информация

Помимо сборки drow, этот проект также собирает полезную нагрузку для Linux x86-64 с именем rappers_delight.bin, которая просто выводит данные в stdout. Её можно использовать для тестирования. В настоящее время drow работает только с ELF64-файлами, предназначенными для x86-64.

Другие работы

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

  • The Cerberus ELF Interface: http://phrack.org/issues/61/8.html
  • The Backdoor Factory: https://github.com/secretsquirrel/the-backdoor-factory
  • ELFSH: http://www.eresi-project.org/
Скачать инструмент