Skip to content

Releases: AttackIQ/pySigma-backend-kusto

v0.4.3 - EventID Query Table Inference

13 Dec 14:55
Compare
Choose a tag to compare

What's Changed

  • add: mapped GrandParentImage with InitiatingProcessParentFileName by @0xFustang in #30
  • add: EventID to query_table mappings by @slincoln-aiq in #32
    • Previously, the query_table was selected by logsource.category, or provided by the user via a pipeline or pipeline arg. query_table is required in order for fieldmappings and valid query tables in the final query. This new feature also allows query_table to be set if an EventID is present in any selection detection sections and logsource.category is missing and the query_table is not supplied by the user. This allows for more rules to be translated to KQL queries
  • fix: SigmaNumber conversion errors when in a grouped as-in expression of mixed types by @slincoln-aiq in #32
    • This fixes #29
  • Minor formatting with black/ruff

New Contributors

Full Changelog: v0.4.2...v0.4.3

v0.4.2 - Minor bug fix

07 Oct 18:42
Compare
Choose a tag to compare

๐Ÿš€ Release Notes

๐Ÿ› Bug Fixes

  • query_table param fix: Resolved issue where query_table would not persist when provided in another pipeline merged by sigma-cli

v0.4.1 - Bug Fixes

04 Oct 15:12
Compare
Choose a tag to compare

๐Ÿš€ Release Notes

