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
FalconHound — Automatisierter BloodHound-Graph-Updater für Blue Teams. Bereichert AD-Angriffspfade mit Echtzeit-Sitzungs-, Gruppen- und CVE-Daten aus SIEMs und ermöglicht so kontinuierliche Überwachung und Warnmeldungen. | Kitploit
Tools/GitHubGitHub/falconforceteam/falconhound
PenetrationstestsBedrohungsanalyse
GitHubfalconforceteam/falconhound

FalconHound

Automatisierter BloodHound-Graph-Updater für Blue Teams. Bereichert AD-Angriffspfade mit Echtzeit-Sitzungs-, Gruppen- und CVE-Daten aus SIEMs und ermöglicht so kontinuierliche Überwachung und Warnmeldungen.

Repository anzeigen
82659vor 4 MonatenVon 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

Maintenance Twitter Discord Shield

FalconHound

logo


HINWEIS:

Ab der BloodHound CE 7.0-Version wurde die Standarddatenbank auf Postgres umgestellt. Diese Version von FalconHound verwendet weiterhin Neo4j als Standarddatenbank. Wenn Sie FalconHound weiterhin nutzen möchten, während Sie die neueste BloodHound-Version verwenden, fügen Sie die folgende Zeile in Ihre bloodhound.config.json-Datei ein.```json "graph_driver": "neo4j",

root@kitploit:~
Das BloodHound-Team wird Neo4j mindestens ein Jahr lang weiter unterstützen. In diesem Zeitraum gibt es hoffentlich entweder eine große API-Verbesserung oder wir haben die PGSQL-Unterstützung in FalconHound implementiert.

---

FalconHound ist ein Multi-Tool für Blue Teams. Es ermöglicht Ihnen, die Leistungsfähigkeit von BloodHound auf automatisiertere Weise zu nutzen und zu erweitern. Es ist für den Einsatz zusammen mit einem SIEM oder einem anderen Protokollaggregationstool konzipiert.

Eine der herausfordernden Aspekte von BloodHound ist, dass es eine Momentaufnahme ist. FalconHound enthält Funktionen, mit denen Sie einen Graphen Ihrer Umgebung aktuell halten können. So können Sie Ihre Umgebung so sehen, wie sie JETZT ist. Dies ist besonders nützlich für Umgebungen, die sich ständig ändern.

Eine der am schwierigsten zu erfassenden Beziehungen für BloodHound sind die lokalen Gruppenmitgliedschaften und die Sitzungsinformationen. Als Blue-Team-Mitglieder haben wir diese Informationen in unseren Protokollen sofort verfügbar. FalconHound kann verwendet werden, um diese Informationen zu sammeln und zum Graphen hinzuzufügen, sodass sie von BloodHound genutzt werden können.

Dies ist nur ein Beispiel dafür, wie FalconHound verwendet werden kann. Es kann verwendet werden, um alle Informationen zu sammeln, die Sie in Ihren Protokollen oder Sicherheitstools haben, und sie zum BloodHound-Graphen hinzuzufügen.

Zusätzlich kann der Graph verwendet werden, um Warnungen auszulösen oder Anreicherungslisten zu generieren. Wenn beispielsweise ein Benutzer zu einer bestimmten Gruppe hinzugefügt wird, kann FalconHound verwendet werden, um die Graphdatenbank nach dem kürzesten Pfad zu einer sensiblen oder hochprivilegierten Gruppe abzufragen. Wenn ein Pfad vorhanden ist, kann dies im SIEM protokolliert oder zum Auslösen einer Warnung verwendet werden.

Weitere Beispiele, in denen FalconHound verwendet werden kann:
- Hinzufügen, Entfernen oder Timeout von Sitzungen im Graphen basierend auf Anmelde- und Abmeldeereignissen.
- Markieren von Benutzern und Computern als kompromittiert im Graphen, wenn sie einen Vorfall in Sentinel oder MDE haben.
- Hinzufügen von CVE-Informationen und ob ein öffentlicher Exploit verfügbar ist, zum Graphen.
- Alle Arten von Azure-Aktivitäten.
- Neuberechnung des kürzesten Pfads zu sensiblen Gruppen, wenn ein Benutzer zu einer Gruppe hinzugefügt wird oder eine neue Rolle erhält.
- Hinzufügen neuer Benutzer, Gruppen und Computer zum Graphen.
- Generieren von Anreicherungslisten für Sentinel und Splunk, z. B. von Kerberoastable-Benutzern oder Benutzern mit Besitzerrechten an bestimmten Entitäten.

Die Möglichkeiten sind hier endlos. Bitte fügen Sie weitere Ideen zum Issue-Tracker hinzu oder reichen Sie einen PR ein.

Ein Blog, der mehr darüber erläutert, warum wir es entwickelt haben, und einige Anwendungsbeispiele, finden Sie [hier](https://medium.com/falconforce/falconhound-attack-path-management-for-blue-teams-42adedc9cae5?source=friends_link&sk=9f64b6b3028c5a2a6087d63b4fd2c82f)

Index:
- [Unterstützte Datenquellen und -ziele](#supported-data-sources-and-targets)
- [Installation](#installation)
- [Verwendung](#usage)
- [Aktionen](#actions)
- [Erweiterungen des Graphen](#extensions-to-the-graph)
- [Anmeldeinformationsverwaltung](#credential-management)
- [Bereitstellung](#deployment)
- [Lizenz](#license)

## Unterstützte Datenquellen und -ziele

FalconHound ist für den Einsatz mit BloodHound konzipiert. Es ist kein Ersatz für BloodHound. Es ist darauf ausgelegt, die Leistungsfähigkeit von BloodHound und aller anderen von ihm unterstützten Datenplattformen auf automatisierte Weise zu nutzen.

Derzeit unterstützt FalconHound die folgenden Datenquellen und/oder -ziele:
- Azure Sentinel
- Azure Sentinel Watchlists
- Splunk
- Microsoft Defender for Endpoint
- Neo4j
- MS Graph API (frühe Phase)
- CSV-Dateien
- Azure Data Explorer (ADX) - Beta
- LogScale
- BloodHound CE und BHE (frühe Phase)
- MarkDown-Dateien
- Elastic (frühe Phase)

Zusätzliche Datenquellen und -ziele sind für die Zukunft geplant.

Derzeit unterstützt FalconHound nur die Neo4j-Datenbank für BloodHound. Die Unterstützung für die API von BH CE und BHE befindet sich in aktiver Entwicklung.

---

## Installation

Da FalconHound in Go geschrieben ist, ist keine Installation erforderlich. Laden Sie einfach die Binärdatei aus dem Release-Bereich herunter und führen Sie sie aus. Es stehen kompilierte Binärdateien für Windows, Linux und MacOS zur Verfügung. Sie finden sie im Abschnitt [Releases](https://github.com/FalconForceTeam/FalconHound/releases).

Bevor Sie es ausführen können, müssen Sie eine Konfigurationsdatei erstellen. Eine Beispielkonfigurationsdatei finden Sie im Stammverzeichnis. Anleitungen zum Erstellen aller Anmeldeinformationen finden Sie [hier](https://github.com/falconforceteam/falconhound/blob/HEAD/docs/required_permissions.md).

Die empfohlene Methode zum Ausführen von FalconHound ist die Ausführung als geplanter Task oder Cron-Job. So können Sie es regelmäßig ausführen und Ihren Graphen, Warnungen und Anreicherungen aktuell halten.

### Anforderungen

- BloodHound oder zumindest die Neo4j-Datenbank für den Moment.
- Ein SIEM oder ein anderes Protokollaggregationstool. Derzeit werden Azure Sentinel und Splunk unterstützt.
- Anmeldeinformationen für jeden Endpunkt, mit dem Sie kommunizieren möchten, mit den [erforderlichen Berechtigungen](https://github.com/falconforceteam/falconhound/blob/HEAD/docs/required_permissions.md).

### Konfiguration

FalconHound wird über eine YAML-Datei konfiguriert. Eine Beispielkonfigurationsdatei finden Sie im Stammverzeichnis. Jeder Abschnitt der Konfigurationsdatei wird unten erläutert.

---

## Verwendung

#### Standardausführung

Um FalconHound auszuführen, führen Sie einfach die Binärdatei aus und fügen Sie den Parameter `-go` hinzu, um alle Abfragen im actions-Ordner auszuführen.```bash
./falconhound -go

