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

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

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

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

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

Категории

Все категории
Loading categories
CaptainHook — Отслеживает пользовательские вводы для обнаружения уязвимостей инъекций в методах Java через JDWP и Frida, выявляя потенциальные точки инъекций команд и SQL-инъекций. | Kitploit
Инструменты/GitHubGitHub/synacktiv/captainhook
Динамический анализ (песочница)Анализ уязвимостейАнализ КодаОтладчикиАнализ Бинарных Файлов
GitHubsynacktiv/captainhook

CaptainHook

Отслеживает пользовательские вводы для обнаружения уязвимостей инъекций в методах Java через JDWP и Frida, выявляя потенциальные точки инъекций команд и SQL-инъекций.

Репозиторий
924 лет назадЕщё не проверено

Популярное

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

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

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

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

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

Captain Hook

Что это?

Назначение этого инструмента — отслеживать пользовательские вводы, чтобы находить точки внедрения в чувствительные методы (например, java.lang.Runtime.exec, java.sql.Statement.executeQuery, ...), а также мутации этих вводов между точкой внедрения и вызовом метода.

Генерируются «метки» (marks), которые необходимо вставить в каждый возможный пользовательский ввод вашего приложения. Различные метки помогут вам определить источник предупреждения.

Список отслеживаемых методов доступен с помощью команды > list_breakpoints в CLI. Этот список можно изменить командами > add_breakpoint и > delete_breakpoint.

Архитектура

root@kitploit:~
            Captain Hook Docker                                   Main machine
                container
 ┌────────────────────────────────────────┐             ┌────────────────────────────────────────┐
 │                                        │             │                                        │
 │ ┌─────────────────┐ ┌────────────────┐ │             │          ┌──────────────────────────┐  │
 │ │                 │ │                │ │             │          │                          │  │
 │ │ ┌────┐          │ │  Java Debugger │ │             │          │                          │  │
 │ │ │    │ Python   │ │                ├─┼─────────────┼──────────►                          │  │
 │ │ │    │    +     │ │                │ │             │          │      Program being       │  │
 │ │ │    │  Frida   │ │                │ │             │          │        analyzed          │  │
 │ │ │    │          │ │                ◄─┼─────────────┼──────────┤                          │  │
 │ │ │    │          ◄─┤                │ │             │          │                          │  │
 │ │ │    │          │ │                │ │             │          │                          │  │
 │ │ │CLI │          ├─►                │ │             │          │                          │  │
 │ │ │    │          │ │                │ │             │          │                          │  │
 │ │ │    │          │ └────────────────┘ │             │          │                          │  │
 │ │ │    │          │                    │             │          │                          │  │
 │ │ │    │          │                    │             │ ┌──────┐ │                          │  │
 │ │ │    │          ├────────────────────┼─────────────┤►│frida-├─►                          │  │
 │ │ │    │          │                    │             │ │server◄─┤                          │  │
 │ │ └────┘          │                    │             │ │      │ └──────────────────────────┘  │
 │ │                 │◄───────────────────┼─────────────┼─┤      │                               │
 │ └─────────────────┘                    │             │ └──────┘                               │
 │                                        │             │                                        │
 └────────────────────────────────────────┘             └────────────────────────────────────────┘

Как запустить Captain Hook?

На стороне анализируемой программы

Её JVM должна быть запущена со следующими параметрами:

  • -Xdebug
  • -Xrunjdwp:transport=dt_socket,address=1000,server=y,suspend=n
  • -Xint

Разумеется, порт прослушивания (1000 в приведённом примере) произвольный и может быть изменён.

Если возможно, установите frida-server на машину, на которой выполняется анализируемая программа, и запустите его следующей командой: # frida-server -l 0.0.0.0:1500 &

Порт и адрес прослушивания также можно изменить в соответствии с вашими потребностями.

На стороне Captain Hook

В конце Dockerfile, расположенного в ./dbg, укажите IP-адрес «хоста» (машины, на которой выполняется анализируемая программа), порт прослушивания JDWP и порт прослушивания Frida (0, если frida-server недоступен).

Затем # make build, а затем # make run-dbg. Подключите второй терминал к этому контейнеру с помощью # docker exec -it $(docker ps -lq) bash.

В первом терминале выполните: cd debugger && make debug, затем во втором: cd frida && make instrument

Вы будете взаимодействовать с Captain Hook через второй терминал, в котором будет представлен CLI. Введите > help для получения исчерпывающего списка доступных команд — все они документированы.

Экспериментальные функции

Папка «agent» является чисто экспериментальной, как и команда > set_object_inspection_strategy.

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