Hayabusa ist ein schneller Forensik-Timeline-Generator für Windows-Ereignisprotokolle und ein Tool zur Bedrohungssuche, das von der Yamato Security-Gruppe in Japan entwickelt wurde. Hayabusa bedeutet auf Japanisch „Wanderfalke“ und wurde ausgewählt, da Wanderfalken das schnellste Tier der Welt sind, großartig in der Jagd und gut trainierbar. Es ist in Rust geschrieben und unterstützt Multithreading, um so schnell wie möglich zu sein. Wir haben ein Tool zur Konvertierung von Sigma-Regeln in das Hayabusa-Regelformat bereitgestellt. Die Sigma-kompatiblen Hayabusa-Erkennungsregeln sind in YML geschrieben, um möglichst einfach anpassbar und erweiterbar zu sein. Hayabusa kann entweder auf einzelnen laufenden Systemen zur Live-Analyse ausgeführt werden, durch das Sammeln von Protokollen von einzelnen oder mehreren Systemen zur Offline-Analyse oder durch Ausführen des Hayabusa-Artefakts mit Velociraptor zur unternehmensweiten Bedrohungssuche und Reaktion auf Vorfälle. Die Ausgabe wird zur einfachen Analyse in LibreOffice, Timeline Explorer, Elastic Stack, Timesketch usw. in einer einzigen CSV-Zeitleiste konsolidiert.
evtx
Kiste.-T
)-H
)-M
Multiline-Ausgabe)computer-metrics
Befehlcomputer-metrics
Befehlecomputer-metrics
eid-metrics
Befehleid-metrics
Befehleeid-metrics
Befehlskonfigurationsdateieid-metrics
Screenshotlogon-summary
Befehllogon-summary
logon-summary
Screenshotspivot-keywords-list
pivot-keywords-list
pivot-keywords-list
Konfigurationsdateisearch
search
search
csv-timeline
Befehlcsv-timeline
Befehlecsv-timeline
Befehlskonfigurationsdateienjson-timeline
Befehljson-timeline
Befehlsbeispiele und Konfigurationsdateienlevel-tuning
level-tuning
-Befehlelevel-tuning
Konfigurationsdateilist-profiles
Befehlset-default-profile
Befehlset-default-profile
Befehleupdate-rules
Befehlupdate-rules
minimal
Profilausgabestandard
verbose
Profilausgabeall-field-info
all-field-info-verbose
Profilausgabesuper-verbose
Profilausgabetimesketch-minimal
Profilausgabetimesketch-verbose
ProfilausgabeHayabusa verfügt derzeit über über 4000 Sigma-Regeln und über 170 integrierte Hayabusa-Erkennungsregeln, wobei regelmäßig weitere Regeln hinzugefügt werden. Es kann für die unternehmensweite proaktive Bedrohungssuche sowie für DFIR (Digital Forensics and Incident Response) kostenlos mit dem Hayabusa-Artefakt von Velociraptor verwendet werden. Durch die Kombination dieser beiden Open-Source-Tools können Sie im Wesentlichen rückwirkend ein SIEM reproduzieren, wenn in der Umgebung kein SIEM-Setup vorhanden ist. Wie das geht, erfahren Sie in der exemplarischen Vorgehensweise zum Velociraptor von Eric Capuano.
Die Analyse von Windows-Ereignisprotokollen war traditionell ein sehr langer und mühsamer Prozess, da Windows-Ereignisprotokolle 1) in einem Datenformat vorliegen, das schwer zu analysieren ist und 2) die meisten Daten Rauschen sind und für Untersuchungen nicht nützlich sind. Ziel von Hayabusa ist es, nur nützliche Daten zu extrahieren und sie in einem möglichst prägnanten, leicht lesbaren Format darzustellen, das nicht nur von professionell ausgebildeten Analysten, sondern jedem Windows-Systemadministrator verwendet werden kann. Hayabusa hofft, dass Analysten im Vergleich zur herkömmlichen Windows-Ereignisprotokollanalyse 80 % ihrer Arbeit in 20 % der Zeit erledigen können.
-T
) -H
) -M
Multiline-Ausgabe) Hier erfahren Sie, wie Sie CSV-Zeitleisten in Excel und im Timeline Explorer analysieren.
Hier erfahren Sie, wie Sie CSV-Dateien in Elastic Stack importieren.
Hier erfahren Sie, wie Sie CSV-Dateien in Timesketch importieren.
Hier erfahren Sie, wie Sie JSON-formatierte Ergebnisse mit jq
analysieren.
|equalsfield
und |endswithfield
.0xc0000234
-> ACCOUNT LOCKED
)Bitte laden Sie die neueste stabile Version von Hayabusa mit kompilierten Binärdateien herunter oder kompilieren Sie den Quellcode von der Seite „Releases“.
Wir stellen Binärdateien für die folgenden Architekturen bereit:
hayabusa-xxx-lin-aarch64-gnu
)hayabusa-xxx-lin-x64-gnu
)hayabusa-xxx-lin-x64-musl
)hayabusa-xxx-mac-aarch64
)hayabusa-xxx-mac-x64
)hayabusa-xxx-win-aarch64.exe
)hayabusa-xxx-win-x64.exe
)hayabusa-xxx-win-x86.exe
)Aus irgendeinem Grund läuft die Linux ARM MUSL-Binärdatei nicht ordnungsgemäß, daher stellen wir diese Binärdatei nicht zur Verfügung. Da das Problem außerhalb unserer Kontrolle liegt, planen wir, es in Zukunft bereitzustellen, sobald das Problem behoben ist.
Ab v2.18.0 stellen wir spezielle Windows-Pakete bereit, die XOR-codierte Regeln verwenden, die in einer einzigen Datei bereitgestellt werden, sowie alle Konfigurationsdateien, die in einer einzigen Datei zusammengefasst sind (gehostet im Repository „hayabusa-encoded-rules“). Laden Sie einfach die Zip-Pakete mit live-response
im Namen herunter. Die ZIP-Dateien enthalten lediglich drei Dateien: die binäre, XOR-codierte Regeldatei von Hayabusa und die Konfigurationsdatei. Der Zweck dieser Live-Antwortpakete besteht darin, bei der Ausführung von Hayabusa auf Client-Endpunkten sicherzustellen, dass Antivirenscanner wie Windows Defender keine Fehlalarme für .yml
Regeldateien ausgeben. Außerdem möchten wir die Menge der in das System geschriebenen Dateien minimieren, damit forensische Artefakte wie das USN Journal nicht überschrieben werden.
Sie können das Repository mit dem folgenden Befehl git clone
und die Binärdatei aus dem Quellcode kompilieren:
Warnung: Der Hauptzweig des Repositorys dient Entwicklungszwecken, sodass Sie möglicherweise auf neue Funktionen zugreifen können, die noch nicht offiziell veröffentlicht wurden. Es können jedoch Fehler auftreten. Betrachten Sie es daher als instabil.
git clone https://github.com/Yamato-Security/hayabusa.git --recursive
Hinweis: Wenn Sie vergessen, die Option --recursive zu verwenden, wird der
rules
, der als Git-Submodul verwaltet wird, nicht geklont.
Sie können den rules
synchronisieren und die neuesten Hayabusa-Regeln mit git pull --recurse-submodules
abrufen oder den folgenden Befehl verwenden:
hayabusa.exe update-rules
Wenn die Aktualisierung fehlschlägt, müssen Sie möglicherweise den rules
umbenennen und es erneut versuchen.
Achtung: Bei der Aktualisierung werden Regeln und Konfigurationsdateien im
rules
durch die neuesten Regeln und Konfigurationsdateien im hayabusa-rules-Repository ersetzt. Alle Änderungen, die Sie an vorhandenen Dateien vornehmen, werden überschrieben. Wir empfehlen Ihnen daher, vor der Aktualisierung Sicherungskopien aller von Ihnen bearbeiteten Dateien zu erstellen. Wenn Sie Level-Tuning mitlevel-tuning
durchführen, optimieren Sie bitte Ihre Regeldateien nach jedem Update neu. Wenn Sie imrules
neue Regeln hinzufügen, werden diese bei der Aktualisierung nicht überschrieben oder gelöscht.
Wenn Sie Rust installiert haben, können Sie mit dem folgenden Befehl aus dem Quellcode kompilieren:
Hinweis: Zum Kompilieren benötigen Sie in der Regel die neueste Version von Rust.
cargo build --release
Sie können die neueste instabile Version vom Hauptzweig oder die neueste stabile Version von der Seite „Releases“ herunterladen.
Stellen Sie sicher, dass Sie Rust regelmäßig aktualisieren mit:
rustup update stable
Die kompilierte Binärdatei wird im Ordner ./target/release
ausgegeben.
Sie können vor dem Kompilieren auf die neuesten Rust-Kisten aktualisieren:
cargo update
Bitte teilen Sie uns mit, wenn nach dem Update etwas kaputt geht.
Sie können 32-Bit-Binärdateien auf 64-Bit-Windows-Systemen wie folgt erstellen:
rustup install stable-i686-pc-windows-msvc
rustup target add i686-pc-windows-msvc
rustup run stable-i686-pc-windows-msvc cargo build --release
Warnung: Führen Sie unbedingt
rustup install stable-i686-pc-windows-msvc
aus, wenn es eine neue stabile Version von Rust gibt, darustup update stable
den Compiler für die Cross-Kompilierung nicht aktualisiert und Sie möglicherweise Build-Fehler erhalten.
Wenn Sie Kompilierungsfehler zu OpenSSL erhalten, müssen Sie Homebrew installieren und dann die folgenden Pakete installieren:
brew install pkg-config
brew install openssl
Wenn Sie Kompilierungsfehler zu OpenSSL erhalten, müssen Sie das folgende Paket installieren.
Ubuntu-basierte Distributionen:
sudo apt install libssl-dev
Fedora-basierte Distributionen:
sudo yum install openssl-devel
Installieren Sie auf einem Linux-Betriebssystem zunächst das Ziel.
rustup install stable-x86_64-unknown-linux-musl
rustup target add x86_64-unknown-linux-musl
Kompilieren mit:
cargo build --release --target=x86_64-unknown-linux-musl
Warnung: Führen Sie unbedingt
rustup install stable-x86_64-unknown-linux-musl
aus, wenn es eine neue stabile Version von Rust gibt, darustup update stable
den Compiler für die Cross-Kompilierung nicht aktualisiert und Sie möglicherweise Build-Fehler erhalten.
Die MUSL-Binärdatei wird im Verzeichnis ./target/x86_64-unknown-linux-musl/release/
erstellt. MUSL-Binärdateien sind etwa 15 % langsamer als die GNU-Binärdateien, lassen sich jedoch besser auf verschiedene Linux-Versionen und -Distributionen übertragen.
Möglicherweise erhalten Sie eine Warnung von Antiviren- oder EDR-Produkten, wenn Sie versuchen, Hayabusa auszuführen oder auch nur, wenn Sie die .yml
-Regeln herunterladen, da die Erkennungssignatur Schlüsselwörter wie mimikatz
und verdächtige PowerShell-Befehle enthält. Da es sich dabei um Fehlalarme handelt, müssen Sie Ausschlüsse in Ihren Sicherheitsprodukten konfigurieren, damit Hayabusa ausgeführt werden kann. Wenn Sie Angst vor Malware oder Angriffen auf die Lieferkette haben, überprüfen Sie bitte den Hayabusa-Quellcode und kompilieren Sie die Binärdateien selbst.
Aufgrund des Echtzeitschutzes von Windows Defender kann es insbesondere beim ersten Start nach einem Neustart zu einer langsamen Laufzeit kommen. Sie können dies vermeiden, indem Sie den Echtzeitschutz vorübergehend deaktivieren oder einen Ausschluss zum Hayabusa-Laufzeitverzeichnis hinzufügen. (Bitte berücksichtigen Sie die Sicherheitsrisiken, bevor Sie dies tun.)
Führen Sie in einer Befehls-/PowerShell-Eingabeaufforderung oder einem Windows-Terminal einfach die entsprechende 32-Bit- oder 64-Bit-Windows-Binärdatei aus.
Wenn Sie die integrierte Befehls- oder PowerShell-Eingabeaufforderung in Windows verwenden, erhalten Sie möglicherweise eine Fehlermeldung, dass Hayabusa keine .evtx-Dateien laden konnte, wenn in Ihrer Datei oder Ihrem Verzeichnispfad ein Leerzeichen vorhanden ist. Um die .evtx-Dateien ordnungsgemäß zu laden, gehen Sie unbedingt wie folgt vor:
Sie müssen zunächst die Binärdatei ausführbar machen.
chmod +x ./hayabusa
Führen Sie es dann aus dem Hayabusa-Stammverzeichnis aus:
./hayabusa
Von Terminal oder iTerm2 aus müssen Sie zunächst die Binärdatei ausführbar machen.
chmod +x ./hayabusa
Versuchen Sie dann, es aus dem Hayabusa-Stammverzeichnis auszuführen:
./hayabusa
In der neuesten Version von macOS erhalten Sie möglicherweise die folgende Sicherheitsfehlermeldung, wenn Sie versuchen, sie auszuführen:
Klicken Sie auf „Abbrechen“ und öffnen Sie dann in den Systemeinstellungen „Sicherheit und Datenschutz“ und klicken Sie auf der Registerkarte „Allgemein“ auf „Trotzdem zulassen“.
Versuchen Sie danach erneut, es auszuführen.
./hayabusa
Die folgende Warnung wird angezeigt. Klicken Sie daher bitte auf „Öffnen“.
Sie sollten jetzt in der Lage sein, Hayabusa auszuführen.
computer-metrics
: Gibt die Anzahl der Ereignisse basierend auf Computernamen aus.eid-metrics
: Drucken Sie die Anzahl und den Prozentsatz der Ereignisse basierend auf der Ereignis-ID.logon-summary
: Drucken Sie eine Zusammenfassung der Anmeldeereignisse.pivot-keywords-list
: Drucken Sie eine Liste verdächtiger Schlüsselwörter zum Pivotieren.search
: Durchsuchen Sie alle Ereignisse nach Schlüsselwörtern oder regulären Ausdrücken csv-timeline
: Speichern Sie die Timeline im CSV-Format.json-timeline
: Speichern Sie die Timeline im JSON/JSONL-Format.level-tuning
: Passen Sie den level
der Warnungen individuell an.list-profiles
: Listet die verfügbaren Ausgabeprofile auf.set-default-profile
: Ändern Sie das Standardprofil.update-rules
: Synchronisieren Sie die Regeln mit den neuesten Regeln im GitHub-Repository „hayabusa-rules“. help
: Diese Nachricht oder die Hilfe zu den angegebenen Unterbefehlen drucken.list-contributors
: Drucken Sie die Liste der Mitwirkendencomputer-metrics
Befehl Sie können den Befehl computer-metrics
verwenden, um zu überprüfen, wie viele Ereignisse für jeden im Feld <System><Computer>
definierten Computer vorhanden sind. Beachten Sie, dass Sie sich bei der Trennung von Ereignissen nach ihrem ursprünglichen Computer nicht vollständig auf das Feld Computer
verlassen können. Windows 11 verwendet beim Speichern in Ereignisprotokollen manchmal völlig andere Computer
. Außerdem zeichnet Windows 10 manchmal den Computer
in Kleinbuchstaben auf. Dieser Befehl verwendet keine Erkennungsregeln und analysiert daher alle Ereignisse. Dies ist ein guter Befehl, um schnell zu sehen, auf welchen Computern die meisten Protokolle vorhanden sind. Mit diesen Informationen können Sie dann beim Erstellen Ihrer Zeitleisten die Optionen --include-computer
oder --exclude-computer
verwenden, um Ihre Zeitleistengenerierung effizienter zu gestalten, indem Sie mehrere Zeitleisten je nach Computer erstellen oder Ereignisse von bestimmten Computern ausschließen.
Usage: computer-metrics <INPUT> [OPTIONS]
Input:
-d, --directory <DIR> Directory of multiple .evtx files
-f, --file <FILE> File path to one .evtx file
-l, --live-analysis Analyze the local C:WindowsSystem32winevtLogs folder
General Options:
-C, --clobber Overwrite files when saving
-h, --help Show the help menu
-J, --JSON-input Scan JSON formatted logs instead of .evtx (.json or .jsonl)
-Q, --quiet-errors Quiet errors mode: do not save error logs
-x, --recover-records Carve evtx records from slack space (default: disabled)
-c, --rules-config <DIR> Specify custom rule config directory (default: ./rules/config)
--target-file-ext <FILE-EXT...> Specify additional evtx file extensions (ex: evtx_data)
-t, --threads <NUMBER> Number of threads (default: optimal number for performance)
Filtering:
--timeline-offset <OFFSET> Scan recent events based on an offset (ex: 1y, 3M, 30d, 24h, 30m)
Output:
-o, --output <FILE> Save the results in CSV format (ex: computer-metrics.csv)
Display Settings:
--no-color Disable color output
-q, --quiet Quiet mode: do not display the launch banner
-v, --verbose Output verbose information
computer-metrics
Befehlehayabusa.exe computer-metrics -d ../logs
hayabusa.exe computer-metrics -d ../logs -o computer-metrics.csv
computer-metrics
eid-metrics
Befehl Sie können den Befehl eid-metrics
verwenden, um die Gesamtzahl und den Prozentsatz der Ereignis-IDs (Feld <System><EventID>
) getrennt nach Kanälen auszudrucken. Dieser Befehl verwendet keine Erkennungsregeln und scannt daher alle Ereignisse.
Usage: eid-metrics <INPUT> [OPTIONS]
Input:
-d, --directory <DIR> Directory of multiple .evtx files
-f, --file <FILE> File path to one .evtx file
-l, --live-analysis Analyze the local C:WindowsSystem32winevtLogs folder
General Options:
-C, --clobber Overwrite files when saving
-h, --help Show the help menu
-J, --JSON-input Scan JSON formatted logs instead of .evtx (.json or .jsonl)
-Q, --quiet-errors Quiet errors mode: do not save error logs
-x, --recover-records Carve evtx records from slack space (default: disabled)
-c, --rules-config <DIR> Specify custom rule config directory (default: ./rules/config)
--target-file-ext <FILE-EXT...> Specify additional evtx file extensions (ex: evtx_data)
-t, --threads <NUMBER> Number of threads (default: optimal number for performance)
Filtering:
--exclude-computer <COMPUTER...> Do not scan specified computer names (ex: ComputerA) (ex: ComputerA,ComputerB)
--include-computer <COMPUTER...> Scan only specified computer names (ex: ComputerA) (ex: ComputerA,ComputerB)
--timeline-offset <OFFSET> Scan recent events based on an offset (ex: 1y, 3M, 30d, 24h, 30m)
Output:
-o, --output <FILE> Save the Metrics in CSV format (ex: metrics.csv)
Display Settings:
--no-color Disable color output
-q, --quiet Quiet mode: do not display the launch banner
-v, --verbose Output verbose information
Time Format:
--European-time Output timestamp in European time format (ex: 22-02-2022 22:00:00.123 +02:00)
--ISO-8601 Output timestamp in ISO-8601 format (ex: 2022-02-22T10:10:10.1234567Z) (Always UTC)
--RFC-2822 Output timestamp in RFC 2822 format (ex: Fri, 22 Feb 2022 22:00:00 -0600)
--RFC-3339 Output timestamp in RFC 3339 format (ex: 2022-02-22 22:00:00.123456-06:00)
--US-military-time Output timestamp in US military time format (ex: 02-22-2022 22:00:00.123 -06:00)
--US-time Output timestamp in US time format (ex: 02-22-2022 10:00:00.123 PM -06:00)
-U, --UTC Output time in UTC format (default: local time)
eid-metrics
Befehlehayabusa.exe eid-metrics -f Security.evtx
hayabusa.exe eid-metrics -d ../logs
hayabusa.exe eid-metrics -f Security.evtx -o eid-metrics.csv
eid-metrics
Befehlskonfigurationsdatei Der Kanal, die Ereignis-IDs und die Titel der Ereignisse werden in rules/config/channel_eid_info.txt
definiert.
Beispiel:
Channel,EventID,EventTitle
Microsoft-Windows-Sysmon/Operational,1,Process Creation.
Microsoft-Windows-Sysmon/Operational,2,File Creation Timestamp Changed. (Possible Timestomping)
Microsoft-Windows-Sysmon/Operational,3,Network Connection.
Microsoft-Windows-Sysmon/Operational,4,Sysmon Service State Changed.
eid-metrics
Screenshot logon-summary
Befehl Sie können den Befehl logon-summary
verwenden, um eine Zusammenfassung der Anmeldeinformationen (Anmeldebenutzernamen sowie Anzahl erfolgreicher und fehlgeschlagener Anmeldungen) auszugeben. Sie können die Anmeldeinformationen für eine evtx-Datei mit -f
oder für mehrere evtx-Dateien mit der Option -d
anzeigen.
Usage: logon-summary <INPUT> [OPTIONS]
Input:
-d, --directory <DIR> Directory of multiple .evtx files
-f, --file <FILE> File path to one .evtx file
-l, --live-analysis Analyze the local C:WindowsSystem32winevtLogs folder
General Options:
-C, --clobber Overwrite files when saving
-h, --help Show the help menu
-J, --JSON-input Scan JSON formatted logs instead of .evtx (.json or .jsonl)
-Q, --quiet-errors Quiet errors mode: do not save error logs
-x, --recover-records Carve evtx records from slack space (default: disabled)
-c, --rules-config <DIR> Specify custom rule config directory (default: ./rules/config)
--target-file-ext <FILE-EXT...> Specify additional evtx file extensions (ex: evtx_data)
-t, --threads <NUMBER> Number of threads (default: optimal number for performance)
Filtering:
--exclude-computer <COMPUTER...> Do not scan specified computer names (ex: ComputerA) (ex: ComputerA,ComputerB)
--include-computer <COMPUTER...> Scan only specified computer names (ex: ComputerA) (ex: ComputerA,ComputerB)
--timeline-end <DATE> End time of the event logs to load (ex: "2022-02-22 23:59:59 +09:00")
--timeline-offset <OFFSET> Scan recent events based on an offset (ex: 1y, 3M, 30d, 24h, 30m)
--timeline-start <DATE> Start time of the event logs to load (ex: "2020-02-22 00:00:00 +09:00")
Output:
-o, --output <FILENAME-PREFIX> Save the logon summary to two CSV files (ex: -o logon-summary)
Display Settings:
--no-color Disable color output
-q, --quiet Quiet mode: do not display the launch banner
-v, --verbose Output verbose information
Time Format:
--European-time Output timestamp in European time format (ex: 22-02-2022 22:00:00.123 +02:00)
--ISO-8601 Output timestamp in ISO-8601 format (ex: 2022-02-22T10:10:10.1234567Z) (Always UTC)
--RFC-2822 Output timestamp in RFC 2822 format (ex: Fri, 22 Feb 2022 22:00:00 -0600)
--RFC-3339 Output timestamp in RFC 3339 format (ex: 2022-02-22 22:00:00.123456-06:00)
--US-military-time Output timestamp in US military time format (ex: 02-22-2022 22:00:00.123 -06:00)
--US-time Output timestamp in US time format (ex: 02-22-2022 10:00:00.123 PM -06:00)
-U, --UTC Output time in UTC format (default: local time)
logon-summary
hayabusa.exe logon-summary -f Security.evtx
hayabusa.exe logon-summary -d ../logs -o logon-summary.csv
logon-summary
Screenshots pivot-keywords-list
Mit dem Befehl pivot-keywords-list
können Sie eine Liste eindeutiger Pivot-Schlüsselwörter erstellen, um ungewöhnliche Benutzer, Hostnamen, Prozesse usw. schnell zu identifizieren und Ereignisse zu korrelieren.
Wichtig: Standardmäßig gibt Hayabusa Ergebnisse von allen Ereignissen (informativ und höher) zurück. Wir empfehlen daher dringend, den Befehl pivot-keywords-list
mit der Option -m, --min-level
zu kombinieren. Beginnen Sie beispielsweise damit, nur Schlüsselwörter für critical
Warnungen mit -m critical
zu erstellen, und fahren Sie dann mit -m high
, -m medium
usw. fort. In Ihren Ergebnissen werden höchstwahrscheinlich häufige Schlüsselwörter enthalten sein, die bei vielen normalen Ereignissen übereinstimmen. Nachdem Sie also die Ergebnisse manuell überprüft und eine Liste eindeutiger Schlüsselwörter in einer einzigen Datei erstellt haben, können Sie mit einem Befehl wie grep -f keywords.txt timeline.csv
eine eingegrenzte Zeitleiste verdächtiger Aktivitäten erstellen.
Usage: pivot-keywords-list <INPUT> [OPTIONS]
Input:
-d, --directory <DIR> Directory of multiple .evtx files
-f, --file <FILE> File path to one .evtx file
-l, --live-analysis Analyze the local C:WindowsSystem32winevtLogs folder
General Options:
-C, --clobber Overwrite files when saving
-h, --help Show the help menu
-J, --JSON-input Scan JSON formatted logs instead of .evtx (.json or .jsonl)
-w, --no-wizard Do not ask questions. Scan for all events and alerts
-Q, --quiet-errors Quiet errors mode: do not save error logs
-x, --recover-records Carve evtx records from slack space (default: disabled)
-c, --rules-config <DIR> Specify custom rule config directory (default: ./rules/config)
--target-file-ext <FILE-EXT...> Specify additional evtx file extensions (ex: evtx_data)
-t, --threads <NUMBER> Number of threads (default: optimal number for performance)
Filtering:
-E, --EID-filter Scan only common EIDs for faster speed (./rules/config/target_event_IDs.txt)
-D, --enable-deprecated-rules Enable rules with a status of deprecated
-n, --enable-noisy-rules Enable rules set to noisy (./rules/config/noisy_rules.txt)
-u, --enable-unsupported-rules Enable rules with a status of unsupported
-e, --exact-level <LEVEL> Only load rules with a specific level (informational, low, medium, high, critical)
--exclude-computer <COMPUTER...> Do not scan specified computer names (ex: ComputerA) (ex: ComputerA,ComputerB)
--exclude-eid <EID...> Do not scan specific EIDs for faster speed (ex: 1) (ex: 1,4688)
--exclude-status <STATUS...> Do not load rules according to status (ex: experimental) (ex: stable,test)
--exclude-tag <TAG...> Do not load rules with specific tags (ex: sysmon)
--include-computer <COMPUTER...> Scan only specified computer names (ex: ComputerA) (ex: ComputerA,ComputerB)
--include-eid <EID...> Scan only specified EIDs for faster speed (ex: 1) (ex: 1,4688)
--include-status <STATUS...> Only load rules with specific status (ex: experimental) (ex: stable,test)
--include-tag <TAG...> Only load rules with specific tags (ex: attack.execution,attack.discovery)
-m, --min-level <LEVEL> Minimum level for rules to load (default: informational)
--timeline-end <DATE> End time of the event logs to load (ex: "2022-02-22 23:59:59 +09:00")
--timeline-offset <OFFSET> Scan recent events based on an offset (ex: 1y, 3M, 30d, 24h, 30m)
--timeline-start <DATE> Start time of the event logs to load (ex: "2020-02-22 00:00:00 +09:00")
Output:
-o, --output <FILENAME-PREFIX> Save pivot words to separate files (ex: PivotKeywords)
Display Settings:
--no-color Disable color output
-q, --quiet Quiet mode: do not display the launch banner
-v, --verbose Output verbose information
pivot-keywords-list
hayabusa.exe pivot-keywords-list -d ../logs -m critical
keywords-Ip Addresses.txt
, keywords-Users.txt
usw. gespeichert): hayabusa.exe pivot-keywords-list -d ../logs -m critical -o keywords`
pivot-keywords-list
Konfigurationsdatei Sie können anpassen, nach welchen Schlüsselwörtern Sie suchen möchten, indem Sie ./rules/config/pivot_keywords.txt
bearbeiten. Diese Seite ist die Standardeinstellung.
Das Format ist KeywordName.FieldName
. Wenn Sie beispielsweise die Liste der Users
erstellen, listet hayabusa alle Werte in den Feldern SubjectUserName
, TargetUserName
und User
auf.
search
Mit dem search
können Sie nach Schlüsselwörtern für alle Ereignisse suchen. (Nicht nur Hayabusa-Erkennungsergebnisse.) Dies ist nützlich, um festzustellen, ob es Beweise für Ereignisse gibt, die von Hayabusa nicht erkannt werden.
Usage: hayabusa.exe search <INPUT> <--keywords "<KEYWORDS>" OR --regex "<REGEX>"> [OPTIONS]
Display Settings:
--no-color Disable color output
-q, --quiet Quiet mode: do not display the launch banner
-v, --verbose Output verbose information
General Options:
-C, --clobber Overwrite files when saving
-h, --help Show the help menu
-Q, --quiet-errors Quiet errors mode: do not save error logs
-x, --recover-records Carve evtx records from slack space (default: disabled)
-c, --rules-config <DIR> Specify custom rule config directory (default: ./rules/config)
--target-file-ext <FILE-EXT...> Specify additional evtx file extensions (ex: evtx_data)
-t, --threads <NUMBER> Number of threads (default: optimal number for performance)
Input:
-d, --directory <DIR> Directory of multiple .evtx files
-f, --file <FILE> File path to one .evtx file
-l, --live-analysis Analyze the local C:WindowsSystem32winevtLogs folder
Filtering:
-a, --and-logic Search keywords with AND logic (default: OR)
-F, --filter <FILTER...> Filter by specific field(s)
-i, --ignore-case Case-insensitive keyword search
-k, --keyword <KEYWORD...> Search by keyword(s)
-r, --regex <REGEX> Search by regular expression
--timeline-offset <OFFSET> Scan recent events based on an offset (ex: 1y, 3M, 30d, 24h, 30m)
Output:
-J, --JSON-output Save the search results in JSON format (ex: -J -o results.json)
-L, --JSONL-output Save the search results in JSONL format (ex: -L -o results.jsonl)
-M, --multiline Output event field information in multiple rows for CSV output
-o, --output <FILE> Save the search results in CSV format (ex: search.csv)
Time Format:
--European-time Output timestamp in European time format (ex: 22-02-2022 22:00:00.123 +02:00)
--ISO-8601 Output timestamp in ISO-8601 format (ex: 2022-02-22T10:10:10.1234567Z) (Always UTC)
--RFC-2822 Output timestamp in RFC 2822 format (ex: Fri, 22 Feb 2022 22:00:00 -0600)
--RFC-3339 Output timestamp in RFC 3339 format (ex: 2022-02-22 22:00:00.123456-06:00)
--US-military-time Output timestamp in US military time format (ex: 02-22-2022 22:00:00.123 -06:00)
--US-time Output timestamp in US time format (ex: 02-22-2022 10:00:00.123 PM -06:00)
-U, --UTC Output time in UTC format (default: local time)
search
../hayabusa-sample-evtx
nach dem Schlüsselwort mimikatz
: