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

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

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

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

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

Категории

Все категории
Loading categories
linux_injector — Простой инжектор разделяемых библиотек для x64 Linux без использования ptrace | Kitploit
Инструменты/GitHubGitHub/namazso/linux_injector
Шелл-кодПост-эксплуатацияТестирование на ПроникновениеRed TeamingРазработка Полезной НагрузкиСостязательная Атака
GitHubnamazso/linux_injector

linux_injector

Простой инжектор разделяемых библиотек для x64 Linux без использования ptrace

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

Популярное

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

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

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

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

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

linux_injector

Простой инжектор общей библиотеки для x64 Linux, не использующий ptrace.

Использование

linux_injector <режим> <pid> <файл>

режим

  1. обычный dlopen
  2. memfd + dlopen (для инжекции в контейнеры)
  3. сырой shellcode

pid

Идентификатор целевого процесса. Для этого требуются права ptrace (необходимо для доступа к /proc/$pid/mem). Процесс не трассируется через ptrace, поэтому другой процесс может свободно выполнять его ptrace.

файл

Для режима 1: модуль для инжекции, который будет загружен через dlopen в удалённом процессе. Вероятно, следует указывать полный путь, поскольку в противном случае для разрешения используется удалённая переменная LD_LIBRARY_PATH.

Для режима 2: модуль для инжекции, который будет загружен через dlopen в удалённом процессе из memfd, куда будет скопировано содержимое.

Для режима 3: сырой shellcode для инжекции. Вы будете размещены по адресу, выровненному по 16 байт, и начнёте выполнение на случайном перехваченном потоке. Разместите хуки или создайте поток, затем вернитесь.

Модификация

Для перехвата потока управления этой программе требуется кандидат на перехват. Представленный здесь код использует malloc; это можно изменить, отредактировав FUN_NAME и перекомпилировав. Убедитесь, что перехваченная функция может выполняться менее 100 мс, чтобы она не была перезаписана во время своего выполнения. Это означает, что такие вызовы, как sleep или wait, плохо подходят для начального shellcode. Функция также должна иметь длину более 0x50 байт, чтобы shellcode не перезаписывал другие функции.

Поддерживаемые платформы

Glibc и musl поддерживаются как для целевого, так и для исходного процесса. Целевой процесс может работать в контейнере и использовать другую libc. Для режимов 2 и 3 не требуются какие-либо пути, доступные целевому процессу.

Режим 2 требует Linux 3.17.

Протестировано на Oracle Linux 7 (режим 2 не поддерживается), Fedora 37 и Alpine Linux 3.17

Лицензия

MIT License

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