Alle aktivierten Aktionen auflisten

Um alle aktivierten Aktionen aufzulisten, verwenden Sie den Parameter -actionlist. Dies listet alle Aktionen auf, die in den Konfigurationsdateien im actions folder aktiviert sind. Dies sollte in Kombination mit dem Parameter -go verwendet werden.```bash ./falconhound -actionlist -go

root@kitploit:~
### Mit einer ausgewählten Gruppe von Aktionen ausführen
Um eine ausgewählte Gruppe von Aktionen auszuführen, verwenden Sie den Parameter `-ids`, gefolgt von einer oder einer Liste von durch Kommas getrennten Aktions-IDs. Dadurch werden die im Parameter angegebenen Aktionen ausgeführt, was beim Testen, zur Fehlerbehebung oder bei Bedarf an bestimmten, häufigeren Aktualisierungen sehr praktisch sein kann. Dieser Parameter sollte in Kombination mit dem `-go`-Parameter verwendet werden.```bash
./falconhound -ids action1,action2,action3 -go

Mit einer anderen Konfigurationsdatei ausführen

Standardmäßig sucht FalconHound nach einer Konfigurationsdatei im aktuellen Verzeichnis. Sie können auch eine Konfigurationsdatei mit dem Flag -config angeben. Dies ermöglicht es Ihnen, mehrere Instanzen von FalconHound mit unterschiedlichen Konfigurationen gegen verschiedene Umgebungen auszuführen.```bash ./falconhound -go -config /path/to/config.yml

root@kitploit:~
#### Ausführen mit einem anderen Aktionsordner
Standardmäßig sucht FalconHound nach dem Aktionsordner im aktuellen Verzeichnis. Sie können auch einen anderen Ordner mit dem Flag `-actions-dir` angeben. Dies erleichtert das Testen und die Fehlersuche, ermöglicht aber auch die Ausführung mehrerer Instanzen von FalconHound mit unterschiedlichen Konfigurationen, gegen verschiedene Umgebungen oder in unterschiedlichen Zeitintervallen.```bash
./falconhound -go -actions-dir /path/to/actions

