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
Tools/GitHubGitHub/mhaskar/bughound
SchwachstellenscannerStatische Code-Analyse (SAST)SchwachstellenanalyseCode-AnalyseDevSecOps
GitHubmhaskar/bughound

Bughound

Statisches Code-Analyse-Tool basierend auf Elasticsearch

Repository anzeigen
13034vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Stability Version Python Docker Pulls

Was ist Bughound?

Bughound Logo

Bughound ist ein Open-Source-Tool zur statischen Codeanalyse, das Ihren Code analysiert und die Ergebnisse an Elasticsearch und Kibana sendet, um nützliche Einblicke in potenzielle Schwachstellen in Ihrem Code zu erhalten.

Bughound verfügt über ein eigenes Elasticsearch- und Kibana-Docker-Image, das mit Dashboards vorkonfiguriert ist, um eine starke Visualisierung der Ergebnisse zu ermöglichen.

Sie können verschiedene Arten von Schwachstellen erkennen, wie zum Beispiel:

  • Befehlseinschleusung (Command Injection).
  • XXE.
  • Unsicheres Deserialisieren (Unsafe Deserialization).
  • Und mehr!

Bughound kann derzeit PHP- und JAVA-Code analysieren und enthält eine Gruppe unsicherer Funktionen für diese Sprachen.

Ich werde sicherstellen, dass mit der Zeit immer mehr Funktionen/Sprachabdeckungen hinzugefügt werden, aber derzeit liegt der Hauptfokus auf der Stabilität des Projekts selbst.

Bitte beachten Sie, dass die Ergebnisse von Bughound nicht 100% genau sind; es wurde entwickelt, um Ihnen bei der Identifizierung potenzieller Schwachstellen während Ihrer Analyse zu helfen.

Wie funktioniert es?

Zunächst erstellt Bughound eine Liste aller Dateien in Ihrem Projekt basierend auf der Erweiterung der Dateien, die Sie prüfen möchten. Dann liest es jede Datei und versucht, vordefinierte unsichere Funktionen für die Sprache Ihres Projekts zu finden.

Die Analysephase basiert auf vorkonfigurierten regulären Ausdrücken und einigen benutzerdefinierten Textabgleichen, um die potenziellen Schwachstellen zu erkennen. Daher müssen Sie erneut die manuelle Analyse durchführen, um zu überprüfen, ob diese Ergebnisse ausnutzbar sind.

Schließlich sendet es die Ergebnisse an das Bughound-Docker-Image, das einen vorkonfigurierten Elasticsearch und Kibana enthält, die die angepassten Dashboards für Ihre Ergebnisse enthalten.

Die Dashboards geben Ihnen Details zu den Ergebnissen, wie zum Beispiel:

  • Funktionsname.
  • Kategorie der Schwachstelle.
  • Zeilennummer.
  • Und vieles mehr!

Mit Kibana können Sie auch das potenziell anfällige Code-Snippet anzeigen, um mit Ihrer Analyse und Nachverfolgung zu beginnen und zu prüfen, ob es ausnutzbar ist.

Natürlich können Sie auch Ihren eigenen ELK-Stack verwenden, wenn Sie möchten, und Bughound führt die initiale Konfiguration für Sie durch. In diesem Fall haben Sie jedoch nicht die vorkonfigurierten Dashboards.

Voraussetzungen

Sie können alle erforderlichen Abhängigkeiten für die Ausführung von Bughound mit folgendem Befehl installieren:

pip3 install -r requirements.txt

Dadurch wird sichergestellt, dass alle Anforderungen für den Code installiert sind.

Außerdem müssen Sie Docker installieren, um das Bughound-Image auszuführen. Mehr dazu im nächsten Abschnitt!

Wenn Sie Ihre eigenen Elasticsearch- und Kibana-Instanzen verwenden möchten, überspringen Sie den Docker-Installationsschritt

Installation

Stellen Sie sicher, dass Sie die neueste Version von Bughound mit folgendem Befehl erhalten:

git clone https://github.com/mhaskar/Bughound

Und nachdem Sie die Anforderungen aus dem vorherigen Schritt installiert haben, können Sie Bughound mit folgendem Befehl ausführen:

./bughound.py

Sie erhalten den Hauptbildschirm von Bughound.

root@kitploit:~
┌─[askar@hackbook]─[/opt/bughound]
└──╼ $./bughound.py