๐Ÿ› Bug Fixes

  • Keyword Detection Items: Resolved an issue where "Invalid SigmaDetectionItem field name encountered: None" was incorrectly raised for keyword detection items. (Fixes #27 )

  • Table Name Prepending: Fixed a bug where table names were only prepended to queries in SigmaCollection objects and not SigmaRule objects. This was addressed by implementing a postprocessing item on each rule instead of using a finalizer. (Fixes #28 )

๐Ÿงช Testing Improvements

  • Comprehensive Test Coverage: Added tests to cover both SigmaCollection and SigmaRule objects for all pipelines, ensuring more robust functionality across different use cases.

๐Ÿ“š Documentation

  • README Update: The README file has been updated to reflect recent changes and provide more accurate information.

๐Ÿ›  Maintenance

  • Code Formatting: Applied minor formatting updates.

  • Development Dependencies: Updated the dev dependency group in pyproject.toml.

v0.4.0 - Azure Monitor Pipeline & Code Refactoring

27 Sep 15:59
Compare
Choose a tag to compare

๐Ÿš€ Release Notes

๐ŸŒŸ Major Changes

๐Ÿ›ก๏ธ Microsoft XDR Pipeline (formerly Microsoft 365 Defender)

  • ๐Ÿ”„ Microsoft 365 Defender pipeline renamed to Microsoft XDR
  • โš ๏ธ Users should migrate to the new Microsoft XDR pipeline

๐Ÿ†• Azure Monitor Pipeline (NEW!)

  • ๐Ÿงช New Azure Monitor pipeline introduced (alpha status)
  • ๐Ÿ—ƒ๏ธ Supports field mappings for SecurityEvents and SigninLogs tables
  • ๐Ÿ“Š All 698 Azure Monitor tables supported in final queries

๐Ÿ” Enhanced Sentinel ASIM Pipeline (Beta)

  • ๐Ÿ”‘ Additional field mappings added (beta status)

๐Ÿ“ˆ Expanded Table Support

  • Microsoft XDR: 38 tables
  • Sentinel ASIM: 8 tables
  • Azure Monitor: 698 tables

๐Ÿ—๏ธ Codebase Refactoring

  • ๐Ÿงฑ Improved organization and structure
  • ๐Ÿ”„ Better sharing of components across pipelines

โœจ New Features

๐ŸŽ›๏ธ Custom Table Name Support

  • ๐Ÿ†• Set custom table names with query_table parameter
  • ๐Ÿ Configurable via YAML or Python

๐Ÿ”€ Flexible Rule Category Handling

  • ๐Ÿšซ "Unsupported rule category" error suppressed when the following conditions are met:
    • Rule category is absent or category not in mappings.py for each pippeline
  • A valid table is supplied via query_table param

๐Ÿ› ๏ธ Technical Improvements

๐Ÿ“œ Table Generation Scripts

  • ๐Ÿค– New scripts in utils folder
  • ๐Ÿ”„ Auto-populate valid tables and field schema in tables.py for each pipeline

๐Ÿ—บ๏ธ Field Mappings

  • ๐Ÿ”จ Ongoing improvements for all pipelines

๐Ÿ“Š Rule-to-Table Mapping

  • ๐Ÿšง Work in progress on advanced mapping methods

๐Ÿ“š Documentation

  • ๐Ÿ“ Updated README with query_table usage
  • ๐Ÿ’ก New examples for YAML and Python implementations
  • FAQ/Troubleshooting section

โš ๏ธ Deprecation Notices

  • ๐Ÿšซ Microsoft 365 Defender pipeline is deprecated
  • ๐Ÿ”œ Users should migrate to Microsoft XDR pipeline

๐Ÿ”ฎ Future Work

  • ๐Ÿ” Expanding field mappings across pipelines
  • ๐Ÿง  Developing sophisticated rule-to-table mapping
  • ๐Ÿ”ง Refining Azure Monitor and Sentinel ASIM pipelines

๐Ÿ“˜ Please refer to the updated README for detailed usage instructions and examples of the new features.

v0.3.3 - SentinelASIM Pipeline Bug Fixes

09 Sep 20:56
Compare
Choose a tag to compare

๐Ÿš€ Release Notes: pySigma Kusto Backend v0.3.2

๐Ÿ› Bug Fixes

๐Ÿ›ก๏ธ Sentinel ASIM Pipeline

  • Resolved issues with the sentinelasim pipeline, improving its stability and reliability.

๐Ÿงช Testing Improvements

๐Ÿ“Š Sentinel ASIM Pipeline

  • Added basic test coverage for the sentinelasim pipeline, enhancing our ability to catch potential issues early.

๐Ÿ”ฎ Ongoing Development

We're actively working on expanding and refining our pipeline support:

  • The sentinelasim pipeline and other pipelines are under active development.
  • We're continuously adding more tables and features to these pipelines.
  • We're also working on refactoring the codebase to make it more organized and easier to contribute to
  • Your patience and feedback during this process are greatly appreciated!

v0.3.1 - Now with more Kusto!

08 Sep 11:57
Compare
Choose a tag to compare

๐Ÿš€ Release Notes: pySigma Kusto Backend v0.3.1

๐Ÿท๏ธ Repository Rename

We've renamed the repository from pySigma-backend-microsoft365defender to pySigma-backend-kusto. This change reflects our expanded focus on supporting the Kusto Query Language (KQL) as a backend for various platforms.

๐Ÿ†• New Features

๐Ÿ“Š Sentinel ASIM Pipeline

  • Introduced the sentinel_asim pipeline, providing initial beta support for the Sentinel Advanced Security Information Model (ASIM) tables. (Thanks @adonm!)

๐Ÿ› ๏ธ Backend Enhancements

  • Renamed Microsoft365DefenderBackend to KustoBackend for clarity and broader applicability.
  • The microsoft_365_defender_pipeline is no longer automatically applied by the backend, allowing for more flexible configurations.

๐Ÿ”ง Microsoft 365 Defender Pipeline Improvements

  • Table renaming is now performed within the pipeline rather than the backend.
  • Added the ability to override Sigma Rule category -> table name mappings with a custom query_table parameter.

๐Ÿ“˜ Usage Example

For details on using custom table names, see the README.

๐Ÿ”ฎ Future Plans

We're actively working on expanding support for additional KQL-based platforms. Stay tuned for updates on Microsoft XDR and other integrations!

๐Ÿ™ Acknowledgements

Special thanks to the SigmaHQ Discord community for their valuable input on the repository direction.

v0.2.6

17 May 15:49
Compare
Choose a tag to compare

What's Changed

  • Update microsoft365defender.py by @adonm in #19
    • Ignores the "Initiated" field in network connections as for endpoints almost all events are outbound
  • Increased pinned certifi dependency version

New Contributors

  • @adonm made their first contribution in #19

Full Changelog: v0.2.4...v0.2.5

v0.2.4: Wildcard escaping fixes

18 Feb 23:55
5c1abda
Compare
Choose a tag to compare
  • Fixed issue #13 where '*' character was being escaped incorrectly CommandLine strings
  • Fixed issue #14 where Sigma schema wildcards ('*', '?') in the middle of a string would create nonsense queries
    • Since KQL does not use wildcards, anytime a wildcard value is seen inside a string (not at the beginning or end) from the Sigma Rule, we now split it by the wildcard and use a contains for each substring.
    • Example: a CommandLine field with a value of advfirewall firewall add rule name=Dropbox dir=in action=allow "program=?:\Program Files (x86)\Dropbox\Client\Dropbox.exe" enable=yes profile=Any will be converted to (ProcessCommandLine contains "advfirewall firewall add rule name=Dropbox dir=in action=allow \"program=" and ProcessCommandLine contains ":\\Program Files (x86)\\Dropbox\\Client\\Dropbox.exe\" enable=yes profile=Any")

v0.2.3

23 Jan 18:07
Compare
Choose a tag to compare
  • Fixed issue #11 by adding more verbose error handling and hash algorithm parsing in 'Hashes' field
  • Loosened pySigma pinned version to allow compatibility with pySigma >= 0.11.0

v0.2.2

03 Nov 20:23
Compare
Choose a tag to compare
  • Increased supported pySigma version to >= 0.9.0, <= 0.10.6