Mit Anmeldeinformationen aus einem Keyvault ausführen

Standardmäßig verwendet FalconHound die Anmeldeinformationen in der config.yml (oder einer benutzerdefinierten). Durch Setzen des Flags -keyvault holt FalconHound den Keyvault aus der Konfiguration und ruft alle Geheimnisse von dort ab. Sollten im Keyvault Elemente fehlen, wird auf die Konfigurationsdatei zurückgegriffen. Wenn Sie die Geheimnisse aus einem Azure-Keyvault mit einer verwalteten Identität abrufen möchten, definieren Sie die authtype-Variable als msi.```bash ./falconhound -go -keyvault

root@kitploit:~
## Aktionen

Aktionen sind der Kern von FalconHound. Sie sind die Abfragen, die FalconHound ausführt. Sie sind in der nativen Sprache der Quelle und des Ziels verfasst und werden im actions-Ordner gespeichert. Jede Aktion ist eine separate Datei und wird im Verzeichnis der Informationsquelle, dem Abfrageziel, gespeichert. Der Dateiname wird als Name der Aktion verwendet.

### Struktur des Actions-Ordners

Der Actions-Ordner ist in Unterverzeichnisse pro Abfragequelle unterteilt. Alle Ordner werden rekursiv verarbeitet und alle YAML-Dateien in alphabetischer Reihenfolge ausgeführt.

Die Neo4j-Aktionen **sollten** zuletzt verarbeitet werden, da ihre Ausgabe darauf angewiesen ist, dass andere Datenquellen zuerst die Graphdatenbank aktualisiert haben, um die aktuellsten Ergebnisse zu erhalten.

### Aktionsdateien

Alle Dateien sind YAML-Dateien. Die YAML-Datei enthält die Abfrage, einige Metadaten und das/die Ziel(e) der abgefragten Informationen.

Es gibt eine Vorlagendatei im Stammordner. Sie können diese verwenden, um eigene Aktionen zu erstellen. Schauen Sie sich die Aktionen im actions-Ordner an, um weitere Beispiele zu sehen.

Während die meisten Punkte recht selbsterklärend sind,gibt es einige wichtige Dinge zu beachten:

#### Aktiviert

Wie der Name schon sagt, wird dies verwendet, um eine Aktion zu aktivieren oder zu deaktivieren. Wenn dies auf false gesetzt ist, wird die Aktion nicht ausgeführt.```yaml
Enabled: true

Debug

Dies wird verwendet, um den Debug-Modus für eine Aktion zu aktivieren oder zu deaktivieren. Wenn dies auf true gesetzt ist, wird die Aktion im Debug-Modus ausgeführt. Dadurch werden die Ergebnisse der Abfrage auf der Konsole ausgegeben. Dies ist nützlich zum Testen und zur Fehlerbehebung, wird jedoch nicht für den Einsatz in der Produktion empfohlen. Es verlangsamt die Verarbeitung der Aktion in Abhängigkeit von der Anzahl der Ergebnisse.```yaml Debug: false

root@kitploit:~
#### Query

Das `Query`-Feld ist die Abfrage, die gegen die Quelle ausgeführt wird. Dies kann eine KQL-Abfrage, eine SPL-Abfrage oder eine Cypher-Abfrage sein, abhängig von Ihrer `SourcePlatform`.
WICHTIG: Versuchen Sie, die Abfrage so genau wie möglich zu halten und nur die Felder zurückzugeben, die Sie benötigen. Dies wird die Verarbeitung der Ergebnisse schneller und effizienter machen.

Zusätzlich sollten Sie bei der Ausführung von Cypher-Abfragen sicherstellen, dass Sie ein JSON-Objekt als Ergebnis mittels RETURN zurückgeben, da die Verarbeitung sonst fehlschlägt.
Zum Beispiel gibt dies Name, Count, Role und Owners der Azure Subscriptions zurück:```cypher
MATCH p = (n)-[r:AZOwns|AZUserAccessAdministrator]->(g:AZSubscription) 
  RETURN {Name:g.name , Count:COUNT(g.name), Role:type(r), Owners:COLLECT(n.name)}

Targets

Jedes Ziel hat mehrere konfigurierbare Optionen. Je nach Ziel erfordern einige möglicherweise mehr Konfiguration als andere. Alle Ziele haben die Felder Name und Enabled. Das Feld Name dient zur Identifizierung des Ziels. Das Feld Enabled dient zum Aktivieren oder Deaktivieren des Ziels. Wenn dies auf false gesetzt ist, wird das Ziel ignoriert.

CSV

CSV unterstützt die Variable {{date}}, die durch das aktuelle Datum im Format YYYY-MM-DD ersetzt wird. Dies kann verwendet werden, um tägliche Berichte zu erstellen. Dies kann in einem Ordner- oder Dateinamen verwendet werden (z. B. path/to/filename-{{date}}.csv) oder im Ordnernamen selbst.```yaml

  • Name: CSV Enabled: true Path: path/to/filename.csv
root@kitploit:~
#### Markdown

Markdown unterstützt die Variable {{date}}, die durch das aktuelle Datum im Format `YYYY-MM-DD` ersetzt wird. Dies kann verwendet werden, um tägliche Berichte zu erstellen.
Dies kann in einem Ordner- oder Dateinamen (z.B. `path/to/filename-{{date}}.md`) oder im Ordnernamen selbst verwendet werden.```yaml
  - Name: Markdown
    Enabled: true
    Path: path/to/filename.md