.______    __    __    _______  __    __    ______    __    __  .__   __.  _______
|   _  \  |  |  |  |  /  _____||  |  |  |  /  __  \  |  |  |  | |  \ |  | |       \
|  |_)  | |  |  |  | |  |  __  |  |__|  | |  |  |  | |  |  |  | |   \|  | |  .--.  |
|   _  <  |  |  |  | |  | |_ | |   __   | |  |  |  | |  |  |  | |  . `  | |  |  |  |
|  |_)  | |  `--'  | |  |__| | |  |  |  | |  `--'  | |  `--'  | |  |\   | |  '--'  |
|______/   \______/   \______| |__|  |__|  \______/   \______/  |__| \__| |_______/



          \ /
          oVo
      \___XXX___/
       __XXXXX__
      /__XXXXX__\
      /   XXX   \
           V                  V1.0 Beta

[+] Example: ./bughound3.py --path vulnerable_code/ --language php --extension .php --name testproject

usage: bughound.py [-h] [--path PATH] [--git GIT] --language LANGUAGE
                   --extension EXTENSION --name NAME [--verbose [VERBOSE]]
bughound.py: error: argument --language is required
┌─[✗]─[askar@hackbook]─[/opt/bughound]
└──╼ $

Docker-Image-Installation

Um das Bughound-Docker-Image zu installieren, gehen Sie einfach wie folgt vor:

docker pull bughound/bughound

Und das wird die neueste Version des Images herunterladen und auf Ihrem Rechner speichern.

Sobald wir das Image heruntergeladen haben, können wir es mit folgendem Befehl ausführen:

docker run --name bughound -p5601:5601 -p 9200:9200 bughound/bughound

Dadurch wird das Image in einem neuen Container namens bughound ausgeführt und die Ports freigegeben, die Bughound benötigt, um mit Elasticsearch und Kibana auf Ihrem Host zu kommunizieren.

Möglicherweise müssen Sie den maximalen virtuellen Speicher erhöhen, um das Image zu verwenden. Führen Sie daher bitte diesen Befehl aus:

sysctl -w vm.max_map_count=262144

Nachdem Sie diese beiden Dinge erledigt haben, sind Sie bereit, Bughound zu verwenden!

Verwendung

Um den Analyseprozess für Ihren Code zu starten, sollten Sie die Datei Bughound.py verwenden, die einige Optionen bietet. Um diese Optionen über das Hilfebanner anzuzeigen, können Sie den folgenden Befehl verwenden:

root@kitploit:~
┌─[✗]─[askar@hackbook]─[/opt/bughound]
└──╼ $./bughound.py -h

.______    __    __    _______  __    __    ______    __    __  .__   __.  _______
|   _  \  |  |  |  |  /  _____||  |  |  |  /  __  \  |  |  |  | |  \ |  | |       \
|  |_)  | |  |  |  | |  |  __  |  |__|  | |  |  |  | |  |  |  | |   \|  | |  .--.  |
|   _  <  |  |  |  | |  | |_ | |   __   | |  |  |  | |  |  |  | |  . `  | |  |  |  |
|  |_)  | |  `--'  | |  |__| | |  |  |  | |  `--'  | |  `--'  | |  |\   | |  '--'  |
|______/   \______/   \______| |__|  |__|  \______/   \______/  |__| \__| |_______/



          \ /
          oVo
      \___XXX___/
       __XXXXX__
      /__XXXXX__\
      /   XXX   \
           V                  V1.0 Beta

[+] Example: ./bughound3.py --path vulnerable_code/ --language php --extension .php --name testproject

usage: bughound.py [-h] [--path PATH] [--git GIT] --language LANGUAGE
                   --extension EXTENSION --name NAME [--verbose [VERBOSE]]

optional arguments:
  -h, --help            show this help message and exit
  --path PATH           local path of the source code
  --git GIT             git repository URL
  --language LANGUAGE   the used programming language
  --extension EXTENSION
                        extension to search for
  --name NAME           project name to use
  --verbose [VERBOSE]   show debugging messages
┌─[askar@hackbook]─[/opt/bughound]
└──╼ $

Lokales Projekt scannen

Zum Beispiel können Sie mit folgendem Befehl ein lokales PHP-Projekt scannen:

./bughound.py --path /opt/dummyproject --language php --extension .php --name dummyproject

Dieser Befehl erstellt ein neues Projekt namens 'dummyproject' im Elasticsearch-Index, durchsucht alle lokalen Dateien mit der Erweiterung '.php' im lokalen Pfad '/opt/dummyproject' und sendet die Ergebnisse an Elasticsearch.

Entferntes Git-Repository scannen

Sie können auch ein entferntes Projekt aus einem Git-Repository mit der Option --git wie folgt abrufen:

./bughound.py --git https://github.com/DummyCode/DummyProject --language php --extension .php --name dummyproject

Bughound klont den Code für Sie, speichert ihn im Verzeichnis projects und scannt ihn dann.

Vorkonfigurierte Dashboards

Wenn Sie sich für die Verwendung des offiziellen Bughound-Docker-Images entschieden haben, erhalten Sie einige gebrauchsfertige Dashboards, die Ihnen bei Ihrer Analyse helfen.

Die folgenden Dashboards sind derzeit verfügbar:

  • Haupt-Dashboard von Bughound
  • Dashboard zur Befehlseinschleusung
  • Dashboard zur Deserialisierung
  • XXE-Dashboard

Diese Dashboards liefern Ihnen Statistiken über die Funktionen und Code-Snippets, die im Code gefunden wurden, damit Sie mit Ihrem Analyseprozess beginnen können.

Weitere Ressourcen

Weitere Informationen zu Bughound finden Sie in den folgenden Artikeln:

  • Enthüllung von BugHound: ein auf ElasticSearch basierendes Tool zur statischen Codeanalyse

Lizenz

Dieses Projekt ist unter der GPL-3.0-Lizenz lizenziert – siehe die Datei LICENSE für Details.

Tool herunterladen