Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CaptainHook — Rastreia entradas do usuário para detectar vulnerabilidades de injeção em métodos Java via JDWP e Frida, identificando possíveis pontos de injeção de comando e SQL. | Kitploit
Ferramentas/GitHubGitHub/synacktiv/captainhook
Análise Dinâmica (Sandboxing)Análise de VulnerabilidadesAnálise de CódigoDepuradoresAnálise de Binários
GitHubsynacktiv/captainhook

CaptainHook

Rastreia entradas do usuário para detectar vulnerabilidades de injeção em métodos Java via JDWP e Frida, identificando possíveis pontos de injeção de comando e SQL.

Ver Repositório
922há 4 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Captain Hook

O que é?

O objetivo desta ferramenta é rastrear entradas do usuário, a fim de encontrar pontos de injeção em métodos sensíveis (como java.lang.Runtime.exec, java.sql.Statement.executeQuery, ...), bem como as mutações nessas entradas entre o ponto de injeção e a chamada do método.

"Marcas" são geradas e devem ser inseridas em todas as possíveis entradas do usuário do seu aplicativo. Marcas diferentes ajudarão você a determinar a origem de um alerta.

A lista de métodos monitorados está disponível usando o comando > list_breakpoints na CLI. Essa lista pode ser modificada com os comandos > add_breakpoint e > delete_breakpoint.

A arquitetura

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

Como iniciar o Captain Hook?

No lado do programa sendo analisado

A JVM dele deve ser iniciada com as seguintes opções:

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

Naturalmente, a porta de escuta (1000 no exemplo acima) é arbitrária e pode ser alterada.

Se possível, instale o frida-server na máquina que contém o programa sendo analisado e inicie-o com o seguinte comando: # frida-server -l 0.0.0.0:1500 &

A porta / endereço de escuta também pode ser alterada conforme suas necessidades.

No lado do Captain Hook

No final do Dockerfile localizado em ./dbg, defina o endereço IP do "host" (a máquina que executa o programa a ser analisado), a porta de escuta JDWP e a porta de escuta Frida (0 se o frida-server não estiver disponível).

Em seguida, # make build e depois # make run-dbg. Anexe um segundo terminal a este contêiner com # docker exec -it $(docker ps -lq) bash.

No primeiro, execute: cd debugger && make debug, depois no segundo: cd frida && make instrument

Você interagirá com o Captain Hook através do segundo terminal, que apresenta uma CLI. Digite > help para obter uma lista exaustiva dos comandos disponíveis, todos documentados.

Recursos experimentais

A pasta "agent" é puramente experimental, assim como o comando > set_object_inspection_strategy.

Baixar ferramenta