Beispielausgabe:```markdown

Results for query: N4J_REPORT_DomainAdmins

Get a list of Domain Admins

Description: Get a list of Domain Admins. Date: 2024-02-19

NameObjectID
[email protected]S-1-5-21-1122334455-112233445-1112223334-11223344
root@kitploit:~
#### Neo4j

Das Neo4j-Ziel schreibt die Ergebnisse der Abfrage in eine Neo4j-Datenbank. Diese Ausgabe erfolgt pro Zeile und erfordert daher zusätzliche Konfiguration.
Da wir alle Arten von Daten in alle Richtungen übertragen können, muss FalconHound verstehen, was mit den Daten zu tun ist. Dies wird durch die Verwendung von Ersetzungsvariablen in der ersten Zeile Ihrer Cypher-Abfragen erreicht. Diese werden als Parameter an Neo4j übergeben und können in der Abfrage verwendet werden.
Die `ReplacementFields`-Felder werden unten konfiguriert.```yaml
  - Name: Neo4j
    Enabled: true
    Query: |
      MATCH (x:Computer {name:$Computer}) MATCH (y:User {objectid:$TargetUserSid}) MERGE (x)-[r:HasSession]->(y) SET r.since=$Timestamp SET r.source='falconhound'
    Parameters:
      Computer: Computer
      TargetUserSid: TargetUserSid
      Timestamp: Timestamp

Der Abschnitt „Parameters“ definiert eine Reihe von Parametern, die durch die Werte aus den Abfrageergebnissen ersetzt werden. Diese können als Neo4j-Parameter mit der Syntax $parameter_name referenziert werden.

Sentinel

Das Sentinel-Ziel schreibt die Ergebnisse der Abfrage in eine Sentinel-Tabelle. Die Tabelle wird erstellt, falls sie nicht existiert. Die Tabelle wird im Arbeitsbereich erstellt, der in der Konfigurationsdatei angegeben ist. Die Daten aus der Abfrage werden dem Feld „EventData“ hinzugefügt. Die EventID ist die Aktions-ID und die Description ist der Aktionsname.

Deshalb muss auch die Abfrageausgabe kontrolliert werden, da man ansonsten das Ziel überschwemmen könnte.```yaml

  • Name: Sentinel Enabled: true
root@kitploit:~
#### Sentinel Watchlists

Das Ziel der Sentinel-Watchlists wird die Ergebnisse der Abfrage in eine Sentinel-Watchlist schreiben. Die Watchlist wird erstellt, falls sie nicht existiert. Sie wird in dem in der Konfigurationsdatei angegebenen Arbeitsbereich erstellt. Alle von der Abfrage zurückgegebenen Spalten werden zur Watchlist hinzugefügt.```yaml
 - Name: Watchlist
    Enabled: true
    WatchlistName: FH_MDE_Exploitable_Machines
    DisplayName: MDE Exploitable Machines
    SearchKey: DeviceName
    Overwrite: true

Das Feld WatchlistName ist der Name der Watchlist. Das Feld DisplayName ist der Anzeigename der Watchlist.

Das Feld SearchKey ist die Spalte, die als Suchschlüssel verwendet wird.

Das Feld Overwrite wird verwendet, um zu bestimmen, ob die Watchlist überschrieben oder ergänzt werden soll. Wenn dies auf „false“ gesetzt ist, werden die Ergebnisse der Abfrage an die Watchlist angehängt. Wenn dies auf „true“ gesetzt ist, wird die Watchlist gelöscht und mit den Ergebnissen der Abfrage neu erstellt.

Splunk

Wie Sentinel schreibt Splunk die Ergebnisse der Abfrage in einen Splunk-Index. Der Index muss erstellt und mit einem HEC-Endpunkt verbunden werden. Die Daten aus der Abfrage werden dem Feld EventData hinzugefügt. Die EventID ist die Aktions-ID und die Description ist der Aktionsname.```yaml

  • Name: Splunk Enabled: true
root@kitploit:~
#### Azure Data Explorer

Wie Sentinel schreibt Splunk die Ergebnisse der Abfrage in eine ADX-Tabelle. Die Daten aus der Abfrage werden zum EventData-Feld hinzugefügt.  Die EventID ist die Aktions-ID und die Description ist der Aktionsname.```yaml
  - Name: ADX
    Enabled: true
    Table: "name"

