Hayabusa는 일본의 Yamato Security 그룹에서 만든 Windows 이벤트 로그 빠른 포렌식 타임라인 생성기이자 위협 사냥 도구 입니다. 하야부사(Hayabusa)는 일본어로 "송골매"를 의미하며 송골매는 세계에서 가장 빠른 동물이며 사냥 능력이 뛰어나고 훈련 가능성이 높은 동물로 선택되었습니다. Rust로 작성되었으며 최대한 빠른 속도를 위해 멀티스레딩을 지원합니다. 우리는 시그마 규칙을 하야부사 규칙 형식으로 변환하는 도구를 제공했습니다. Sigma 호환 Hayabusa 탐지 규칙은 가능한 한 쉽게 사용자 정의하고 확장할 수 있도록 YML로 작성되었습니다. Hayabusa는 오프라인 분석을 위해 단일 또는 다중 시스템에서 로그를 수집하여 실시간 분석을 위해 단일 실행 시스템에서 실행하거나 전사적 위협 사냥 및 사고 대응을 위해 Velociraptor와 함께 Hayabusa 아티팩트를 실행하여 실행할 수 있습니다. 출력은 LibreOffice, Timeline Explorer, Elastic Stack, Timesketch 등에서 쉽게 분석할 수 있도록 단일 CSV 타임라인으로 통합됩니다.
evtx
상자의 포크가 더욱 유지 관리되었습니다.-T
옵션)-H
옵션)-M
여러 줄 출력)computer-metrics
명령computer-metrics
명령 예computer-metrics
스크린샷eid-metrics
명령eid-metrics
명령 예eid-metrics
명령 구성 파일eid-metrics
스크린샷logon-summary
명령logon-summary
명령 예logon-summary
스크린샷pivot-keywords-list
명령pivot-keywords-list
명령 예pivot-keywords-list
구성 파일search
명령search
명령 예search
명령 구성 파일csv-timeline
명령csv-timeline
명령 예csv-timeline
명령 구성 파일json-timeline
명령json-timeline
명령 예시 및 구성 파일level-tuning
명령level-tuning
명령 예level-tuning
구성 파일list-profiles
명령set-default-profile
명령set-default-profile
명령 예update-rules
명령update-rules
명령 예minimal
프로필 출력standard
프로필 출력verbose
프로필 출력all-field-info
프로파일 출력all-field-info-verbose
프로필 출력super-verbose
프로필 출력timesketch-minimal
프로필 출력timesketch-verbose
프로필 출력하야부사는 현재 4000개 이상의 시그마 규칙과 170개 이상의 하야부사 내장 탐지 규칙을 보유하고 있으며 더 많은 규칙이 정기적으로 추가되고 있습니다. Velociraptor의 Hayabusa 아티팩트를 사용하면 전사적 사전 예방적 위협 사냥은 물론 DFIR(Digital Forensics and Incident Response)에도 무료로 사용할 수 있습니다. 이 두 가지 오픈 소스 도구를 결합하면 환경에 SIEM 설정이 없을 때 기본적으로 SIEM을 소급하여 재현할 수 있습니다. 여기에서 Eric Capuano의 Velociraptor 연습을 시청하면 이 작업을 수행하는 방법을 배울 수 있습니다.
Windows 이벤트 로그는 1) 분석하기 어려운 데이터 형식이고 2) 대부분의 데이터가 노이즈이고 조사에 유용하지 않기 때문에 Windows 이벤트 로그 분석은 전통적으로 매우 길고 지루한 프로세스였습니다. Hayabusa의 목표는 유용한 데이터만 추출하여 전문 교육을 받은 분석가뿐만 아니라 모든 Windows 시스템 관리자가 사용할 수 있는 읽기 쉬운 형식으로 간결하게 표시하는 것입니다. Hayabusa는 분석가가 기존 Windows 이벤트 로그 분석에 비해 20%의 시간에 80%의 작업을 완료할 수 있기를 바라고 있습니다.
-T
옵션) -H
옵션) -M
여러 줄 출력) 여기에서 Excel 및 타임라인 탐색기에서 CSV 타임라인을 분석하는 방법을 알아볼 수 있습니다.
여기에서 CSV 파일을 Elastic Stack으로 가져오는 방법을 알아볼 수 있습니다.
여기에서 CSV 파일을 Timesketch로 가져오는 방법을 알아볼 수 있습니다.
여기에서 jq
사용하여 JSON 형식의 결과를 분석하는 방법을 알아볼 수 있습니다.
|equalsfield
및 |endswithfield
와 같은 개수 규칙과 새로운 집계자도 지원합니다.0xc0000234
-> ACCOUNT LOCKED
.)컴파일된 바이너리가 포함된 Hayabusa의 최신 안정 버전을 다운로드하거나 릴리스 페이지에서 소스 코드를 컴파일하십시오.
우리는 다음 아키텍처에 대한 바이너리를 제공합니다.
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
)어떤 이유로 Linux ARM MUSL 바이너리가 제대로 실행되지 않으므로 해당 바이너리를 제공하지 않습니다. 저희가 통제할 수 없는 부분이라 추후에 수정되면 제공해드릴 예정입니다.
v2.18.0부터 단일 파일에 제공되는 XOR 인코딩 규칙과 단일 파일로 결합된 모든 구성 파일(hayabusa-encoded-rules 저장소에서 호스팅됨)을 사용하는 특수 Windows 패키지를 제공합니다. 이름에 live-response
포함된 zip 패키지를 다운로드하기만 하면 됩니다. zip 파일에는 Hayabusa 바이너리, XOR 인코딩 규칙 파일 및 구성 파일의 세 가지 파일만 포함됩니다. 이러한 실시간 응답 패키지의 목적은 클라이언트 엔드포인트에서 Hayabusa를 실행할 때 Windows Defender와 같은 바이러스 백신 스캐너가 .yml
규칙 파일에 대해 오탐지를 제공하지 않도록 하기 위한 것입니다. 또한 USN 저널과 같은 포렌식 아티팩트를 덮어쓰지 않도록 시스템에 기록되는 파일의 양을 최소화하려고 합니다.
다음 명령을 사용하여 저장소를 git clone
하고 소스 코드에서 바이너리를 컴파일할 수 있습니다.
경고: 저장소의 메인 브랜치는 개발 목적이므로 아직 공식적으로 출시되지 않은 새로운 기능에 액세스할 수 있습니다. 그러나 버그가 있을 수 있으므로 불안정하다고 생각하십시오.
git clone https://github.com/Yamato-Security/hayabusa.git --recursive
참고: --recursive 옵션을 잊어버리면 git 하위 모듈로 관리되는
rules
폴더가 복제되지 않습니다.
git pull --recurse-submodules
사용하거나 다음 명령을 사용하여 rules
폴더를 동기화하고 최신 Hayabusa 규칙을 얻을 수 있습니다.
hayabusa.exe update-rules
업데이트가 실패하면 rules
폴더의 이름을 바꾸고 다시 시도해야 할 수도 있습니다.
주의: 업데이트 시
rules
폴더의 규칙 및 구성 파일은 hayabusa-rules 저장소의 최신 규칙 및 구성 파일로 대체됩니다. 기존 파일에 대한 모든 변경 사항은 덮어쓰게 되므로 업데이트하기 전에 편집하는 모든 파일을 백업해 두는 것이 좋습니다.level-tuning
사용하여 레벨 조정을 수행하는 경우 업데이트할 때마다 규칙 파일을 다시 조정하십시오.rules
폴더 내에 새 규칙을 추가하면 업데이트 시 해당 규칙을 덮어쓰거나 삭제 하지 않습니다 .
Rust가 설치되어 있으면 다음 명령을 사용하여 소스에서 컴파일할 수 있습니다.
참고: 컴파일하려면 일반적으로 최신 버전의 Rust가 필요합니다.
cargo build --release
메인 브랜치에서 불안정한 최신 버전을 다운로드하거나 릴리스 페이지에서 최신 안정 버전을 다운로드할 수 있습니다.
정기적으로 Rust를 업데이트하십시오:
rustup update stable
컴파일된 바이너리는 ./target/release
폴더에 출력됩니다.
컴파일하기 전에 최신 Rust 크레이트로 업데이트할 수 있습니다:
cargo update
업데이트 후 문제가 발생하면 알려주시기 바랍니다.
다음을 사용하여 64비트 Windows 시스템에서 32비트 바이너리를 만들 수 있습니다.
rustup install stable-i686-pc-windows-msvc
rustup target add i686-pc-windows-msvc
rustup run stable-i686-pc-windows-msvc cargo build --release
경고: 새로운 안정 버전의 Rust가 나올 때마다 반드시
rustup install stable-i686-pc-windows-msvc
실행하세요.rustup update stable
크로스 컴파일을 위해 컴파일러를 업데이트하지 않고 빌드 오류가 발생할 수 있기 때문입니다.
openssl에 대한 컴파일 오류가 발생하면 Homebrew를 설치한 후 다음 패키지를 설치해야 합니다.
brew install pkg-config
brew install openssl
openssl에 대한 컴파일 오류가 발생하면 다음 패키지를 설치해야 합니다.
Ubuntu 기반 배포판:
sudo apt install libssl-dev
Fedora 기반 배포판:
sudo yum install openssl-devel
Linux OS에서는 먼저 대상을 설치합니다.
rustup install stable-x86_64-unknown-linux-musl
rustup target add x86_64-unknown-linux-musl
다음으로 컴파일:
cargo build --release --target=x86_64-unknown-linux-musl
경고: 새로운 안정 버전의 Rust가 나올 때마다 반드시
rustup install stable-x86_64-unknown-linux-musl
실행하세요.rustup update stable
크로스 컴파일을 위해 컴파일러를 업데이트하지 않고 빌드 오류가 발생할 수 있기 때문입니다.
MUSL 바이너리는 ./target/x86_64-unknown-linux-musl/release/
디렉터리에 생성됩니다. MUSL 바이너리는 GNU 바이너리보다 약 15% 느리지만 다양한 Linux 버전 및 배포판에 걸쳐 이식성이 더 뛰어납니다.
감지 서명에 mimikatz
및 의심스러운 PowerShell 명령과 같은 키워드가 있으므로 hayabusa를 실행하려고 할 때 또는 .yml
규칙을 다운로드할 때 안티 바이러스 또는 EDR 제품으로부터 경고를 받을 수 있습니다. 이는 거짓 긍정이므로 하야부사가 실행될 수 있도록 보안 제품에서 제외를 구성해야 합니다. 악성 코드나 공급망 공격이 걱정된다면 하야부사 소스 코드를 확인하고 바이너리를 직접 컴파일하시기 바랍니다.
특히 Windows Defender의 실시간 보호로 인해 재부팅 후 처음 실행 시 런타임이 느려질 수 있습니다. 실시간 보호를 일시적으로 끄거나 하야부사 런타임 디렉터리에 제외 항목을 추가하면 이를 방지할 수 있습니다. (이 작업을 수행하기 전에 보안 위험을 고려하십시오.)
명령/PowerShell 프롬프트 또는 Windows 터미널에서 적절한 32비트 또는 64비트 Windows 바이너리를 실행하면 됩니다.
Windows에서 내장된 명령 또는 PowerShell 프롬프트를 사용할 때 파일 또는 디렉터리 경로에 공백이 있으면 하야부사가 .evtx 파일을 로드할 수 없다는 오류가 나타날 수 있습니다. .evtx 파일을 올바르게 로드하려면 다음을 수행해야 합니다.
먼저 바이너리를 실행 가능하게 만들어야 합니다.
chmod +x ./hayabusa
그런 다음 Hayabusa 루트 디렉터리에서 실행합니다.
./hayabusa
Terminal 또는 iTerm2에서 먼저 바이너리를 실행 가능하게 만들어야 합니다.
chmod +x ./hayabusa
그런 다음 Hayabusa 루트 디렉터리에서 실행해 보세요.
./hayabusa
최신 버전의 macOS에서 실행하려고 하면 다음 보안 오류가 나타날 수 있습니다.
"취소"를 클릭한 후 시스템 환경설정에서 "보안 및 개인정보 보호"를 열고 일반 탭에서 "항상 허용"을 클릭하세요.
그 후에 다시 실행해 보세요.
./hayabusa
아래와 같은 경고창이 나오므로 "열기"를 눌러주세요.
이제 하야부사를 실행할 수 있습니다.
computer-metrics
: 컴퓨터 이름을 기준으로 이벤트 수를 인쇄합니다.eid-metrics
: 이벤트 ID를 기준으로 이벤트 수와 비율을 인쇄합니다.logon-summary
: 로그온 이벤트 요약을 인쇄합니다.pivot-keywords-list
: 피벗할 의심스러운 키워드 목록을 인쇄합니다.search
: 키워드 또는 정규식으로 모든 이벤트를 검색합니다. csv-timeline
: 타임라인을 CSV 형식으로 저장합니다.json-timeline
: 타임라인을 JSON/JSONL 형식으로 저장합니다.level-tuning
: 경고 level
을 맞춤 조정합니다.list-profiles
: 사용 가능한 출력 프로필을 나열합니다.set-default-profile
: 기본 프로필을 변경합니다.update-rules
: 규칙을 hayabusa-rules GitHub 저장소의 최신 규칙과 동기화합니다. help
: 이 메시지 또는 주어진 하위 명령의 도움말을 인쇄합니다.list-contributors
: 기여자 목록을 인쇄합니다.computer-metrics
명령 computer-metrics
명령어를 사용하면 <System><Computer>
필드에 정의된 각 컴퓨터에 따른 이벤트 수를 확인할 수 있습니다. 이벤트를 원래 컴퓨터로 분리하기 위해 Computer
필드에만 완전히 의존할 수는 없다는 점에 유의하십시오. Windows 11에서는 이벤트 로그에 저장할 때 완전히 다른 Computer
이름을 사용하는 경우가 있습니다. 또한 Windows 10에서는 Computer
이름을 모두 소문자로 기록하는 경우도 있습니다. 이 명령은 탐지 규칙을 사용하지 않으므로 모든 이벤트를 분석합니다. 이는 가장 많은 로그가 있는 컴퓨터를 빠르게 확인하기 위해 실행하는 좋은 명령입니다. 이 정보를 사용하면 타임라인을 생성할 때 --include-computer
또는 --exclude-computer
옵션을 사용하여 컴퓨터에 따라 여러 타임라인을 생성하거나 특정 컴퓨터의 이벤트를 제외함으로써 타임라인 생성을 더욱 효율적으로 만들 수 있습니다.
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
명령 예hayabusa.exe computer-metrics -d ../logs
hayabusa.exe computer-metrics -d ../logs -o computer-metrics.csv
computer-metrics
스크린샷 eid-metrics
명령 eid-metrics
명령을 사용하면 채널별로 구분된 이벤트 ID( <System><EventID>
필드)의 총 수와 비율을 인쇄할 수 있습니다. 이 명령은 탐지 규칙을 사용하지 않으므로 모든 이벤트를 검사합니다.
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
명령 예hayabusa.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
명령 구성 파일 채널, 이벤트 ID 및 이벤트 제목은 rules/config/channel_eid_info.txt
에 정의되어 있습니다.
예:
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
스크린샷 logon-summary
명령 logon-summary
명령을 사용하면 로그온 정보 요약(로그온 사용자 이름, 로그온 성공 및 실패 횟수)을 출력할 수 있습니다. -f
사용하여 하나의 evtx 파일에 대한 로그온 정보를 표시하거나 -d
옵션을 사용하여 여러 evtx 파일에 대한 로그온 정보를 표시할 수 있습니다.
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
스크린샷 pivot-keywords-list
명령 pivot-keywords-list
명령을 사용하면 고유한 피벗 키워드 목록을 생성하여 비정상적인 사용자, 호스트 이름, 프로세스 등을 신속하게 식별하고 이벤트를 상호 연관시킬 수 있습니다.
중요: 기본적으로 hayabusa는 모든 이벤트(정보용 이상)의 결과를 반환하므로 pivot-keywords-list
명령을 -m, --min-level
옵션과 결합하는 것이 좋습니다. 예를 들어 -m critical
사용하여 critical
경고에서만 키워드를 생성하는 것으로 시작한 다음 -m high
, -m medium
등을 계속 사용합니다. 결과에는 많은 일반 이벤트와 일치하는 공통 키워드가 있을 가능성이 높습니다. 따라서 수동으로 결과를 확인하고 단일 파일에 고유 키워드 목록을 생성한 후 grep -f keywords.txt timeline.csv
와 같은 명령을 사용하여 의심스러운 활동에 대한 제한된 타임라인을 생성할 수 있습니다.
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
등에 저장됩니다...): hayabusa.exe pivot-keywords-list -d ../logs -m critical -o keywords`
pivot-keywords-list
구성 파일 ./rules/config/pivot_keywords.txt
편집하여 검색하려는 키워드를 사용자 정의할 수 있습니다. 이 페이지는 기본 설정입니다.
형식은 KeywordName.FieldName
.필드 이름입니다. 예를 들어, Users
목록을 생성할 때 hayabusa는 SubjectUserName
, TargetUserName
및 User
필드의 모든 값을 나열합니다.
search
명령 search
명령을 사용하면 모든 이벤트에 대한 키워드 검색이 가능합니다. (하야부사 탐지 결과뿐만 아니라) 이는 하야부사에서 탐지하지 못한 사건에 증거가 있는지 판단하는 데 유용합니다.
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
명령 예mimikatz
키워드에 대해 ../hayabusa-sample-evtx
디렉토리를 검색하십시오.