Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CaptainHook — Verfolgt Benutzereingaben, um Injektionsschwachstellen in Java-Methoden über JDWP und Frida zu erkennen, und identifiziert potenzielle Befehls- und SQL-Injektionspunkte. | Kitploit
Tools/GitHubGitHub/synacktiv/captainhook
Dynamische Analyse (Sandboxing)SchwachstellenanalyseCode-AnalyseDebuggerBinäranalyse
GitHubsynacktiv/captainhook

CaptainHook

Verfolgt Benutzereingaben, um Injektionsschwachstellen in Java-Methoden über JDWP und Frida zu erkennen, und identifiziert potenzielle Befehls- und SQL-Injektionspunkte.

Repository anzeigen
92vor 4 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Captain Hook

Was ist das?

Der Zweck dieses Tools ist es, Benutzereingaben zu verfolgen, um Injektionspunkte in sensible Methoden (wie java.lang.Runtime.exec, java.sql.Statement.executeQuery, ...) sowie die Mutationen dieser Eingaben zwischen dem Injektionspunkt und dem Methodenaufruf zu finden.

Es werden "Marks" erzeugt, die in jede mögliche Benutzereingabe Ihrer App eingefügt werden müssen. Verschiedene Marks helfen Ihnen, den Ursprung eines Alerts zu bestimmen.

Die Liste der überwachten Methoden ist über den Befehl > list_breakpoints in der CLI verfügbar. Diese Liste kann mit den Befehlen > add_breakpoint und > delete_breakpoint geändert werden.

Die Architektur

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

Wie starte ich Captain Hook?

Auf der Seite des zu analysierenden Programms

Die JVM muss mit den folgenden Optionen gestartet werden:

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

Natürlich ist der Listening-Port (1000 im obigen Beispiel) beliebig und kann geändert werden.

Falls möglich, installieren Sie frida-server auf der Maschine, die das zu analysierende Programm enthält, und starten Sie es mit dem folgenden Befehl: # frida-server -l 0.0.0.0:1500 &

Der Listening-Port / die Adresse kann ebenfalls geändert werden, um Ihren Anforderungen zu entsprechen.

Auf der Seite von Captain Hook

Setzen Sie am Ende des Dockerfiles in ./dbg die IP-Adresse des "Hosts" (der Maschine, auf der das zu analysierende Programm läuft), den JDWP-Listening-Port und den Frida-Listening-Port (0, falls frida-server nicht verfügbar ist).

Dann # make build, dann # make run-dbg. Verbinden Sie ein zweites Terminal mit diesem Container mit # docker exec -it $(docker ps -lq) bash.

Führen Sie im ersten Terminal cd debugger && make debug aus, danach im zweiten: cd frida && make instrument.

Sie interagieren mit Captain Hook über das zweite Terminal, das Ihnen eine CLI anbietet. Geben Sie > help ein, um eine vollständige Liste aller verfügbaren und dokumentierten Befehle zu erhalten.

Experimentelle Funktionen

Der Ordner "agent" ist rein experimentell, ebenso wie der Befehl > set_object_inspection_strategy.

Tool herunterladen