Um eine Tabelle in ADX zu erstellen, können Sie den folgenden Befehl verwenden:```kql .create table FalconHound (Name: string, Description: string, EventID: string, BHQuery: string, EventData: dynamic, Timestamp: datetime)

root@kitploit:~
### Erweiterungen des Graphen

#### Beziehung: HadSession

Sobald eine Sitzung beendet wurde, musste sie aus dem Graphen entfernt werden, aber dies fühlte sich wie eine Verschwendung von Informationen an. Also wird die Sitzung statt sie zu entfernen, als Beziehung zwischen dem Computer und dem Benutzer hinzugefügt. Die Beziehung wird `HadSession` genannt. Die Beziehung wird die folgenden Eigenschaften haben:```json
{
  "till": "2021-08-31T14:00:00Z",
  "source": "falconhound",
  "reason": "logoff",
}

Dies ermöglicht zusätzliche Pfadentdeckungen, bei denen wir untersuchen können, ob sich der Benutzer jemals an einem bestimmten System angemeldet hat, selbst wenn die Sitzung beendet ist.

Properties

FalconHound fügt den Knoten im Graphen die folgenden Eigenschaften hinzu:

Computer: - 'exploitable': true/false - 'exploits': Liste von CVEs - 'exposed': true/false - 'ports': Liste der aus dem Internet erreichbaren Ports - 'alertids': Liste von Alert-IDs

Credential-Verwaltung

Die derzeit unterstützten Methoden zur Bereitstellung von Anmeldeinformationen für FalconHound sind:

  • Über die config.yml-Datei auf der Festplatte.
  • Keyvault-Geheimnisse. Dies erfordert eine verwaltete Systemidentität (Managed System Identity), die der VM zugewiesen ist, oder einen ServicePrincipal mit Geheimnissen in der YAML-Datei.
  • Gemischter Modus.

Config.yml

Die Konfigurationsdatei enthält alle Details, die von jeder Plattform benötigt werden. Alle Einträge in der Konfigurationsdatei sind case-sensitive (Groß-/Kleinschreibung beachten). Bewährte Vorgehensweise ist es, die Apps pro Servicestufe zu trennen, aber Sie können für alle Azure-basierten Aktionen 1 AppID/AppSecret verwenden.

Die erforderlichen Berechtigungen für Ihre AppID/AppSecret sind hier aufgeführt.

Keyvault

Eine sicherere Methode zur Speicherung der Anmeldeinformationen wäre die Verwendung einer Azure KeyVault. Beachten Sie, dass mit der Nutzung von Keyvaults ein kleiner Kostenaspekt verbunden ist. Der Zugriff auf KeyVaults unterstützt derzeit die Authentifizierung basierend auf einer verwalteten Systemidentität oder AppID/AppSecret, die in der config.yml-Datei konfiguriert werden müssen.

Die empfohlene Einrichtung besteht darin, dem virtuellen Computer, auf dem FalconHound ausgeführt wird, eine verwaltete Systemidentität zuzuweisen und dieser die Rolle Key Vault Secrets User für diesen Keyvault zuzuweisen. Dadurch kann sich FalconHound ohne zusätzliche Konfiguration gegenüber dem Keyvault authentifizieren.

Alternativ können Sie einen ServicePrincipal verwenden, der nur die Rolle Key Vault Secrets User für diesen Keyvault besitzt. Diese Rolle erlaubt nur den Zugriff auf die Geheimnisse, nicht einmal das Auflisten. Verwenden Sie NICHT den ServicePrincipal erneut, der Zugriff auf Sentinel und/oder MDE hat, da dies die Verwendung eines Keyvaults nahezu vollständig zunichtemacht.

Die im Keyvault zu konfigurierenden Elemente sind unten aufgeführt. Bitte beachten Sie, dass Keyvault-Geheimnisse nicht case-sensitive (Groß-/Kleinschreibung beachten) sind.``` SentinelAppSecret SentinelAppID SentinelTenantID SentinelTargetTable SentinelResourceGroup SentinelSharedKey SentinelSubscriptionID SentinelWorkspaceID SentinelWorkspaceName MDETenantID MDEAppID MDEAppSecret Neo4jUri Neo4jUsername Neo4jPassword GraphTenantID GraphAppID GraphAppSecret AdxTenantID AdxAppID AdxAppSecret AdxClusterURL AdxDatabase SplunkUrl SplunkApiToken SplunkIndex SplunkApiPort SplunkHecToken SplunkHecPort BHUrl BHTokenID BHTokenKey LogScaleUrl LogScaleToken LogScaleRepository LimaCharlieAPIUrl LimaCharlieOrgId LimaCharlieIngestKey ElasticCloudID ElasticApiKey

root@kitploit:~
Einmal konfiguriert, können Sie den Parameter `-keyvault` beim Starten von FalconHound hinzufügen.

#### Mischmodus / Fallback

Wenn der Parameter `-keyvault` in der Befehlszeile gesetzt ist, wird dies die primäre Quelle für alle erforderlichen Geheimnisse sein. Sollte FalconHound keine Elemente abrufen können, wird es auf das entsprechende Element in der `config.yml` zurückgreifen. 
Wenn beide fehlschlagen und Aktionen für diese Quelle oder dieses Ziel aktiviert sind, wird eine Warnung ausgegeben und die Aktion(en) werden übersprungen.

## Bereitstellung

FalconHound ist dafür ausgelegt, als geplanter Task oder Cron-Job ausgeführt zu werden. Dies ermöglicht es Ihnen, es regelmäßig auszuführen und Ihre Graphdaten, Warnungen und Anreicherungen auf dem neuesten Stand zu halten. Je nach Anzahl der aktivierten Aktionen, der Menge der verarbeiteten Daten und der Menge der in den Graphen geschriebenen Daten kann dies einige Zeit in Anspruch nehmen.

Alle protokollbasierten Abfragen sind so konzipiert, dass sie alle 15 Minuten ausgeführt werden. Sollte die Verarbeitung zu lange dauern, müssen Sie dies möglicherweise etwas anpassen. In diesem Fall könnte es empfehlenswert sein, bestimmte Aktionen zu deaktivieren.

Auch könnte es Überschneidungen geben, beispielsweise bei den Sitzungsaktionen. Wenn Sie viele Sitzungen haben, möchten Sie möglicherweise die Sitzungsaktionen für Sentinel deaktivieren und sich auf die von MDE verlassen. Dies setzt voraus, dass MDE und Sentinel verbunden sind und die meisten Rechner in MDE eingebunden sind.

### Sharphound / Azurehound

Während FalconHound für die Verwendung mit BloodHound konzipiert ist, ist es kein Ersatz für Sharphound und Azurehound. Es soll die Sammlung ergänzen und das Momentaufnahme-Problem der periodischen Sammlung beseitigen. Sowohl Sharphound als auch Azurehound werden weiterhin benötigt, um die Daten zu sammeln, da nicht alle ähnlichen Daten in Protokollen verfügbar sind.

Es wird empfohlen, Sharphound und Azurehound regelmäßig auszuführen, z. B. einmal täglich/wöchentlich oder monatlich, und FalconHound alle 15 Minuten.

## Lizenz

Dieses Projekt ist unter der BSD3-Lizenz lizenziert – siehe die Datei [LICENSE](https://github.com/falconforceteam/falconhound/blob/HEAD/LICENSE) für Details.

Das bedeutet, dass Sie diese Software kostenlos nutzen können, auch in kommerziellen Produkten, solange Sie uns nennen. Sie können uns nicht für etwaige durch diese Software verursachte Schäden haftbar machen.
Tool herunterladen