Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CaptainHook — Traccia gli input utente per rilevare vulnerabilità di injection nei metodi Java tramite JDWP e Frida, individuando potenziali punti di injection di comandi e SQL. | Kitploit
Strumenti/GitHubGitHub/synacktiv/captainhook
Analisi Dinamica (Sandboxing)Analisi delle VulnerabilitàAnalisi del CodiceDebuggerAnalisi di Binari
GitHubsynacktiv/captainhook

CaptainHook

Traccia gli input utente per rilevare vulnerabilità di injection nei metodi Java tramite JDWP e Frida, individuando potenziali punti di injection di comandi e SQL.

Vedi Repository
924 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Captain Hook

Che cos'è ?

Lo scopo di questo strumento è tracciare gli input utente, al fine di individuare punti di iniezione in metodi sensibili (come java.lang.Runtime.exec, java.sql.Statement.executeQuery, ...) così come le mutazioni su questi input tra il punto di iniezione e la chiamata al metodo.

"Marks" vengono generati e devono essere inseriti in ogni possibile input utente della tua applicazione. Marks diversi ti aiuteranno a determinare l'origine di un alert.

L'elenco dei metodi monitorati è disponibile usando il comando > list_breakpoints nella CLI. Questo elenco può essere modificato con i comandi > add_breakpoint e > delete_breakpoint.

L'architettura

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

Come avviare Captain Hook?

Sul lato del programma in analisi

La sua JVM deve essere avviata con le seguenti opzioni:

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

Ovviamente, la porta in ascolto (1000 nell'esempio precedente) è arbitraria e può essere cambiata.

Se possibile, installa frida-server sulla macchina che contiene il programma in analisi e avvialo con il seguente comando: # frida-server -l 0.0.0.0:1500 &

Anche la porta / l'indirizzo in ascolto possono essere modificati in base alle tue esigenze.

Sul lato di Captain Hook

Alla fine del Dockerfile situato in ./dbg, imposta l'indirizzo IP dell'"host" (la macchina che esegue il programma da analizzare), la porta di ascolto JDWP e la porta di ascolto di Frida (0 se frida-server non è disponibile).

Poi # make build, quindi # make run-dbg. Collega un secondo terminale a questo container con # docker exec -it $(docker ps -lq) bash.

Nel primo, esegui: cd debugger && make debug, poi nel secondo: cd frida && make instrument

Interagirai con Captain Hook tramite il secondo terminale, che ti presenta una CLI. Digita > help per un elenco esaustivo dei comandi disponibili, tutti documentati.

Funzionalità sperimentali

La cartella "agent" è puramente sperimentale, così come il comando > set_object_inspection_strategy.

Scarica lo strumento