Hayabusa عبارة عن منشئ مخطط زمني سريع للطب الشرعي لسجل أحداث Windows وأداة لصيد التهديدات تم إنشاؤها بواسطة مجموعة Yamato Security في اليابان. هايابوسا تعني "الصقر الشاهين" باللغة اليابانية وقد تم اختياره لأن صقور الشاهين هي أسرع حيوان في العالم، فهي رائعة في الصيد وقابلة للتدريب بشكل كبير. إنه مكتوب بلغة Rust ويدعم الخيوط المتعددة ليكون سريعًا قدر الإمكان. لقد قدمنا أداة لتحويل قواعد سيجما إلى تنسيق قاعدة Hayabusa. تمت كتابة قواعد اكتشاف Hayabusa المتوافقة مع Sigma بلغة YML لتكون قابلة للتخصيص والتوسيع بسهولة قدر الإمكان. يمكن تشغيل Hayabusa إما على أنظمة تشغيل واحدة للتحليل المباشر، أو عن طريق جمع السجلات من أنظمة فردية أو متعددة للتحليل دون الاتصال بالإنترنت، أو عن طريق تشغيل أداة Hayabusa باستخدام Velociraptor لمطاردة التهديدات والاستجابة للحوادث على مستوى المؤسسة. سيتم دمج المخرجات في مخطط زمني واحد بتنسيق CSV لسهولة التحليل في LibreOffice وTimeline Explorer وElastic Stack وTimesketch وما إلى ذلك...
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
لدى Hayabusa حاليًا أكثر من 4000 قاعدة Sigma وأكثر من 170 قاعدة كشف مدمجة في Hayabusa مع إضافة المزيد من القواعد بانتظام. يمكن استخدامه لصيد التهديدات الاستباقية على مستوى المؤسسة بالإضافة إلى DFIR (الطب الشرعي الرقمي والاستجابة للحوادث) مجانًا مع قطعة Hayabusa الأثرية من Velociraptor. من خلال الجمع بين هاتين الأداتين مفتوحتي المصدر، يمكنك بشكل أساسي إعادة إنتاج SIEM بأثر رجعي عندما لا يكون هناك إعداد SIEM في البيئة. يمكنك التعرف على كيفية القيام بذلك من خلال مشاهدة إرشادات Eric Capuano's Velociraptor هنا.
لقد كان تحليل سجل أحداث Windows تقليديًا عملية طويلة ومملة جدًا لأن سجلات أحداث Windows هي 1) بتنسيق بيانات يصعب تحليله و2) غالبية البيانات عبارة عن ضوضاء وغير مفيدة للتحقيقات. هدف Hayabusa هو استخراج البيانات المفيدة فقط وتقديمها بتنسيق موجز وسهل القراءة قدر الإمكان بحيث لا يمكن استخدامه فقط من قبل المحللين المدربين بشكل احترافي ولكن أي مسؤول نظام Windows. تأمل Hayabusa في السماح للمحللين بإنجاز 80% من عملهم في 20% من الوقت مقارنةً بتحليل سجل أحداث Windows التقليدي.
-T
) -H
) -M
) يمكنك معرفة كيفية تحليل الجداول الزمنية بتنسيق CSV في Excel وTimeline Explorer هنا.
يمكنك معرفة كيفية استيراد ملفات CSV إلى Elastic Stack هنا.
يمكنك معرفة كيفية استيراد ملفات CSV إلى Timesketch هنا.
يمكنك معرفة كيفية تحليل النتائج بتنسيق JSON باستخدام jq
هنا.
|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 بشكل صحيح، لذلك لا نوفر هذا الثنائي. إنه خارج عن سيطرتنا، لذلك نخطط لتوفيره في المستقبل عندما يتم إصلاحه.
اعتبارًا من الإصدار 2.18.0، نقدم حزم Windows خاصة تستخدم قواعد XOR المشفرة المتوفرة في ملف واحد بالإضافة إلى جميع ملفات التكوين المدمجة في ملف واحد (مستضاف في مستودع القواعد المشفرة hayabusa). ما عليك سوى تنزيل الحزم المضغوطة مع live-response
في الاسم. تتضمن الملفات المضغوطة ثلاثة ملفات فقط: ملف قواعد Hayabusa الثنائي وملف القواعد المشفر بـ XOR وملف التكوين. الغرض من حزم الاستجابة المباشرة هذه هو أنه عند تشغيل Hayabusa على نقاط نهاية العميل، نريد التأكد من أن برامج مكافحة الفيروسات مثل Windows Defender لا تعطي نتائج إيجابية خاطئة على ملفات قواعد .yml
. ونريد أيضًا تقليل كمية الملفات التي تتم كتابتها إلى النظام حتى لا تتم الكتابة فوق عناصر الطب الشرعي مثل USN Journal.
يمكنك git clone
المستودع باستخدام الأمر التالي وتجميع الملف الثنائي من الكود المصدري:
تحذير: الفرع الرئيسي للمستودع مخصص لأغراض التطوير، لذا قد تتمكن من الوصول إلى الميزات الجديدة التي لم يتم إصدارها رسميًا بعد، ومع ذلك، قد تكون هناك أخطاء، لذا اعتبرها غير مستقرة.
git clone https://github.com/Yamato-Security/hayabusa.git --recursive
ملاحظة: إذا نسيت استخدام خيار --recursive، فلن يتم استنساخ مجلد
rules
، الذي تتم إدارته كوحدة فرعية لـ git.
يمكنك مزامنة مجلد rules
والحصول على أحدث قواعد Hayabusa باستخدام git pull --recurse-submodules
أو استخدام الأمر التالي:
hayabusa.exe update-rules
إذا فشل التحديث، فقد تحتاج إلى إعادة تسمية مجلد rules
والمحاولة مرة أخرى.
تنبيه: عند التحديث، يتم استبدال القواعد وملفات التكوين الموجودة في مجلد
rules
بأحدث القواعد وملفات التكوين الموجودة في مستودع قواعد hayabusa. سيتم الكتابة فوق أي تغييرات تجريها على الملفات الموجودة، لذا نوصي بعمل نسخ احتياطية لأي ملفات تقوم بتحريرها قبل التحديث. إذا كنت تقوم بضبط المستوى باستخدامlevel-tuning
، فيرجى إعادة ضبط ملفات القاعدة الخاصة بك بعد كل تحديث. إذا قمت بإضافة قواعد جديدة داخل مجلدrules
، فلن تتم الكتابة فوقها أو حذفها عند التحديث.
إذا كان لديك Rust مثبتًا، فيمكنك الترجمة من المصدر باستخدام الأمر التالي:
ملحوظة: للتجميع، تحتاج عادةً إلى أحدث إصدار من Rust.
cargo build --release
يمكنك تنزيل أحدث إصدار غير مستقر من الفرع الرئيسي أو أحدث إصدار ثابت من صفحة الإصدارات.
تأكد من تحديث Rust بشكل دوري باستخدام:
rustup update stable
سيتم إخراج الملف الثنائي المترجم في المجلد ./target/release
.
يمكنك التحديث إلى أحدث صناديق Rust قبل التجميع:
cargo update
يرجى إعلامنا إذا تعطل أي شيء بعد التحديث.
يمكنك إنشاء ثنائيات 32 بت على أنظمة Windows 64 بت بما يلي:
rustup install stable-i686-pc-windows-msvc
rustup target add i686-pc-windows-msvc
rustup run stable-i686-pc-windows-msvc cargo build --release
تحذير: تأكد من تشغيل
rustup install stable-i686-pc-windows-msvc
عندما يكون هناك إصدار ثابت جديد من Rust لأنrustup update stable
لن يقوم بتحديث المترجم للتجميع المتقاطع وقد تتلقى أخطاء في البناء.
إذا تلقيت أخطاء في الترجمة حول openssl، فستحتاج إلى تثبيت Homebrew ثم تثبيت الحزم التالية:
brew install pkg-config
brew install openssl
إذا تلقيت أخطاء في الترجمة حول opensl، فستحتاج إلى تثبيت الحزمة التالية.
التوزيعات المبنية على أوبونتو:
sudo apt install libssl-dev
التوزيعات المعتمدة على فيدورا:
sudo yum install openssl-devel
على نظام التشغيل Linux، قم أولاً بتثبيت الهدف.
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
تحذير: تأكد من تشغيل
rustup install stable-x86_64-unknown-linux-musl
عندما يكون هناك إصدار مستقر جديد من Rust لأنrustup update stable
لن يقوم بتحديث المترجم للتجميع المتقاطع وقد تتلقى أخطاء في البناء.
سيتم إنشاء ثنائي MUSL في الدليل ./target/x86_64-unknown-linux-musl/release/
. تعد ثنائيات MUSL أبطأ بحوالي 15% من ثنائيات GNU، ومع ذلك، فهي أكثر قابلية للحمل عبر إصدارات وتوزيعات مختلفة من نظام التشغيل Linux.
قد تتلقى تنبيهًا من منتجات مكافحة الفيروسات أو EDR عند محاولة تشغيل hayabusa أو حتى عند تنزيل قواعد .yml
حيث ستكون هناك كلمات رئيسية مثل mimikatz
وأوامر PowerShell المشبوهة في توقيع الكشف. هذه نتائج إيجابية خاطئة، لذا ستحتاج إلى تكوين الاستثناءات في منتجات الأمان الخاصة بك للسماح بتشغيل hayabusa. إذا كنت قلقًا بشأن البرامج الضارة أو هجمات سلسلة التوريد، فيرجى التحقق من كود مصدر hayabusa وتجميع الثنائيات بنفسك.
قد تواجه وقت تشغيل بطيئًا خاصة عند التشغيل الأول بعد إعادة التشغيل بسبب الحماية في الوقت الحقيقي التي يوفرها Windows Defender. يمكنك تجنب ذلك عن طريق إيقاف تشغيل الحماية في الوقت الفعلي مؤقتًا أو إضافة استثناء إلى دليل وقت تشغيل hayabusa. (يُرجى أخذ المخاطر الأمنية بعين الاعتبار قبل القيام بذلك.)
في موجه الأوامر/PowerShell أو Windows Terminal، ما عليك سوى تشغيل الإصدار الثنائي المناسب من Windows 32 بت أو 64 بت.
عند استخدام الأمر المدمج أو موجه PowerShell في نظام التشغيل Windows، قد تتلقى خطأ مفاده أن Hayabusa لم يتمكن من تحميل أي ملفات .evtx إذا كانت هناك مساحة في مسار الملف أو الدليل. لتحميل ملفات .evtx بشكل صحيح، تأكد من القيام بما يلي:
تحتاج أولاً إلى جعل الملف الثنائي قابلاً للتنفيذ.
chmod +x ./hayabusa
ثم قم بتشغيله من الدليل الجذر Hayabusa:
./hayabusa
من Terminal أو iTerm2، تحتاج أولاً إلى جعل الملف الثنائي قابلاً للتنفيذ.
chmod +x ./hayabusa
ثم حاول تشغيله من الدليل الجذر لـ Hayabusa:
./hayabusa
في الإصدار الأحدث من macOS، قد تتلقى الخطأ الأمني التالي عند محاولة تشغيله:
انقر فوق "إلغاء" ثم من تفضيلات النظام، افتح "الأمان والخصوصية" ومن علامة التبويب "عام"، انقر فوق "السماح على أي حال".
بعد ذلك، حاول تشغيله مرة أخرى.
./hayabusa
سيظهر التحذير التالي، لذا يرجى النقر فوق "فتح".
يجب أن تكون الآن قادرًا على تشغيل hayabusa.
computer-metrics
: طباعة عدد الأحداث بناءً على أسماء أجهزة الكمبيوتر.eid-metrics
: اطبع عدد ونسبة الأحداث بناءً على معرف الحدث.logon-summary
: طباعة ملخص لأحداث تسجيل الدخول.pivot-keywords-list
: اطبع قائمة بالكلمات الرئيسية المشبوهة للتركيز عليها.search
: ابحث في جميع الأحداث عن طريق الكلمات الرئيسية أو التعبيرات العادية csv-timeline
: احفظ الجدول الزمني بتنسيق CSV.json-timeline
: احفظ الجدول الزمني بتنسيق JSON/JSONL.level-tuning
: ضبط level
التنبيهات بشكل مخصص.list-profiles
: قم بإدراج ملفات تعريف الإخراج المتاحة.set-default-profile
: تغيير ملف التعريف الافتراضي.update-rules
: قم بمزامنة القواعد مع أحدث القواعد في مستودع GitHub لقواعد hayabusa. help
: اطبع هذه الرسالة أو مساعدة الأمر (الأوامر) الفرعية المحددةlist-contributors
: اطبع قائمة المساهمينcomputer-metrics
يمكنك استخدام أمر computer-metrics
للتحقق من عدد الأحداث الموجودة وفقًا لكل كمبيوتر محدد في الحقل
. انتبه إلى أنه لا يمكنك الاعتماد بشكل كامل على مجال Computer
لفصل الأحداث حسب الكمبيوتر الأصلي الخاص بها. سيستخدم Windows 11 أحيانًا أسماء Computer
مختلفة تمامًا عند الحفظ في سجلات الأحداث. أيضًا، يقوم Windows 10 أحيانًا بتسجيل اسم Computer
بأحرف صغيرة. لا يستخدم هذا الأمر أي قواعد كشف، لذا سيتم تحليل جميع الأحداث. يعد هذا أمرًا جيدًا للتشغيل لمعرفة أجهزة الكمبيوتر التي تحتوي على أكبر عدد من السجلات بسرعة. باستخدام هذه المعلومات، يمكنك بعد ذلك استخدام خيارات --include-computer
أو --exclude-computer
عند إنشاء المخططات الزمنية الخاصة بك لجعل إنشاء المخطط الزمني الخاص بك أكثر كفاءة عن طريق إنشاء مخططات زمنية متعددة وفقًا لجهاز الكمبيوتر أو استبعاد الأحداث من أجهزة كمبيوتر معينة.
Usage: computer-metrics [OPTIONS]
Input:
-d, --directory Directory of multiple .evtx files
-f, --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 Specify custom rule config directory (default: ./rules/config)
--target-file-ext Specify additional evtx file extensions (ex: evtx_data)
-t, --threads Number of threads (default: optimal number for performance)
Filtering:
--timeline-offset Scan recent events based on an offset (ex: 1y, 3M, 30d, 24h, 30m)
Output:
-o, --output 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
لطباعة العدد الإجمالي والنسبة المئوية لمعرفات الأحداث (حقل
) مفصولة حسب القنوات. لا يستخدم هذا الأمر أي قواعد كشف، لذا سوف يقوم بفحص جميع الأحداث.
Usage: eid-metrics [OPTIONS]
Input:
-d, --directory Directory of multiple .evtx files
-f, --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 Specify custom rule config directory (default: ./rules/config)
--target-file-ext Specify additional evtx file extensions (ex: evtx_data)
-t, --threads Number of threads (default: optimal number for performance)
Filtering:
--exclude-computer Do not scan specified computer names (ex: ComputerA) (ex: ComputerA,ComputerB)
--include-computer Scan only specified computer names (ex: ComputerA) (ex: ComputerA,ComputerB)
--timeline-offset Scan recent events based on an offset (ex: 1y, 3M, 30d, 24h, 30m)
Output:
-o, --output 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
يتم تعريف القناة ومعرفات الأحداث وعناوين الأحداث في 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
لإخراج ملخص معلومات تسجيل الدخول (أسماء مستخدمي تسجيل الدخول وعدد تسجيلات الدخول الناجحة والفاشلة). يمكنك عرض معلومات تسجيل الدخول لملف evtx واحد باستخدام -f
أو ملفات evtx متعددة باستخدام الخيار -d
.
Usage: logon-summary [OPTIONS]
Input:
-d, --directory Directory of multiple .evtx files
-f, --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 Specify custom rule config directory (default: ./rules/config)
--target-file-ext Specify additional evtx file extensions (ex: evtx_data)
-t, --threads Number of threads (default: optimal number for performance)
Filtering:
--exclude-computer Do not scan specified computer names (ex: ComputerA) (ex: ComputerA,ComputerB)
--include-computer Scan only specified computer names (ex: ComputerA) (ex: ComputerA,ComputerB)
--timeline-end End time of the event logs to load (ex: "2022-02-22 23:59:59 +09:00")
--timeline-offset Scan recent events based on an offset (ex: 1y, 3M, 30d, 24h, 30m)
--timeline-start Start time of the event logs to load (ex: "2020-02-22 00:00:00 +09:00")
Output:
-o, --output 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
. على سبيل المثال، ابدأ بإنشاء كلمات رئيسية فقط من التنبيهات critical
باستخدام -m critical
ثم تابع باستخدام -m high
و -m medium
وما إلى ذلك... من المرجح أن تكون هناك كلمات رئيسية شائعة في نتائجك والتي ستتطابق في العديد من الأحداث العادية، لذا، بعد التحقق يدويًا من النتائج وإنشاء قائمة بالكلمات الرئيسية الفريدة في ملف واحد، يمكنك بعد ذلك إنشاء مخطط زمني مضيق للأنشطة المشبوهة باستخدام أمر مثل grep -f keywords.txt timeline.csv
.
Usage: pivot-keywords-list [OPTIONS]
Input:
-d, --directory Directory of multiple .evtx files
-f, --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 Specify custom rule config directory (default: ./rules/config)
--target-file-ext Specify additional evtx file extensions (ex: evtx_data)
-t, --threads 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 Only load rules with a specific level (informational, low, medium, high, critical)
--exclude-computer Do not scan specified computer names (ex: ComputerA) (ex: ComputerA,ComputerB)
--exclude-eid Do not scan specific EIDs for faster speed (ex: 1) (ex: 1,4688)
--exclude-status Do not load rules according to status (ex: experimental) (ex: stable,test)
--exclude-tag Do not load rules with specific tags (ex: sysmon)
--include-computer Scan only specified computer names (ex: ComputerA) (ex: ComputerA,ComputerB)
--include-eid Scan only specified EIDs for faster speed (ex: 1) (ex: 1,4688)
--include-status Only load rules with specific status (ex: experimental) (ex: stable,test)
--include-tag Only load rules with specific tags (ex: attack.execution,attack.discovery)
-m, --min-level Minimum level for rules to load (default: informational)
--timeline-end End time of the event logs to load (ex: "2022-02-22 23:59:59 +09:00")
--timeline-offset Scan recent events based on an offset (ex: 1y, 3M, 30d, 24h, 30m)
--timeline-start Start time of the event logs to load (ex: "2020-02-22 00:00:00 +09:00")
Output:
-o, --output 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
بالبحث عن الكلمات الرئيسية في جميع الأحداث. (ليس فقط نتائج اكتشاف Hayabusa.) وهذا مفيد لتحديد ما إذا كان هناك أي دليل في الأحداث التي لم يتم اكتشافها بواسطة Hayabusa.
Usage: hayabusa.exe search <--keywords "" OR --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 Specify custom rule config directory (default: ./rules/config)
--target-file-ext Specify additional evtx file extensions (ex: evtx_data)
-t, --threads Number of threads (default: optimal number for performance)
Input:
-d, --directory Directory of multiple .evtx files
-f, --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 by specific field(s)
-i, --ignore-case Case-insensitive keyword search
-k, --keyword Search by keyword(s)
-r, --regex Search by regular expression
--timeline-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 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
عن الكلمة الأساسية mimikatz
: hayabusa.exe search -d ../hayabusa-sample-evtx -k "mimikatz"
ملاحظة: ستتطابق الكلمة الأساسية إذا تم العثور على
mimikatz
في أي مكان في البيانات. انها ليست تطابق تام.
../hayabusa-sample-evtx
عن الكلمات الرئيسية mimikatz
أو kali
: hayabusa.exe search -d ../hayabusa-sample-evtx -k "mimikatz" -k "kali"
../hayabusa-sample-evtx
عن الكلمة الأساسية mimikatz
وتجاهل حالة الأحرف: hayabusa.exe search -d ../hayabusa-sample-evtx -k "mimikatz" -i
../hayabusa-sample-evtx
عن عناوين IP باستخدام التعبيرات العادية: hayabusa.exe search -d ../hayabusa-sample-evtx -r "(?:[0-9]{1,3}.){3}[0-9]{1,3}"
../hayabusa-sample-evtx
واعرض جميع الأحداث التي يكون فيها حقل WorkstationName
kali
: hayabusa.exe search -d ../hayabusa-sample-evtx -r ".*" -F WorkstationName:"kali"
ملحوظة:
.*
هو التعبير العادي الذي يجب مطابقته في كل حدث.
search
./rules/config/channel_abbreviations.txt
: تعيينات أسماء القنوات ومختصراتها.
أصبح الآن لدى أوامر csv-timeline
و json-timeline
معالج فحص ممكّن افتراضيًا. يهدف هذا إلى مساعدة المستخدمين على اختيار قواعد الكشف التي يريدون تمكينها بسهولة وفقًا لاحتياجاتهم وتفضيلاتهم. تعتمد مجموعات قواعد الاكتشافات المراد تحميلها على القوائم الرسمية في مشروع Sigma. تم شرح التفاصيل في منشور المدونة هذا. يمكنك بسهولة إيقاف تشغيل المعالج واستخدام Hayabusa بطريقته التقليدية عن طريق إضافة خيار -w, --no-wizard
.
تعمل مجموعة القواعد core
على تمكين القواعد التي تتمتع بحالة test
أو stable
ومستوى high
أو critical
. هذه قواعد عالية الجودة وتتمتع بثقة عالية وملاءمة ويجب ألا تنتج الكثير من النتائج الإيجابية الخاطئة. حالة القاعدة هي test
أو stable
مما يعني أنه لم يتم الإبلاغ عن نتائج إيجابية كاذبة لأكثر من 6 أشهر. ستتطابق القواعد مع تقنيات المهاجم أو النشاط المشبوه العام أو السلوك الضار. إنه نفس استخدام الخيارات --exclude-status deprecated,unsupported,experimental --min-level high
.
تعمل مجموعة القواعد core+
على تمكين القواعد التي تتمتع بحالة test
أو stable
ومستوى medium
أو أعلى. غالبًا ما تحتاج القواعد medium
إلى ضبط إضافي حيث قد تتم مطابقة بعض التطبيقات أو سلوك المستخدم الشرعي أو البرامج النصية الخاصة بالمؤسسة. إنه نفس استخدام خيارات --exclude-status deprecated,unsupported,experimental --min-level medium
.
تتيح مجموعة القواعد core++
القواعد التي لها حالة experimental
أو test
أو stable
ومستوى medium
أو أعلى. هذه القواعد تنزف بشدة. ويتم التحقق من صحتها مقابل ملفات evtx الأساسية المتوفرة في مشروع SigmaHQ ومراجعتها من قبل العديد من مهندسي الكشف. بخلاف ذلك لم يتم اختبارها إلى حد كبير في البداية. استخدمها إذا كنت تريد أن تكون قادرًا على اكتشاف التهديدات في أقرب وقت ممكن على حساب إدارة عتبة أعلى من الإيجابيات الكاذبة. إنه نفس استخدام الخيارات --exclude-status deprecated,unsupported --min-level medium
.
تعمل مجموعة قواعد Emerging Threats (ET)
على تمكين القواعد التي تحتوي على علامة detection.emerging_threats
.emerging_threats . تستهدف هذه القواعد تهديدات محددة وهي مفيدة بشكل خاص للتهديدات الحالية التي لا يتوفر فيها الكثير من المعلومات حتى الآن. لا ينبغي أن تحتوي هذه القواعد على العديد من الإيجابيات الخاطئة، ولكنها ستنخفض أهميتها بمرور الوقت. عندما لا يتم تمكين هذه القواعد، يكون الأمر مماثلاً لاستخدام خيار --exclude-tag detection.emerging_threats
. عند تشغيل Hayabusa تقليديًا بدون المعالج، سيتم تضمين هذه القواعد افتراضيًا.
تعمل مجموعة قواعد Threat Hunting (TH)
على تمكين القواعد التي تحتوي على علامة detection.threat_hunting
. قد تكتشف هذه القواعد نشاطًا ضارًا غير معروف، ومع ذلك، عادةً ما يكون لها المزيد من النتائج الإيجابية الخاطئة. عندما لا يتم تمكين هذه القواعد، يكون الأمر مماثلاً لاستخدام خيار --exclude-tag detection.threat_hunting
. عند تشغيل Hayabusa تقليديًا بدون المعالج، سيتم تضمين هذه القواعد افتراضيًا.
بدءًا من إصدار Hayabusa v2.16.0، قمنا بتمكين عامل التصفية المستند إلى القناة عند تحميل ملفات .evtx
وقواعد .yml
. والغرض من ذلك هو جعل المسح فعالاً قدر الإمكان عن طريق تحميل ما هو ضروري فقط. على الرغم من أنه من الممكن أن يكون هناك عدة موفري خدمات في سجل أحداث واحد، إلا أنه ليس من الشائع وجود قنوات متعددة داخل ملف evtx واحد. (المرة الوحيدة التي رأينا فيها ذلك هي عندما قام شخص ما بدمج ملفين مختلفين من ملفات evtx معًا بشكل مصطنع لمشروع عينة evtx.) يمكننا استخدام هذا لصالحنا عن طريق التحقق أولاً من حقل Channel
في السجل الأول لكل ملف .evtx
محدد ليتم مسحها. نتحقق أيضًا من قواعد .yml
التي تستخدم القنوات المحددة في حقل Channel
الخاص بالقاعدة. باستخدام هاتين القائمتين، نقوم فقط بتحميل القواعد التي تستخدم القنوات الموجودة بالفعل داخل ملفات .evtx
.
لذلك، على سبيل المثال، إذا أراد المستخدم فحص Security.evtx
، فسيتم استخدام القواعد التي تحدد Channel: Security
فقط. لا فائدة من تحميل قواعد اكتشاف أخرى، على سبيل المثال القواعد التي تبحث فقط عن الأحداث في سجل Application
، وما إلى ذلك... لاحظ أن حقول القناة (على سبيل المثال: Channel: Security
) لم يتم تعريفها بشكل صريح داخل قواعد سيجما الأصلية. بالنسبة لقواعد Sigma، يتم تعريف حقول معرفات القناة والأحداث ضمنيًا باستخدام حقول service
category
ضمن logsource
. (على سبيل المثال: service: security
) عند تنظيم قواعد Sigma في مستودع قواعد hayabusa، نقوم بإلغاء تجريد حقل logsource
ونحدد بشكل صريح حقلي القناة ومعرف الحدث. نفسر كيف ولماذا نفعل هذا بتعمق هنا.
حاليًا، لا يوجد سوى قاعدتين للكشف لم يتم تعريف Channel
وتهدفان إلى فحص كافة ملفات .evtx
وهما ما يلي:
إذا كنت تريد استخدام هاتين القاعدتين وفحص جميع القواعد مقابل ملفات .evtx
المحملة، فسوف تحتاج إلى إضافة الخيار -A, --enable-all-rules
في أوامر csv-timeline
و json-timeline
. في معاييرنا المعيارية، عادةً ما توفر تصفية القواعد تحسينًا في السرعة بنسبة 20% إلى 10x اعتمادًا على الملفات التي يتم فحصها وبالطبع تستخدم ذاكرة أقل.
يتم استخدام تصفية القنوات أيضًا عند تحميل ملفات .evtx
. على سبيل المثال، إذا قمت بتحديد قاعدة تبحث عن الأحداث ذات قناة Security
، فلا فائدة من تحميل ملفات .evtx
التي ليست من سجل Security
. في معاييرنا، يوفر هذا ميزة سرعة تبلغ حوالي 10% مع عمليات الفحص العادية وما يصل إلى 60%+ زيادة في الأداء عند المسح باستخدام قاعدة واحدة. إذا كنت متأكدًا من استخدام قنوات متعددة داخل ملف .evtx
واحد، على سبيل المثال استخدم شخص ما أداة لدمج ملفات .evtx
متعددة معًا، فقم بتعطيل هذه التصفية باستخدام -a, --scan-all-evtx-files
الخيار في أوامر csv-timeline
و json-timeline
.
ملاحظة: تعمل تصفية القنوات فقط مع ملفات
.evtx
وستتلقى خطأ إذا حاولت تحميل سجلات الأحداث من ملف JSON باستخدام-J, --json-input
وكذلك تحديد-A
أو-a
.
csv-timeline
سيقوم الأمر csv-timeline
بإنشاء جدول زمني للأحداث بتنسيق CSV.
Usage: csv-timeline [OPTIONS]
Input:
-d, --directory Directory of multiple .evtx files
-f, --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)
-s, --sort-events Sort events before saving the file. (warning: this uses much more memory!)
-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)
-r, --rules Specify a custom rule directory or file (default: ./rules)
-c, --rules-config Specify custom rule config directory (default: ./rules/config)
--target-file-ext Specify additional evtx file extensions (ex: evtx_data)
-t, --threads 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 Only load rules with a specific level (informational, low, medium, high, critical)
--exclude-category Do not load rules with specified logsource categories (ex: process_creation,pipe_created)
--exclude-computer Do not scan specified computer names (ex: ComputerA) (ex: ComputerA,ComputerB)
--exclude-eid Do not scan specific EIDs for faster speed (ex: 1) (ex: 1,4688)
--exclude-status Do not load rules according to status (ex: experimental) (ex: stable,test)
--exclude-tag Do not load rules with specific tags (ex: sysmon)
--include-category Only load rules with specified logsource categories (ex: process_creation,pipe_created)
--include-computer Scan only specified computer names (ex: ComputerA) (ex: ComputerA,ComputerB)
--include-eid Scan only specified EIDs for faster speed (ex: 1) (ex: 1,4688)
--include-status Only load rules with specific status (ex: experimental) (ex: stable,test)
--include-tag Only load rules with specific tags (ex: attack.execution,attack.discovery)
-m, --min-level Minimum level for rules to load (default: informational)
-P, --proven-rules Scan with only proven rules for faster speed (./rules/config/proven_rules.txt)
--timeline-end End time of the event logs to load (ex: "2022-02-22 23:59:59 +09:00")
--timeline-offset Scan recent events based on an offset (ex: 1y, 3M, 30d, 24h, 30m)
--timeline-start Start time of the event logs to load (ex: "2020-02-22 00:00:00 +09:00")
Output:
-G, --GeoIP Add GeoIP (ASN, city, country) info to IP addresses
-H, --HTML-report Save Results Summary details to an HTML report (ex: results.html)
-M, --multiline Output event field information in multiple rows
-F, --no-field-data-mapping Disable field data mapping
--no-pwsh-field-extraction Disable field extraction of PowerShell classic logs
-o, --output Save the timeline in CSV format (ex: results.csv)
-p, --profile Specify output profile
-R, --remove-duplicate-data Duplicate field data will be replaced with "DUP"
-X, --remove-duplicate-detections Remove duplicate detections (default: disabled)
Display Settings:
--no-color Disable color output
-N, --no-summary Do not display Results Summary for faster speed
-q, --quiet Quiet mode: do not display the launch banner
-v, --verbose Output verbose information
-T, --visualize-timeline Output event frequency timeline (terminal needs to support unicode)
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)
csv-timeline
standard
الافتراضي: hayabusa.exe csv-timeline -f eventlog.evtx
hayabusa.exe csv-timeline -d .hayabusa-sample-evtx -p verbose
super-verbose
!): hayabusa.exe csv-timeline -d .hayabusa-sample-evtx -o results.csv -p super-verbose
ملاحظة: سيؤدي تمكين مرشح EID إلى تسريع عملية التحليل بحوالي 10-15% في اختباراتنا ولكن هناك احتمال فقدان التنبيهات.
hayabusa.exe csv-timeline -E -d .hayabusa-sample-evtx -o results.csv
-r .rules
): hayabusa.exe csv-timeline -d .hayabusa-sample-evtx -r .ruleshayabusa -o results.csv -w
hayabusa.exe csv-timeline -d .hayabusa-sample-evtx -r .ruleshayabusabuiltin -o results.csv -w
hayabusa.exe csv-timeline -d .hayabusa-sample-evtx -r .ruleshayabusasysmon -o results.csv -w
hayabusa.exe csv-timeline -d .hayabusa-sample-evtx -r .rulessigma -o results.csv -w
status
علامة " deprecated
) والقواعد المزعجة (تلك القواعد التي تم إدراج معرف القاعدة لها في .rulesconfignoisy_rules.txt
):ملاحظة: في الآونة الأخيرة، أصبحت القواعد المهملة موجودة الآن في دليل منفصل في مستودع sigma، لذا لم تعد مضمنة افتراضيًا في Hayabusa. لذلك، ربما لا تحتاج إلى تمكين القواعد المهملة.
hayabusa.exe csv-timeline -d .hayabusa-sample-evtx --enable-noisy-rules --enable-deprecated-rules -o results.csv -w
hayabusa.exe csv-timeline -d .hayabusa-sample-evtx -r .ruleshayabusabuiltinSecurityLogonLogoffLogon -U -o results.csv -w
hayabusa.exe csv-timeline -l -m low
hayabusa.exe csv-timeline -d .hayabusa-sample-evtx -v
قواعد التحميل:
Loaded rule: rules/sigma/builtin/deprecated/proc_creation_win_susp_run_folder.yml
Loaded rule: rules/sigma/builtin/deprecated/proc_creation_win_execution_mssql_xp_cmdshell_stored_procedure.yml
Loaded rule: rules/sigma/builtin/deprecated/proc_creation_win_susp_squirrel_lolbin.yml
Loaded rule: rules/sigma/builtin/win_alert_mimikatz_keywords.yml
أخطاء أثناء الفحص:
[ERROR] Failed to parse event file.
EventFile: ../logs/Microsoft-Rdms-UI%4Operational.evtx
Error: Failed to parse record number 58471
[ERROR] Failed to parse event file.
EventFile: ../logs/Microsoft-Rdms-UI%4Operational.evtx
Error: Failed to parse record number 58470
[ERROR] Failed to parse event file.
EventFile: ../logs/Microsoft-Windows-AppxPackaging%4Operational.evtx
Error: An error occurred while trying to serialize binary xml to output.
hayabusa.exe csv-timeline -d ../hayabusa-sample-evtx --RFC-3339 -o timesketch-import.csv -p timesketch -U
-Q
. يمكنك إضافة معلومات GeoIP (مؤسسة ASN والمدينة والدولة) إلى حقول SrcIP (عنوان IP المصدر) وحقول TgtIP (عنوان IP المستهدف) مع بيانات تحديد الموقع الجغرافي GeoLite2 المجانية.
خطوات:
.mmdb
الثلاثة من صفحة التنزيل واحفظها في الدليل. يجب أن تسمى أسماء الملفات GeoLite2-ASN.mmdb
و GeoLite2-City.mmdb
و GeoLite2-Country.mmdb
.csv-timeline
أو json-timeline
، أضف الخيار -G
متبوعًا بالدليل الذي يحتوي على قواعد بيانات MaxMind. عند استخدام csv-timeline
، سيتم إخراج الأعمدة الستة التالية بالإضافة إلى ذلك: SrcASN
, SrcCity
, SrcCountry
, TgtASN
, TgtCity
, TgtCountry
.
عند استخدام json-timeline
، ستتم إضافة نفس حقول SrcASN
و SrcCity
و SrcCountry
و TgtASN
و TgtCity
TgtCountry
إلى كائن Details
، ولكن فقط إذا كانت تحتوي على معلومات.
عندما يكون SrcIP
أو TgtIP
مضيفًا محليًا ( 127.0.0.1
, ::1
, إلخ...)، سيتم إخراج SrcASN
أو TgtASN
على أنه Local
.
عندما يكون SrcIP
أو TgtIP
عنوان IP خاصًا ( 10.0.0.0/8
, fe80::/10
, إلخ...)، سيتم إخراج SrcASN
أو TgtASN
كـ Private
.
يتم تعريف أسماء الحقول التي تحتوي على عناوين IP المصدر والهدف التي يتم البحث عنها في قواعد بيانات GeoIP في rules/config/geoip_field_mapping.yaml
. يمكنك إضافة إلى هذه القائمة إذا لزم الأمر. يوجد أيضًا قسم مرشح في هذا الملف يحدد أحداث استخراج معلومات عنوان IP منها.
يتم تحديث قواعد بيانات MaxMind Geoip كل أسبوعين. يمكنك تثبيت أداة maxmind geoipupdate
هنا من أجل تحديث قواعد البيانات هذه تلقائيًا.
خطوات على macos:
brew install geoipupdate
/usr/local/etc/GeoIP.conf
: ضع في AccountID
و LicenseKey
الذي تنشئه بعد تسجيل الدخول إلى موقع MaxMind. تأكد من أن خط EditionIDs
يقول إن EditionIDs GeoLite2-ASN GeoLite2-City GeoLite2-Country
.geoipupdate
.-G /usr/local/var/GeoIP
عندما تريد إضافة معلومات geoip.خطوات على Windows:
geoipupdate_4.10.0_windows_amd64.zip
) من صفحة الإصدارات.ProgramDataMaxMind/GeoIPUpdateGeoIP.conf
: ضع في AccountID
و LicenseKey
الذي تنشئه بعد تسجيل الدخول إلى موقع MaxMind. تأكد من أن خط EditionIDs
يقول إن EditionIDs GeoLite2-ASN GeoLite2-City GeoLite2-Country
.geoipupdate
قابلة للتنفيذ. csv-timeline
./rules/config/channel_abbreviations.txt
: تعيينات أسماء القنوات واختصاراتها.
./rules/config/default_details.txt
: يجب إخراج ملف التكوين لما هو معلومات الحقل الافتراضية ( %Details%
) إذا لم يتم تحديد details:
يتم تحديد السطر في قاعدة. يعتمد هذا على اسم المزود ومعرفات الحدث.
./rules/config/eventkey_alias.txt
: يحتوي هذا الملف على تعيينات الاسم المستعارة للاسم القصير للحقول وأسماء الحقول الأطول الأصلية.
مثال:
InstanceID,Event.UserData.UMDFHostDeviceArrivalBegin.InstanceId
IntegrityLevel,Event.EventData.IntegrityLevel
IpAddress,Event.EventData.IpAddress
إذا لم يتم تعريف الحقل هنا ، فسيقوم Hayabusa بالتحقق تلقائيًا ضمن الحدث. Event.EventData
للحقل.
./rules/config/exclude_rules.txt
: يحتوي هذا الملف على قائمة بمعرفات القاعدة التي سيتم استبعادها من الاستخدام. عادةً ما يكون هذا لأن هناك قاعدة تحل محل آخر أو لا يمكن استخدام القاعدة في المقام الأول. مثل جدران الحماية والمعرفات ، ستتطلب أي أداة قائمة على التوقيع بعض الضبط لتناسب بيئتك ، لذا قد تحتاج إلى استبعاد بعض القواعد بشكل دائم أو مؤقتًا. يمكنك إضافة معرف قاعدة (مثال: 4fe151c2-ecf9-4fae-95ae-b88ec9c2fca6
) إلى ./rules/config/exclude_rules.txt
من أجل تجاهل أي قاعدة لا تحتاجها أو لا يمكن استخدامها.
./rules/config/noisy_rules.txt
: هذا الملف قائمة معرفات القاعدة التي يتم تعطيلها افتراضيًا ولكن يمكن تمكينها عن طريق تمكين قواعد صاخبة مع خيار -n, --enable-noisy-rules
. هذه القواعد عادة ما تكون صاخبة بطبيعتها أو بسبب إيجابيات كاذبة.
./rules/config/target_event_IDs.txt
: سيتم فحص معرفات الحدث المحددة فقط في هذا الملف إذا تم تمكين مرشح EID. بشكل افتراضي ، ستقوم Hayabusa بمسح جميع الأحداث ، ولكن إذا كنت ترغب في تحسين الأداء ، فيرجى استخدام خيار -E, --EID-filter
. هذا عادة ما يؤدي إلى تحسين السرعة بنسبة 10 ~ 25 ٪.
json-timeline
سيقوم أمر json-timeline
بإنشاء جدول زمني للطب الشرعي للأحداث بتنسيق JSON أو JSONL. سيكون الإخراج إلى JSONL أسرع وأصغر حجم ملف من JSON ، لذا يكون جيدًا إذا كنت ستحتاج فقط إلى استيراد النتائج إلى أداة أخرى مثل COSTACT. JSON أفضل إذا كنت ستقوم بتحليل النتائج يدويًا مع محرر نص. يعد ناتج CSV مفيدًا لاستيراد الجداول الزمنية الأصغر (عادةً أقل من 2 جيجابايت) إلى أدوات مثل Libreoffice أو Explorer Timeline. يعد JSON الأفضل لتحليل المزيد من البيانات (بما في ذلك ملفات النتائج الكبيرة) مع أدوات مثل jq
حيث يتم فصل حقول Details
لتحليل أسهل. (في إخراج CSV ، تكون جميع حقول سجل الأحداث في عمود Details
واحد مما يجعل فرز البيانات ، إلخ ... أكثر صعوبة.)
Usage: json-timeline [OPTIONS]
Input:
-d, --directory Directory of multiple .evtx files
-f, --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)
-s, --sort-events Sort events before saving the file. (warning: this uses much more memory!)
-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)
-r, --rules Specify a custom rule directory or file (default: ./rules)
-c, --rules-config Specify custom rule config directory (default: ./rules/config)
--target-file-ext Specify additional evtx file extensions (ex: evtx_data)
-t, --threads 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 Only load rules with a specific level (informational, low, medium, high, critical)
--exclude-category Do not load rules with specified logsource categories (ex: process_creation,pipe_created)
--exclude-computer Do not scan specified computer names (ex: ComputerA) (ex: ComputerA,ComputerB)
--exclude-eid Do not scan specific EIDs for faster speed (ex: 1) (ex: 1,4688)
--exclude-status Do not load rules according to status (ex: experimental) (ex: stable,test)
--exclude-tag Do not load rules with specific tags (ex: sysmon)
--include-category Only load rules with specified logsource categories (ex: process_creation,pipe_created)
--include-computer Scan only specified computer names (ex: ComputerA) (ex: ComputerA,ComputerB)
--include-eid Scan only specified EIDs for faster speed (ex: 1) (ex: 1,4688)
--include-status Only load rules with specific status (ex: experimental) (ex: stable,test)
--include-tag Only load rules with specific tags (ex: attack.execution,attack.discovery)
-m, --min-level Minimum level for rules to load (default: informational)
-P, --proven-rules Scan with only proven rules for faster speed (./rules/config/proven_rules.txt)
--timeline-end End time of the event logs to load (ex: "2022-02-22 23:59:59 +09:00")
--timeline-offset Scan recent events based on an offset (ex: 1y, 3M, 30d, 24h, 30m)
--timeline-start Start time of the event logs to load (ex: "2020-02-22 00:00:00 +09:00")
Output:
-G, --GeoIP Add GeoIP (ASN, city, country) info to IP addresses
-H, --HTML-report Save Results Summary details to an HTML report (ex: results.html)
-L, --JSONL-output Save the timeline in JSONL format (ex: -L -o results.jsonl)
-F, --no-field-data-mapping Disable field data mapping
--no-pwsh-field-extraction Disable field extraction of PowerShell classic logs
-o, --output Save the timeline in JSON format (ex: results.json)
-p, --profile Specify output profile
-R, --remove-duplicate-data Duplicate field data will be replaced with "DUP"
-X, --remove-duplicate-detections Remove duplicate detections (default: disabled)
Display Settings:
--no-color Disable color output
-N, --no-summary Do not display Results Summary for faster speed
-q, --quiet Quiet mode: do not display the launch banner
-v, --verbose Output verbose information
-T, --visualize-timeline Output event frequency timeline (terminal needs to support unicode)
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)
json-timeline
وملفات التكوين الخيارات وملفات التكوين الخاصة بـ json-timeline
هي نفسها مثل csv-timeline
ولكن خيار واحد إضافي-- -L, --JSONL-output
لإخراج تنسيق JSONL.
level-tuning
سيتيح لك أمر level-tuning
ضبط مستويات التنبيه للقواعد ، إما رفع أو تقليل مستوى المخاطر وفقًا لبيئتك.
Usage: level-tuning [OPTIONS]
Display Settings:
--no-color Disable color output
-q, --quiet Quiet mode: do not display the launch banner
General Options:
-f, --file Tune alert levels (default: ./rules/config/level_tuning.txt)
level-tuning
hayabusa.exe level-tuning
hayabusa.exe level-tuning -f my_level_tuning.txt
level-tuning
سيحدد مؤلفو قواعد Hayabusa و Sigma مستوى خطر التنبيه عند كتابة قواعدهم. ومع ذلك ، قد يختلف مستوى المخاطر الفعلي وفقًا للبيئة. يمكنك ضبط مستوى مخاطر القواعد عن طريق إضافتها إلى ./rules/config/level_tuning.txt
وتنفيذ hayabusa.exe level-tuning
والذي سيقوم بتحديث سطر level
في ملف القاعدة. يرجى ملاحظة أنه سيتم تحديث ملف القاعدة مباشرة.
تحذير: في أي وقت تقوم فيه بتشغيل
update-rules
، فإن مستوى التنبيه الأصلي سيحدد أي إعدادات قمت بتغييرها ، لذلك ستحتاج إلى تشغيل أمرlevel-tuning
بعد كل مرة تقوم فيها بتشغيلupdate-rules
إذا كنت تريد تغيير المستويات.
./rules/config/level_tuning.txt
سطر العينة:
id,new_level
00000000-0000-0000-0000-000000000000,informational # sample level tuning line
في هذه الحالة ، فإن مستوى خطر القاعدة id
00000000-0000-0000-0000-000000000000
في دليل القواعد ، سيحصل على level
المعلومات إلى informational
. المستويات الممكنة التي يجب تعيينها هي critical
، high
، medium
، low
informational
.
list-profiles
Usage: list-profiles [OPTIONS]
Display Settings:
--no-color Disable color output
-q, --quiet Quiet mode: do not display the launch banner
set-default-profile
Usage: set-default-profile [OPTIONS]
Display Settings:
--no-color Disable color output
-q, --quiet Quiet mode: do not display the launch banner
General Options:
-p, --profile Specify output profile
set-default-profile
minimal
: hayabusa.exe set-default-profile minimal
super-verbose
: hayabusa.exe set-default-profile super-verbose
update-rules
سيقوم أمر update-rules
بمزامنة مجلد rules
مع مستودع قواعد Hayabusa GitHub ، وتحديث القواعد وملفات التكوين.
Usage: update-rules [OPTIONS]
Display Settings:
--no-color Disable color output
-q, --quiet Quiet mode: do not display the launch banner
General Options:
-r, --rules Specify a custom rule directory or file (default: ./rules)
update-rules
عادةً ما تقوم بتنفيذ هذا فقط: hayabusa.exe update-rules
لدى Hayabusa 5 ملفات تعريف إخراج محددة مسبقًا لاستخدامها في config/profiles.yaml
. Yaml:
minimal
standard
(الافتراضي)verbose
all-field-info
all-field-info-verbose
super-verbose
timesketch-minimal
timesketch-verbose
يمكنك بسهولة تخصيص أو إضافة ملفات التعريف الخاصة بك عن طريق تحرير هذا الملف. يمكنك أيضًا تغيير ملف التعريف الافتراضي بسهولة باستخدام set-default-profile --profile
. استخدم أمر list-profiles
لإظهار الملفات الشخصية المتاحة ومعلومات الحقل الخاصة بهم.
minimal
من إخراج الملف الشخصي %Timestamp%, %Computer%, %Channel%, %EventID%, %Level%, %RecordID%, %RuleTitle%, %Details%
standard
%Timestamp%, %Computer%, %Channel%, %EventID%, %Level%, %RecordID%, %RuleTitle%, %Details%, %ExtraFieldInfo%
verbose
الملف الشخصي %Timestamp%, %Computer%, %Channel%, %EventID%, %Level%, %MitreTactics%, %MitreTags%, %OtherTags%, %RecordID%, %RuleTitle%, %Details%, %ExtraFieldInfo%, %RuleFile%, %EvtxFile%
all-field-info
بدلاً من إخراج معلومات details
الحد الأدنى ، سيتم إخراج جميع معلومات الحقل في أقسام EventData
و UserData
مع أسماء الحقول الأصلية.
%Timestamp%, %Computer%, %Channel%, %EventID%, %Level%, %RecordID%, %RuleTitle%, %AllFieldInfo%, %RuleFile%, %EvtxFile%
all-field-info-verbose
%Timestamp%, %Computer%, %Channel%, %EventID%, %Level%, %MitreTactics%, %MitreTags%, %OtherTags%, %RecordID%, %RuleTitle%, %AllFieldInfo%, %RuleFile%, %EvtxFile%
super-verbose
%Timestamp%, %Computer%, %Channel%, %EventID%, %Level%, %RuleTitle%, %RuleAuthor%, %RuleModifiedDate%, %Status%, %RecordID%, %Details%, %ExtraFieldInfo%, %MitreTactics%, %MitreTags%, %OtherTags%, %Provider%, %RuleCreationDate%, %RuleFile%, %EvtxFile%
timesketch-minimal
.الإخراج إلى تنسيق متوافق مع الاستيراد إلى kystch.
%Timestamp%, hayabusa, %RuleTitle%, %Computer%, %Channel%, %EventID%, %Level%, %MitreTactics%, %MitreTags%, %OtherTags%, %RecordID%, %Details%, %RuleFile%, %EvtxFile%
timesketch-verbose
%Timestamp%, hayabusa, %RuleTitle%, %Computer%, %Channel%, %EventID%, %Level%, %MitreTactics%, %MitreTags%, %OtherTags%, %RecordID%, %Details%, %ExtraFieldInfo%, %RuleFile%, %EvtxFile%
تم إجراء المعايير التالية على Lenovo P51 2018 (Xeon 4 Core CPU / 64GB RAM) مع 3 جيجابايت من بيانات EVTX و 3891 قواعد ممكّنة. (2023/06/01)
حساب تعريفي | وقت المعالجة | إخراج ملفات | زيادة الملفات |
---|---|---|---|
الحد الأدنى | 8 دقائق و 50 ثانية | 770 ميغابايت | -30% |
المعيار (الافتراضي) | 9 دقائق 00 ثانية | 1.1 غيغابايت | لا أحد |
مطول | 9 دقائق 10 ثوان | 1.3 غيغابايت | +20% |
جميع المجالات | 9 دقائق و3 ثواني | 1.2 جيجابايت | +10% |
All-Field-Info-Verbose | 9 دقائق 10 ثوان | 1.3 غيغابايت | +20% |
سوبر فيروبز | 9 دقائق 12 ثانية | 1.5 جيجابايت | +35 ٪ |
يمكن إخراج المعلومات التالية باستخدام ملفات تعريف الإخراج المدمجة:
اسم الاسم المستعار | معلومات الإخراج Hayabusa |
---|---|
٪ allfieldinfo ٪ | جميع المعلومات الميدانية. |
٪قناة٪ | اسم السجل. حقل. |
٪حاسوب٪ | حقل . |
٪تفاصيل٪ | حقل details في قاعدة الكشف عن YML ، ومع ذلك ، فإن قواعد Hayabusa فقط لديها هذا الحقل. يقدم هذا الحقل معلومات إضافية حول التنبيه أو الحدث ويمكنه استخراج بيانات مفيدة من الحقول في سجلات الأحداث. على سبيل المثال ، أسماء المستخدمين ، ومعلومات سطر الأوامر ، ومعلومات العملية ، وما إلى ذلك ... عندما يشير العنصر النائب إلى حقل غير موجود أو يوجد تعيين مستعار غير صحيح ، سيتم إخراجه كـ n/a (غير متوفر). إذا لم يتم تحديد حقل details (أي قواعد Sigma) ، فسيتم إخراج رسائل details الافتراضية لاستخراج الحقول المحددة في ./rules/config/default_details.txt . يمكنك إضافة المزيد من رسائل details الافتراضية عن طريق إضافة Provider Name ، EventID details التي تريد إخراجها في default_details.txt . عندما لا يتم تعريف حقل details في قاعدة ولا في default_details.txt ، سيتم إخراج جميع الحقول إلى عمود details . |
٪ extrafieldinfo ٪ | طباعة معلومات الحقل التي لم يتم إخراجها بنسبة ٪ تفاصيل ٪. |
٪ eventid ٪ | حقل . |
٪ evtxfile ٪ | اسم ملف EVTX الذي تسبب في التنبيه أو الحدث. |
٪مستوى٪ | حقل level في قاعدة الكشف عن YML. ( informational ، low ، medium ، high ، critical ) |
٪ mitretactics ٪ | تكتيكات Miter ATT & CK (على سبيل المثال: الوصول الأولي ، الحركة الجانبية ، إلخ ...). |
٪ mitretags ٪ | Miter ATT & CK Group ID ومعرف التقنية ومعرف البرنامج. |
٪ othertags ٪ | أي كلمة رئيسية في حقل tags في قاعدة الكشف عن YML والتي لم يتم تضمينها في MitreTactics أو MitreTags . |
٪مزود٪ | سمة Name في الحقل . |
٪ RecordID ٪ | معرف سجل الحدث من الحقل . |
٪ ruleauthor ٪ | حقل author في قاعدة اكتشاف YML. |
٪ recrecreationDate ٪ | حقل date في قاعدة اكتشاف YML. |
٪ reasfile ٪ | اسم ملف قاعدة الكشف التي ولدت التنبيه أو الحدث. |
٪ rulemodifiedDate ٪ | الحقل modified في قاعدة الكشف عن YML. |
٪ ruletitle ٪ | حقل title في قاعدة اكتشاف YML. |
٪حالة٪ | حقل status في قاعدة اكتشاف YML. |
٪ timestamp ٪ | الافتراضي هو YYYY-MM-DD HH:mm:ss.sss +hh:mm format. في سجل الحدث. ستكون المنطقة الزمنية الافتراضية هي المنطقة الزمنية المحلية ولكن يمكنك تغيير المنطقة الزمنية إلى UTC مع خيار --UTC . |
يمكنك أيضًا إضافة هذه الأسماء المستعارة الإضافية إلى ملف تعريف الإخراج الخاص بك إذا كنت في حاجة إليها:
اسم الاسم المستعار | معلومات الإخراج Hayabusa |
---|---|
٪ rendermessage ٪ | الحقل في سجلات WEC التي تمت إعادة توجيهها. |
٪ ruleID ٪ | حقل id في قاعدة الكشف عن YML. |
ملاحظة: لا يتم تضمينها في أي ملفات تعريف مدمجة ، لذا ستحتاج إلى تحرير ملف config/default_profile.yaml
يدويًا وإضافة الأسطر التالية:
Message: "%RenderedMessage%"
RuleID: "%RuleID%"
يمكنك أيضًا تحديد الأسماء المستعارة للمفتاح لإخراج الحقول الأخرى.
من أجل توفير المساحة ، نستخدم الاختصارات التالية عند عرض level
التنبيه.
crit
: critical
high
: high
med
: medium
low
: low
info
: informational
من أجل توفير المساحة ، نستخدم الاختصارات التالية عند عرض علامات تكتيك Miter ATT & CK. يمكنك تحرير هذه الاختصارات بحرية في ملف تكوين ./config/mitre_tactics.txt
.
Recon
: الاستطلاعResDev
: تطوير المواردInitAccess
: الوصول الأوليExec
: التنفيذPersis
: الثباتPrivEsc
: تصعيد امتيازEvas
: التهرب الدفاعيCredAccess
: الوصول إلى الاعتمادDisc
: الاكتشافLatMov
: حركة جانبيةCollect
: جمعC2
: الأمر والتحكمExfil
: exfiltrationImpact
: التأثير من أجل توفير المساحة ، نستخدم الاختصارات التالية عند عرض القناة. يمكنك تحرير هذه الاختصارات بحرية في ./rules/config/channel_abbreviations.txt
.
App
: Application
AppLocker
: Microsoft-Windows-AppLocker/*
BitsCli
: Microsoft-Windows-Bits-Client/Operational
CodeInteg
: Microsoft-Windows-CodeIntegrity/Operational
Defender
: Microsoft-Windows-Windows Defender/Operational
DHCP-Svr
: Microsoft-Windows-DHCP-Server/Operational
DNS-Svr
: DNS Server
DvrFmwk
: Microsoft-Windows-DriverFrameworks-UserMode/Operational
Exchange
: MSExchange Management
Firewall
: Microsoft-Windows-Windows Firewall With Advanced Security/Firewall
KeyMgtSvc
: Key Management Service
LDAP-Cli
: Microsoft-Windows-LDAP-Client/Debug
NTLM
Microsoft-Windows-NTLM/Operational
OpenSSH
: OpenSSH/Operational
PrintAdm
: Microsoft-Windows-PrintService/Admin
PrintOp
: Microsoft-Windows-PrintService/Operational
PwSh
: Microsoft-Windows-PowerShell/Operational
PwShClassic
: Windows PowerShell
RDP-Client
: Microsoft-Windows-TerminalServices-RDPClient/Operational
Sec
: Security
SecMitig
: Microsoft-Windows-Security-Mitigations/*
SmbCliSec
: Microsoft-Windows-SmbClient/Security
SvcBusCli
: Microsoft-ServiceBus-Client
Sys
: System
Sysmon
: Microsoft-Windows-Sysmon/Operational
TaskSch
: Microsoft-Windows-TaskScheduler/Operational
WinRM
: Microsoft-Windows-WinRM/Operational
WMI
: Microsoft-Windows-WMI-Activity/Operational
يتم استخدام الاختصارات التالية في القواعد من أجل جعل الإخراج موجزًا قدر الإمكان:
Acct
-> حسابAddr
-> العنوانAuth
-> المصادقةCli
-> العميلChan
-> قناةCmd
-> الأمرCnt
-> العدComp
-> الكمبيوترConn
-> الاتصال/متصلCreds
-> بيانات الاعتمادCrit
-> حرجDisconn
-> disconnection/discondedDir
-> دليلDrv
-> برنامج التشغيلDst
-> الوجهةEID
-> معرف الحدثErr
-> خطأExec
-> التنفيذFW
-> جدار الحمايةGrp
-> المجموعةImg
-> الصورةInj
-> الحقنKrb
-> KerberosLID
-> معرف تسجيل الدخولMed
-> متوسطNet
-> شبكةObj
-> كائنOp
-> التشغيل/العمليةProto
-> بروتوكولPW
-> كلمة المرورReconn
-> إعادة الاتصالReq
-> طلبRsp
-> الاستجابةSess
-> الجلسةSig
-> التوقيعSusp
-> مشبوهةSrc
-> المصدرSvc
-> الخدمةSvr
-> خادمTemp
-> مؤقتTerm
-> الإنهاء/إنهاءTkt
-> تذكرةTgt
-> الهدفUnkwn
-> غير معروفUsr
-> المستخدمPerm
-> البرمياتPkg
-> الحزمةPriv
-> الامتيازProc
-> العمليةPID
-> معرف العمليةPGUID
-> Process Guid (معرف فريد من نوعه)Ver
-> الإصدار سيعمل شريط التقدم فقط مع ملفات EVTX متعددة. سيتم عرضه في الوقت الفعلي عدد ملفات EVTX والنسبة المئوية التي انتهيت من التحليل.
سيتم إخراج التنبيهات باللون بناءً على level
التنبيه. يمكنك تغيير الألوان الافتراضية في ملف التكوين على ./config/level_color.txt
بتنسيق level,(RGB 6-digit ColorHex)
. إذا كنت ترغب في تعطيل إخراج اللون ، فيمكنك استخدام الخيار --no-color
.
يتم عرض إجمالي الأحداث ، وعدد الأحداث ذات الزيارات ، ومقاييس تقليل البيانات ، والاكتشافات الكلية والفريدة ، مع معظم عمليات الاكتشافات ، وأعلى أجهزة الكمبيوتر مع الاكتشافات والتنبيهات العليا بعد كل فحص.
إذا قمت بإضافة خيار -T, --visualize-timeline
، تعرض ميزة الجدول الزمني لتكرار الحدث خطًا زمنيًا لتردد Sparkline للأحداث المكتشفة. ملاحظة: يجب أن يكون هناك أكثر من 5 أحداث. أيضًا ، لن يتم عرض الأحرف بشكل صحيح على موجه الأوامر الافتراضي أو موجه PowerShell ، لذا يرجى استخدام محطة مثل Windows Terminal و ITERM2 وما إلى ذلك ...
تتم كتابة قواعد اكتشاف Hayabusa بتنسيق YML يشبه Sigma وتقع في مجلد rules
. يتم استضافة القواعد على https://github.com/yamato-security/hayabusa-rules لذا يرجى إرسال أي مشكلات وسحب طلبات القواعد هناك بدلاً من مستودع Hayabusa الرئيسي.
يرجى قراءة مستودع Hayabusa-Rules Respository لفهم تنسيق القاعدة وكيفية إنشاء قواعد.
يجب وضع جميع القواعد من مستودع قسمة Hayabusa في مجلد rules
. تعتبر قواعد مستوى informational
events
، في حين أن أي شيء لديه level
من low
وأعلى يعتبر alerts
.
يتم فصل هيكل دليل قاعدة Hayabusa إلى 2 دليل:
builtin
: سجلات يمكن توليدها بواسطة وظائف Windows المدمجة.sysmon
: سجلات تم إنشاؤها بواسطة Sysmon.يتم فصل القواعد بشكل أكبر إلى الدلائل حسب نوع السجل (مثال: الأمان ، النظام ، إلخ ...) ويتم تسميته بالتنسيق التالي:
يرجى مراجعة القواعد الحالية لاستخدامها كقالب في إنشاء قواعد جديدة أو للتحقق من منطق الكشف.
يدعم Hayabusa قواعد Sigma أصلاً باستثناء واحد من التعامل مع حقول logsource
داخليًا. من أجل تقليل الإيجابيات الخاطئة ، ينبغي تشغيل قواعد Sigma من خلال محولنا الموضحة هنا. سيؤدي ذلك إلى إضافة Channel
المناسبة و EventID
، وأداء رسم خرائط الحقل لفئات معينة مثل process_creation
.
تتوافق جميع قواعد Hayabusa تقريبًا مع تنسيق Sigma حتى تتمكن من استخدامها تمامًا مثل قواعد Sigma للتحويل إلى تنسيقات Siem الأخرى. تم تصميم قواعد Hayabusa فقط لتحليل سجل أحداث Windows ولديها الفوائد التالية:
details
إضافي لعرض معلومات إضافية مأخوذة من الحقول المفيدة فقط في السجل.|equalsfield
و |endswithfield
.على حد علمنا ، يوفر Hayabusa أكبر دعم أصلي لـ Sigma قواعد من أي أداة تحليل سجل أحداث Windows مفتوحة المصدر.
من أجل اكتشاف النشاط الضار بشكل صحيح على أجهزة Windows ، ستحتاج إلى تحسين إعدادات السجل الافتراضية. لقد أنشأنا مشروعًا منفصلًا لتوثيق إعدادات السجل التي يجب تمكينها بالإضافة إلى البرامج النصية لتمكين الإعدادات المناسبة تلقائيًا على https://github.com/yamato-security/enableWindowsLogsettings.
نوصي أيضًا بالمواقع التالية للتوجيه:
لإنشاء أكثر الأدلة الجنائية والاكتشاف بأعلى دقة ، تحتاج إلى تثبيت Sysmon. نوصي بالمواقع التالية وملفات التكوين:
نود أي شكل من أشكال المساهمة. تعتبر طلبات السحب وإنشاء القواعد وعينة سجلات EVTX هي أفضل طلبات الميزات ، وإخطارنا بالبق ، وما إلى ذلك ... أيضًا موضع ترحيب كبير.
على الأقل ، إذا كنت تحب أداةنا ، فيرجى إعطائنا نجمة على Github وإظهار دعمك!
يرجى تقديم أي أخطاء تجدها هنا. يتم الحفاظ على هذا المشروع حاليًا بنشاط ونحن سعداء بإصلاح أي أخطاء تم الإبلاغ عنها.
إذا وجدت أي مشكلات (إيجابيات كاذبة ، حشرات ، إلخ ...) مع قواعد Hayabusa ، فيرجى إبلاغها إلى صفحة قضايا Hayabusa-Rules Github هنا.
إذا وجدت أي مشكلات (إيجابيات كاذبة ، الأخطاء ، إلخ ...) مع قواعد Sigma ، فيرجى إبلاغها إلى صفحة قضايا Sigmahq Github هنا.
يتم إصدار Hayabusa بموجب AGPLV3 ويتم إصدار جميع القواعد بموجب ترخيص قاعدة الكشف (DRL) 1.1.
يستخدم Hayabusa بيانات Geolite2 التي تم إنشاؤها بواسطة MaxMind ، المتاحة من https://www.maxmind.com.
يمكنك تلقي آخر الأخبار حول Hayabusa ، وتحديثات القواعد ، وأدوات أمان Yamato الأخرى ، وما إلى ذلك ... من خلال متابعتنا على Twitter على SecurityyAmato.