<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Sigma_HQ - Medium]]></title>
        <description><![CDATA[Sigma is a generic and open signature format that allows you to describe relevant log events in a straightforward manner. The rule format is very flexible, easy to write and applicable to any type of log file. - Medium]]></description>
        <link>https://blog.sigmahq.io?source=rss----f7aebf45e114---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>Sigma_HQ - Medium</title>
            <link>https://blog.sigmahq.io?source=rss----f7aebf45e114---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Mar 2026 23:17:32 GMT</lastBuildDate>
        <atom:link href="https://blog.sigmahq.io/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[SigmaHQ Quality Assurance Pipeline]]></title>
            <link>https://blog.sigmahq.io/sigmahq-quality-assurance-pipeline-d99eaba1760e?source=rss----f7aebf45e114---4</link>
            <guid isPermaLink="false">https://medium.com/p/d99eaba1760e</guid>
            <category><![CDATA[detection-engineering]]></category>
            <category><![CDATA[threat-detection]]></category>
            <category><![CDATA[siem]]></category>
            <category><![CDATA[detection-as-code]]></category>
            <dc:creator><![CDATA[Nasreddine Bencherchali]]></dc:creator>
            <pubDate>Wed, 12 Nov 2025 11:46:51 GMT</pubDate>
            <atom:updated>2025-11-12T11:46:50.387Z</atom:updated>
            <content:encoded><![CDATA[<p><em>How we ensure community-contributed rules are up to par</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*w_wFtr8pVQEH8aVt" /><figcaption>Photo by <a href="https://unsplash.com/@sigmund?utm_source=medium&amp;utm_medium=referral">Sigmund</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>Here is a fact for you, the SigmaHQ rule repository is one of the biggest vendor agnostic repository for detection rules today, with hundreds of yearly contributions and thousands of detection rules to maintain, hence, setting a standard is a requirement.</p><p>In this blog I will be showcasing how the SigmaHQ rule repository set this standard via various tooling and CI pipelines, in order to make sure that rule quality is consistent and deployment ready. Let’s get started.</p><h3>It all starts with the specification</h3><p>The first step in setting a standard for rule writing is actually defining that standard. We host a repository called Sigma-Specification where we describe exactly the constituents of a Sigma rule and its different type.</p><p><a href="https://github.com/SigmaHQ/sigma-specification">GitHub - SigmaHQ/sigma-specification: Sigma rule specification</a></p><p>The specification goes into details on what fields are required vs optional, how do these fields have to be written, for example either lists or strings. We also define what are the allowed tags, modifiers and taxonomy of field names.</p><p>All of this helps define how a rule should look like at a minimum, and avoid any confusion while writing them. While the Sigma specification aims to offer a maximum of compatibility, flexibility and customization (you can add all the meta data you want), offering a big rule repository as well, we need to be more strict there.</p><h3>An Additional Layer of Enforcement — SigmaHQ Convention</h3><p>The SigmaHQ rule repository is technically an implementation of the specification and targeted towards a much larger community of contributors. Therefore we extend the specification with a bunch of conventions that make sure all rules look the same at a format level. These conventions are only applicable to the rules repository and shouldn’t be confused with the Sigma specification which is only a subset of the requirements imposed on the rules repository.</p><p>These conventions can be found in the same specification repo in a dedicated folder.</p><p><a href="https://github.com/SigmaHQ/sigma-specification/tree/main/sigmahq">sigma-specification/sigmahq at main · SigmaHQ/sigma-specification</a></p><p>Currently we define 3 types of conventions.</p><ul><li><a href="https://github.com/SigmaHQ/sigma-specification/blob/main/sigmahq/sigmahq-filename-convention.md"><strong><em>Filename Convention</em></strong></a> - That ensures that files can easily be identified via their filename and sorted accurately in their respected folders according to the logsource they target.</li><li><a href="https://github.com/SigmaHQ/sigma-specification/blob/main/sigmahq/sigmahq-title-convention.md"><strong><em>Title Convention</em></strong></a> - This convention ensures that rules do not have random titles but instead, the aim is convey exactly what the rule is detecting by using the appropriate language</li><li><a href="https://github.com/SigmaHQ/sigma-specification/blob/main/sigmahq/sigmahq-rule-convention.md"><strong><em>Rule Convention</em></strong></a> - Basically enforces certain aspects that the general specification leaves either optional or not defined intentionally. Such as the expected indentation the actual order of the fields, and how should a description, false positives sections should look like.</li></ul><h3>Validators Are Here To Validate</h3><p>Having all of that defined in a repository somewhere is nice and all, but how do we make sure its enforced? The answer is CI.</p><h4>Sigma-Rules-Validator Action</h4><p>The first piece of CI we use is called sigma-rules-validator which takes the specification <a href="https://github.com/SigmaHQ/sigma-specification/tree/main/json-schema">JSON schemas</a> we provide and validate all rules against them via <a href="https://pypi.org/project/check-jsonschema/">check-jsonschema</a></p><p>This GitHub Action is available <a href="https://github.com/SigmaHQ/sigma-rules-validator">here</a> for anyone to use</p><p><a href="https://github.com/SigmaHQ/sigma-rules-validator">GitHub - SigmaHQ/sigma-rules-validator: Validates Sigma rules using the JSON schema</a></p><h4>PySigma Core Validators</h4><p>As we’ve described above, the specification defines certain rules about required fields, the way certain field should be written, etc. These rules are coded into the sigma library pySigma into something called Validators .</p><p><a href="https://github.com/SigmaHQ/pySigma/tree/main/sigma/validators/core">pySigma/sigma/validators/core at main · SigmaHQ/pySigma</a></p><p>If you leverage the Sigma Command Line Interface sigma-cli you can call validate those rules via the sigma check command.</p><p>Some of these validators include</p><ul><li>Identifier Existence.</li><li>Duplicate Title.</li><li>Duplicate Reference.</li><li>Invalid Tag Format.</li><li>Dangling Conditions.</li></ul><h4>PySigma SigmaHQ Validators</h4><p>For those astute readers, you might ask yourself what about the SigmaHQ convention how are those enforced, since they are not part of the specification.</p><p>Well, for that we created a new repository called pySigma-validators-sigmaHQ that extends the list of validators with ones that enforce the conventions we define at SigmaHQ rule repo.</p><p><a href="https://github.com/SigmaHQ/pySigma-validators-sigmaHQ">GitHub - SigmaHQ/pySigma-validators-sigmaHQ</a></p><p>These might include:</p><ul><li>Filename enforcement.</li><li>Field &lt;-&gt; Logsource Check.</li><li>Presence of certain tags.</li></ul><h3>Good Log Validation</h3><p>Now all of the syntax and conventions are validated, time to validate the logic.</p><p>One of the tests we integrated a couple of years ago is what we call a good-log test. The idea is simple at its core. Test the sigma logic against benign logs where if a match occurs than we know the logic needs updating.</p><p>For this we use a dataset that contains benign system process and every day application execution. The dataset is stored in the following repository.</p><p><a href="https://github.com/NextronSystems/evtx-baseline">GitHub - NextronSystems/evtx-baseline: A repository hosting example goodware evtx logs containing sample software installation and basic user interaction</a></p><p>We currently test against the following baselines.</p><ul><li>Windows 10 Client.</li><li>Windows 11 Client.</li><li>Windows 7.</li><li>Windows Server 2022 Base.</li><li>Windows Server 2022 With AD Role.</li><li>Windows Server 2022 Azure Image.</li><li>Windows 11 Client.</li></ul><p>You can read more on how the data was generated in the repo itself. We highly encourage contributions ;)</p><p>We leverage the evtx-sigma-checker binary to test sigma rules against these logs. The example below showcase the CI job for testing against the Windows 7 dataset.</p><pre>check-baseline-win7:<br>    runs-on: ubuntu-latest<br>    steps:<br>    - uses: actions/checkout@v5<br>    - name: Download evtx-sigma-checker<br>      run: wget --no-verbose https://github.com/NextronSystems/evtx-baseline/releases/download/$EVTX_BASELINE_VERSION/evtx-sigma-checker<br>    - name: Download and extract Windows 7 32-bit baseline<br>      run: |<br>        wget --no-verbose https://github.com/NextronSystems/evtx-baseline/releases/download/$EVTX_BASELINE_VERSION/win7-x86.tgz<br>        tar xzf win7-x86.tgz<br>    - name: Check for Sigma matches in baseline<br>      run: |<br>        chmod +x evtx-sigma-checker<br>        ./evtx-sigma-checker --log-source tests/thor.yml --evtx-path win7_x86/ --rule-path rules/windows/ --rule-path rules-emerging-threats/ --rule-path rules-threat-hunting/ &gt; findings.json<br>    - name: Show findings excluding known FPs<br>      run: |<br>        chmod +x .github/workflows/matchgrep.sh<br>        ./.github/workflows/matchgrep.sh findings.json .github/workflows/known-FPs.csv</pre><h3>Regression Testing</h3><p>The most recent addition to our pipelines is regression testing. Here we validate a rule against a “malicious” log where we are expecting a match. We use this in order to make sure that a rule is always working as it supposed to.</p><p>Currently we support only matching against EVTX but this will be extended to other types in the future.</p><p>The idea is very simple. A sigma rule contain a regression_tests_path field that points to an info.yml file.</p><pre>id: 6f781d8b-1b6c-408b-a90d-08aceb2a14d0<br>description: N/A<br>date: 2025-10-24<br>author: SigmaHQ Team<br>rule_metadata:<br>    - id: d7662ff6-9e97-4596-a61d-9839e32dee8d<br>      title: Add SafeBoot Keys Via Reg Utility<br>regression_tests_info:<br>    - name: Positive Detection Test<br>      type: evtx<br>      provider: Microsoft-Windows-Sysmon<br>      match_count: 1<br>      path: regression_data/windows/process_creation/proc_creation_win_reg_add_safeboot/d7662ff6-9e97-4596-a61d-9839e32dee8d.evtx</pre><p>This file will contain a list pointing to the logs we have to match against. In the example above we only have one.</p><p>The CI will then parse this and call evtx-sigma-checker (because of type: evtx ).</p><pre>jobs:<br>  true-positive-tests:<br>    runs-on: ubuntu-latest<br>    steps:<br>    - uses: actions/checkout@v4<br>    <br>    - name: Set up Python<br>      uses: actions/setup-python@v4<br>      with:<br>        python-version: &#39;3.11&#39;<br>        <br>    - name: Install Python dependencies<br>      run: |<br>        python -m pip install --upgrade pip<br>        pip install pyyaml<br>        <br>    - name: Download evtx-sigma-checker<br>      run: |<br>        wget --no-verbose https://github.com/NextronSystems/evtx-baseline/releases/download/$EVTX_BASELINE_VERSION/evtx-sigma-checker<br>        chmod +x evtx-sigma-checker<br>        <br>    - name: Run regression tests<br>      run: |<br>        python tests/regression_tests_runner.py --rules-paths &quot;rules/,rules-emerging-threats/,rules-threat-hunting/&quot; --evtx-checker ./evtx-sigma-checker --thor-config tests/thor.yml --ignore-validation</pre><h3>Four-Eyes Principle</h3><p>While we’ve concluded the automated part of the Sigma validation, one final part that is equally as important is the reviewers actually looking at the rules. This has always been an important part of SigmaHQ.</p><p>We apply a four eye principal meaning we require at least 2 reviewers in order to merge a PR. (except in some cases, we like bureaucracy only so much).</p><p>These reviewers are some of the best in terms of detection engineering knowledge and with varying level experiences and expertise.</p><p>And its not about just looking at raw YAMLs</p><ul><li>We strive to replicate most attacks that are contributed (especially on Windows) to make sure logic is reflected in the logs.</li><li>We investigate linked references to their fullest and often pivot via utilities like VT or ANY.RUN to find more samples leveraging the same techniques and help extend coverage in the same PR.</li></ul><p>Let me just say that its more than just a “LGTM” review ;)</p><h3>Conclusion &amp; Future Plans</h3><p>Hope this gave you a better understanding on how Sigma strive to maintain high quality of rules.</p><p>We’re always trying to improve. Happy to hear any feedback or suggestions. Hit me up on socials <a href="https://x.com/nas_bench">Twitter</a> / <a href="https://www.linkedin.com/in/nasreddinebencherchali/">LinkedIn</a> or join the discussion on our Sigma discord group.</p><p><a href="https://discord.gg/qjQTjenx">Join the SigmaHQ Community Discord Server!</a></p><p>A lot of exciting automation and additional features are coming in the next few months that will elevate the quality and trust in rules and open source to the next level. I will keep you posted :D</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d99eaba1760e" width="1" height="1" alt=""><hr><p><a href="https://blog.sigmahq.io/sigmahq-quality-assurance-pipeline-d99eaba1760e">SigmaHQ Quality Assurance Pipeline</a> was originally published in <a href="https://blog.sigmahq.io">Sigma_HQ</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Introducing Sigma Specification v2.0]]></title>
            <link>https://blog.sigmahq.io/introducing-sigma-specification-v2-0-25f81a926ff0?source=rss----f7aebf45e114---4</link>
            <guid isPermaLink="false">https://medium.com/p/25f81a926ff0</guid>
            <category><![CDATA[endpoint-security]]></category>
            <category><![CDATA[detection-engineering]]></category>
            <category><![CDATA[sigma-rules]]></category>
            <dc:creator><![CDATA[Nasreddine Bencherchali]]></dc:creator>
            <pubDate>Thu, 08 Aug 2024 17:35:58 GMT</pubDate>
            <atom:updated>2024-08-08T17:41:09.240Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*1ma-pePyk6Bdbl8Mdeo_bA.png" /></figure><p>The SigmaHQ team is pleased to announce the latest update to the Sigma specification, the long awaited version 2.0 is now available for all Sigma users and creators. This release marks an important milestone for the Sigma project, it introduces new features as well as many enhancements.</p><p>Let’s dive into the motivation behind v2.0 and some of the biggest changes introduced.</p><h4>Motivation Behind v2.0</h4><p>Since its inception, Sigma has always strived to be as user-friendly as possible while maintaining an expandable feature set. Over the years, both the vision of the project and the needs of its users have grown, necessitating the project’s evolution. This led to the creation of pySigma, a complete rewrite of the sigmac library, which introduced many new features and enhancements. Consequently, the specification had to evolve as well, resulting in the release of v2.0, an exciting milestone full of new ideas, features and enhancements.</p><h4>Breaking Changes</h4><p>As with any major version, some breaking changes are to be expected. Fortunately for Sigma users, there aren’t many to note here. You can check out a list of the important differences between v1 and v2 of the specs <a href="https://github.com/SigmaHQ/sigma-specification/blob/main/other/version-2-changes.md">here</a>.</p><h4>New Set of Fields and Modifiers</h4><p>In our continuous efforts to improve the Sigma rule format, we’ve added a bunch of new metadata fields and modifiers to allow users more flexibility and easier ways to write, enrich and effectively share/integrate their detection rules.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*X1J2bXRgpGErMf4iyt88yQ.png" /></figure><p>Check out the <a href="https://github.com/SigmaHQ/sigma-specification/blob/main/specification/sigma-rules-specification.md"><em>Sigma Rule Specification</em></a> and the accompanying <a href="https://github.com/SigmaHQ/sigma-specification/blob/main/appendix/sigma-modifiers-appendix.md"><em>Sigma Modifiers Appendix</em></a> for the full list and details.</p><h4>New and Enhanced Correlation Specification</h4><p>Sigma introduced the concept of correlation (aggregation) early in its development of the now deprecated (EOL) <a href="https://github.com/SigmaHQ/legacy-sigmatools/tree/master/tools/sigma">sigmac</a> library. While the aggregation expression was fine at the time, it never really was designed to be easily extended, but with the introduction of <a href="https://github.com/SigmaHQ/pySigma">pySigma</a> a full re-write of the sigma library, we took the time to create a dedicated specification for correlation rules that not only enhances the expression of writing correlation rules for users, it is also easily extensible for future use cases.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PyeW8U0OlR_XjwALUsj_Lw.png" /></figure><p>Check out the recent <a href="https://blog.sigmahq.io/introducing-sigma-correlations-52fe377f2527"><em>Introducing Sigma Correlations</em></a> blog to get a small taste and the <a href="https://github.com/SigmaHQ/sigma-specification/blob/main/specification/sigma-correlation-rules-specification.md"><em>Sigma Correlation Rules Specification</em></a><em> </em>for full details.</p><h4>Sigma Filters a New Frontier</h4><p>Recently we announced the release of a new feature called <a href="https://blog.sigmahq.io/introducing-sigma-filters-204bd8496273">Sigma Filters</a> that allows for the creation of dedicated sigma filter rules that acts as centralized false positive exclusions for detection rules.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*e7YPBXOFhut08enbRZOnnQ.png" /></figure><p>A dedicated specification has been created for this feature that you can check out <a href="https://github.com/SigmaHQ/sigma-specification/blob/main/specification/sigma-filters-specification.md">here</a>.</p><h4>New JSON Schemata</h4><p>In our efforts to provide a better structure for the Sigma project and ease automation efforts to validate Sigma rules against the specification, JSON schemata files are being added for all currently available specification documents. You can check them <a href="https://github.com/SigmaHQ/sigma-specification/tree/main/json-schema">here</a>.</p><h4>New Repository Structure and Faster Release Cycle</h4><p>In addition to this release, we took the time to update the <a href="https://github.com/SigmaHQ/sigma-specification">Sigma Specification</a> repository structure to reflect this new milestone. This restructuring will allows us to be more efficient, and improve our release cycle.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1014/1*61oy5WziWkRlkOor9Hyt9w.png" /><figcaption><a href="https://github.com/SigmaHQ/sigma-specification">https://github.com/SigmaHQ/sigma-specification</a></figcaption></figure><h4>Help Shape the Future of the Sigma Standard</h4><p>Additional enhancements are already in the works so stay tuned. If you want to shape the future of the Sigma standard, join the discussion and start contributing today to the <a href="https://github.com/SigmaHQ/sigma-specification">specification</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=25f81a926ff0" width="1" height="1" alt=""><hr><p><a href="https://blog.sigmahq.io/introducing-sigma-specification-v2-0-25f81a926ff0">Introducing Sigma Specification v2.0</a> was originally published in <a href="https://blog.sigmahq.io">Sigma_HQ</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Introducing Sigma Filters]]></title>
            <link>https://blog.sigmahq.io/introducing-sigma-filters-204bd8496273?source=rss----f7aebf45e114---4</link>
            <guid isPermaLink="false">https://medium.com/p/204bd8496273</guid>
            <category><![CDATA[detection-engineering]]></category>
            <category><![CDATA[security-operations]]></category>
            <category><![CDATA[sigma]]></category>
            <dc:creator><![CDATA[Alex]]></dc:creator>
            <pubDate>Thu, 25 Jul 2024 12:24:23 GMT</pubDate>
            <atom:updated>2024-07-25T12:24:23.683Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PUgu0VasRrLhsGsmSd3NeQ.jpeg" /></figure><p>As any Security Operations Center (SOC) analyst or engineer will tell you, there are two big challenges faced when hunting for threats within an environment.</p><p>The first is making sure you’re detecting the right thing. This covers everything from making sure your logsource is on-boarded properly, to all fields and values are named and mapped correctly, to testing and validating true-positive scenarios to ensure your detection rules are working as intended. This also entails designing your rule in such a way that it can’t be easily evaded by an attacker — so ensuring that the rule is wide enough to catch them given a wide range of circumstances and situations.<a href="#footnotes">*</a></p><p>The second — and arguably more frustrating — is minimising time triaging the wrong thing. This essentially entails filtering our “false-positives” detections, or alerts that have fired that are found to be benign.</p><p>Striking this balance is an art form.</p><p>Build rules too specific, and attackers might evade your detections. Build rules too generic, you and the rest of your SOC are going to grow linearly in accordance with the amount of triage needing to be done.</p><p>And casting a wide enough net of detection rules in order to ensure that attackers are promptly found vs ensuring your SOC isn’t ballooning with staff due to the number of incoming alerts requiring triage — is a challenge very often &amp; easily under-estimated.<a href="#footnotes">**</a></p><h3>Exclusions in Sigma</h3><p>Within the Sigma Detection ecosystem, these exclusions or “filters” are often represented as a not conditions applied to the initial detection.</p><pre>title: Network Connection Initiated Via Notepad.EXE<br>author: EagleEye Team<br>logsource:<br>    category: network_connection<br>    product: windows<br>detection:<br>    selection:<br>        Image|endswith: &#39;\notepad.exe&#39;<br>    filter:<br>        DestinationPort: 9100<br>    condition: selection and not filter<br>falsepositives:<br>    - Printing documents via notepad might cause communication with the printer via port 9100 or similar.</pre><p>Detects a network connection that is initiated by the “notepad.exe” process.</p><p>In this example, we want to filter out port 9100 as it&#39;s a <a href="https://en.wikipedia.org/wiki/List_of_printing_protocols">commonly used print protocol called AppSocket</a>.</p><p>But what if you don’t use AppSocket (9100) at your organisation, and instead use the more secure <a href="https://en.wikipedia.org/wiki/Internet_Printing_Protocol?useskin=vector">Internet Printing Protocol</a> (631)? Will this mean this alert will continue to fire every time someone prints from notepad? What if they open a document on a network drive?</p><p>The real problem with this approach is that filters that apply to everyone won’t capture the reality of your unique environment.</p><p>One other understated concern with publicising these filters as Sigma becomes more popular, attackers will attempt to use these excluded file paths, patterns and behaviours more and more over time — to hide from detection.</p><p>If you’re like most, you’ll download the Sigma rule into your <a href="https://en.wikipedia.org/wiki/Security_information_and_event_management">SIEM</a>, intertwine your own environments’ concerns with the concern of the detection itself — making some hybrid creature of detection and exclusion.</p><pre># ...<br>detection:<br>    selection:<br>        Image|endswith: &#39;\notepad.exe&#39;<br>    filter_printing:<br>        DestinationPort: 631<br>        DestinationIp|cidr: <br>            - 192.168.24.0/24   # Printer Network<br>    filter_file_share:<br>        DestinationPort: <br>            - 445<br>            - 139<br>        DestinationIp|cidr: <br>            - 192.168.32.0/24   # Fileshare Network<br>    condition: selection and not (filter_printing or filter_file_share)<br># ...</pre><blockquote>An updated Sigma rule with new custom exclusions added</blockquote><p>Now you’ve “tuned” this rule for your organisation, you’re now unable to share this Sigma rule with anyone else, as they may use a different technologies, network address allocations etc.</p><p>The other issue is that now you’ve written this explicitly for a single rule, you might have to update 10s of other rules with the same kind of filter.</p><p>We wanted to fix this.</p><h3>Introducing Sigma Filters</h3><p>This is where Sigma Filters rules — or simply “Sigma Filters” — are designed to help with this. Sigma Filter rules are built as an extension on the Sigma rule format — that allow you to build filters that sit independently from your Sigma rules.</p><p>Made possible from the development around <a href="https://github.com/SigmaHQ/pySigma">pySigma</a> — a full re-write of the Sigma conversion strategy — we designed Filters to re-think how SOCs write, develop and integrate exclusions into their Sigma detection-as-code strategy.</p><p>Let’s start with a simplified detection of the Sigma rule above.</p><pre>title: Network Connection Initiated Via Notepad.EXE<br>name: network_connection_initiated_via_notepad_exe<br>author: EagleEye Team<br>logsource:<br>    category: network_connection<br>    product: windows<br>detection:<br>    selection:<br>        Image|endswith: &#39;\notepad.exe&#39;<br>    condition: selection<br>falsepositives:<br>    - Printing documents via notepad might cause communication with the printer via port 9100, 631.<br>    - Loading files from the internet, or an SMB share.</pre><p>We can combine this Sigma rule with a “Sigma Filter” rule to ensure that these concerns remain separate. The goal of this is to ensure that the initial Sigma rule remains as generically applicable as possible.</p><p>Let’s store this file in a new folder called filters at ./filters/windows/filter_out_file_sharing_and_printer_networks.yml</p><pre>title: Filter out File Sharing and Printer Networks<br>description: &gt;<br>    Filters out Company XXXXXXXXX file sharing servers and printer servers. These are often visted by our MS Office (Word) and notepad.txt users.<br>logsource:<br>    product: windows<br>filter:<br>    rules:<br>      - network_connection_initiated_via_notepad_exe<br>    filter_printing:<br>        DestinationPort: 631<br>        DestinationIp|cidr:<br>            - 192.168.24.0/24   # Printer Network<br>    filter_file_share:<br>        DestinationPort:<br>            - 445<br>            - 139<br>        DestinationIp|cidr:<br>            - 192.168.32.0/24   # Fileshare Network<br>    condition: not filter_printing and not filter_file_share</pre><blockquote>A Sigma Filter for excluding File Sharing and Printer Networks</blockquote><p>Note that we now supply the filter keyword instead of the detection keyword, and we supply a list of rule references in a list, either by the rule&#39;s name , or by the rule&#39;s id .</p><p>When we convert this using the sigma-cli command, we end up with the following query:</p><pre>$ sigma convert -t lucene -p ecs_windows \<br>    --filter ./filters \<br>    ./rules/windows/network_connection/net_connection_win_notepad.yml</pre><pre>process.executable:*\\notepad.exe AND ((NOT (destination.port:631 AND destination.ip:192.168.24.0\/24)) AND (NOT ((destination.port:(445 OR 139)) AND destination.ip:192.168.32.0\/24)))</pre><p>🎉 We’ve just applied our very first Filter to our detection rule.</p><p>The advantages of this at first don’t seem to be very obvious, but as SOCs mature, over time, each detection rule becomes fairly unwieldy, eventually becoming an unmanageable mess in some situations.<a href="#footnotes">**</a></p><p>We’re now also free to update the rules folder within our Sigma detection-as-code repo with any of the available <a href="https://blog.sigmahq.io/introducing-sigma-rule-packages-releases-76043ce42e81">rule-pack update</a> releases, without having to worry about merge-conflicts or our exclusion lists being removed.</p><p>With this addition, Sigma Filters can also be applied to more than one of our existing Sigma rules. This happens to be extremely useful for excluding or only-including certain hosts, users, or software from an entire list of detection rules — so no more copying the filter into each Sigma rule.</p><p>We hope you are as excited as we are about this release, and as of sigma-cli <a href="https://github.com/SigmaHQ/sigma-cli/releases/tag/v1.0.3">release v1.0.3</a>, you can start using them today.</p><p>If you’re curious about some of the details, <a href="https://sigmahq.io/docs/meta/filters.html">you can head over to the docs where we outline more about </a><a href="https://sigmahq.io/docs/meta/filters.html">filters and how to use them</a>.</p><h3>Future Steps</h3><p>Whilst this is an amazing first step for Sigma Meta Rules –with the announcement of <a href="https://blog.sigmahq.io/introducing-sigma-correlations-52fe377f2527">Sigma Correlations not too long ago</a> – there’s a lot that Sigma HQ and the wider the community is going to have to do to make this feature really wonderful to use.</p><p>The first by-far — in my opinion — is to start work on a sigma list rules command, in which Sigma Filters are listed in tree structure alongside their rule references. This would be to help debug some resultant queries – as it&#39;s no longer obvious or transparent how a query comes together at conversion time.</p><pre>$ sigma list rules ./rules</pre><pre>┬ Network Connection Initiated Via Notepad.EXE<br>├── Filter out File Sharing and Printer Networks<br>└── Filter out Service Accounts</pre><h4>Footnotes:</h4><p><em>* For further context </em>→<em> It’s important to note that most of these rules will return no results — as the behaviour the SOC is looking for only triggers when these malicious behaviours are enacted.</em></p><p><em>** Not only this — so often have I seen SOCs update a rule to exclude some behaviour — either in-SIEM or defined within a Github Pull Request — only to later find out that that same exclusion broke the initial detection, either by a typo or a badly escaped character</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=204bd8496273" width="1" height="1" alt=""><hr><p><a href="https://blog.sigmahq.io/introducing-sigma-filters-204bd8496273">Introducing Sigma Filters</a> was originally published in <a href="https://blog.sigmahq.io">Sigma_HQ</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Introducing Sigma Correlations]]></title>
            <link>https://blog.sigmahq.io/introducing-sigma-correlations-52fe377f2527?source=rss----f7aebf45e114---4</link>
            <guid isPermaLink="false">https://medium.com/p/52fe377f2527</guid>
            <category><![CDATA[sigma-rules]]></category>
            <category><![CDATA[event-correlation]]></category>
            <category><![CDATA[detection-engineering]]></category>
            <dc:creator><![CDATA[Thomas Patzke]]></dc:creator>
            <pubDate>Tue, 11 Jun 2024 22:31:00 GMT</pubDate>
            <atom:updated>2024-06-11T22:30:59.992Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="A AI-generated picture of small boxes that appear like small devices interconnected with multiple cables between each other to illustrate event correlations." src="https://cdn-images-1.medium.com/max/1024/1*abZCbL9BWwRk6ZvI9m3DtA.jpeg" /></figure><p>One of the most requested features for Sigma in the last years was the ability to express correlation searches. Since Sigma was introduced, its main focus was set on matching single log events. The first version of the Sigma specification defined a syntax for piped aggregation expressions, but this first approach to match multiple events in defined combinations had various issues and some important aspects were underspecified. Furthermore, sigmac didn’t provided much support in implementing conversion support for this kind of expressions and such, only few backends implemented this feature.</p><p>To overcome the shortcomings of the aggregation expressions, a new Sigma rule type dedicated to correlation of events <a href="https://github.com/SigmaHQ/sigma-specification/blob/version_2/appendix_meta_rules.md#correlation-rules-1">was specified</a> by the Sigma project core team and community members. It was released in pySigma in the beginning of 2024 and two backends, Splunk and Elasticsearch ES|QL, support converting correlation rules to queries at the time of writing this post.</p><h3>Correlation Basics</h3><p>Generally, event correlation search first matches events that belong somehow together, e.g. failed logon events. These singular events are aggregated into buckets which are defined at least by a time frame where events should be considered as belonging together. In addition, field values can form additional grouping criteria. In the example above, the failed logons could be grouped by the source IP or by the target user name or for both.</p><p>Finally, a condition must be defined, which of these event buckets are relevant. Your SOC possibly shouldn’t care about a single failed logon, but ten failed logons for a single user are of interest because this could be a brute force attack against a user as well as failed logons for hundred different users from the same source address which could be a password spraying attack.</p><p>Sigma Correlation rules have the goal to express such rules in a generic way that allows to convert these rules into target query languages that support all required features.</p><p>One remark on the time frame used: while the Sigma specification recommends a sliding time window, this is not a hard requirement. In many query languages and data analysis platforms it’s more efficient to slice the time into static chunks, e.g. full minutes. Some are only capable to do this. Such implementation is also legitimate.</p><h3>Correlation Rule Example</h3><p>Lets starts with a basic example of a correlation rule:</p><pre>title: Failed logon<br>name: failed_logon<br>status: test<br>logsource:<br>    product: windows<br>    service: security<br>detection:<br>    selection:<br>        EventID: 4625<br>    condition: selection<br>---<br>title: Multiple failed logons for a single user (possible brute force attack)<br>status: test<br>correlation:<br>    type: event_count<br>    rules:<br>        - failed_logon<br>    group-by:<br>        - TargetUserName<br>        - TargetDomainName<br>    timespan: 5m<br>    condition:<br>        gte: 10</pre><p>A correlation rule shares lots of fields like <em>title</em>, <em>id</em>, <em>status </em>and many others with basic Sigma rules. Instead of defining a single event with alogsource and detection attribute, a correlation element defines the properties of the correlation.</p><p>As described in the basics above, a correlation rule doesn’t exist for itself but always<em> refers to Sigma rules</em> as we already know them from its rules attribute by referring rules by their nameor their id. Reference by name is preferred because of its better readability.</p><p>Because correlation rules define relationships between events, a <em>time span </em>must be defined in which the relationship occurs. This highly depends on the kind of correlation. While malware execution behavior often occurs within few seconds (e.g. writing a file and executing it), user behavior or brute force attacks can span across minutes or even hours.</p><p>The group-by attribute can be used to define additional fields by which the matched events are grouped. In the example above the events are counted by a user account and its domain.</p><p>The conditionattribute finally defines together with the other attributes of the correlation the condition under which the correlation of events matches. In the above example the matched events are aggregated by five minute slots in addition to the grouping fields TargetUserName and TargetDomainName. Only if more than 10 events with the same field values appear within the given time frame it is a match and possibly a brute force attack on a specific user that should be investigated.</p><h3>Four Flavors of Correlations</h3><p>Sigma currently supports four different correlation types that are described in the following sections. Please be aware that not all backends support all of these correlation types. Especially the ordered temporal correlation is widely unsupported at the moment.</p><h4>Event Count Correlations</h4><p>The <em>event count correlation</em> simply counts the events in the aggregation bucket. This correlation type is usually chosen if it is just relevant if an event happens often or rarely in a given time frame. Some examples are:</p><ul><li>Brute force attacks where a logon failure count exceeds a given threshold.</li><li>Denial of Service attacks where a connection count threshold is exceeded.</li><li>Log source reliability issues, when the amount of events falls below a threshold.</li></ul><h4>Value Count Correlations</h4><p>A <em>value count correlation</em> counts the distinct values of a given field in the aggregation bucket. This correlation type is useful to detect if multiple events of the same kind occur with a specific high or low amount of entities. Examples:</p><ul><li>Network scans where a single source IP tries to connect to <em>many destination IPs and/or ports</em>.</li><li>Password spraying attacks, where a single source fails to authenticate with <em>many different users</em>.</li><li>Some tools like BloodHound can be detected by enumeration of certain high-privilege AD groups within a short time frame. This correlation rule reliably detects BloodHound scans conducted with default options:</li></ul><pre>title: High-privilege group enumeration<br>name: privileged_group_enumeration<br>status: stable<br>logsource:<br>    product: windows<br>    service: security<br>detection:<br>    selection:<br>        EventID: 4799<br>        CallerProcessId: 0x0<br>        TargetUserName:<br>            - Administrators<br>            - Remote Desktop Users<br>            - Remote Management Users<br>            - Distributed COM Users<br>    condition: selection<br>level: informational<br>falsepositives:<br>    - Administrative activity<br>    - Directory assessment tools<br>---<br>title: Enumeration of multiple high-privilege groups by tools like BloodHound<br>status: stable<br>correlation:<br>    type: value_count<br>    rules:<br>        - privileged_group_enumeration<br>    group-by:<br>        - SubjectUserName<br>    timespan: 15m<br>    condition:<br>        gte: 4<br>        field: TargetUserName<br>level: high<br>falsepositives:<br>    - Administrative activity<br>    - Directory assessment tools</pre><h4>Temporal Event Correlations</h4><p>A <em>temporal event correlation</em> determines if multiple different event types occur in temporal proximity. Examples:</p><ul><li>A brute force or password spraying attack where failed logon events appear together with successful logons from the same source could mean that the attack was successful and should be handled with increased priority.</li><li>Vulnerability exploitation by detecting a connection to a vulnerable API endpoint together with a process creation:</li></ul><pre>title: CVE-2023-22518 Exploit Chain<br>description: Access to endpoint vulnerable to CVE-2023-22518 with suspicious process creation.<br>status: experimental<br>correlation:<br>    type: temporal<br>    rules:<br>        - a902d249-9b9c-4dc4-8fd0-fbe528ef965c<br>        - 1ddaa9a4-eb0b-4398-a9fe-7b018f9e23db<br>    timespan: 10s<br>level: high</pre><p>This rule correlates two existing medium-severity rules for the confluence vulnerability CVE-2023–22518 from the SigmaHQ rule repository. The <a href="https://github.com/SigmaHQ/sigma/blob/ae45e83c73fa2c7bca828e359998bcf8c97e2b92/rules-emerging-threats/2023/Exploits/CVE-2023-22518/web_exploit_cve_2023_22518_confluence_auth_bypass.yml">first rule <em>web_exploit_cve_2023_22518_confluence_auth_bypass.yml</em></a> detects an access to the vulnerable web endpoint that is not sufficient for detection of a successful exploit because the endpoints also have legitimate use cases. The <a href="https://github.com/SigmaHQ/sigma/blob/ae45e83c73fa2c7bca828e359998bcf8c97e2b92/rules-emerging-threats/2023/Exploits/CVE-2023-22518/proc_creation_win_exploit_cve_2023_22518_confluence_tomcat_child_proc.yml">second rule <em>proc_creation_win_exploit_cve_2023_22518_confluence_tomcat_child_proc.yml</em></a> detects a suspicious shell execution by the Confluence Tomcat process. This event can also happen legitimately for various reasons and therefore only has a medium severity.</p><p>The correlation rule is triggered if both events appear within ten seconds. The severity of the aggregated event was raised to high because both events together are more likely a successful exploitation than just the single events this correlation consists from.</p><h4>Ordered Temporal Correlations</h4><p>The <em>ordered temporal correlation</em> is similar to the former, but adds the order of the events as another condition. Generally, the usage of this correlation type should be considered very carefully because of various reasons:</p><ul><li>Often, the appearance of certain events in a specific time frame is already sufficient for the detection. E.g. the famous example of multiple failed logons <em>followed</em> by a successful one delivers mostly the same results if the failed and successful logon <em>just appear within</em> the same time frame.</li><li>Compared to the temporal correlation the queries required to check the order are usually more complex and less efficient.</li><li>Some backends don’t implement support for ordered temporal correlation or it’s even not possible to implement this within a query language.</li><li>Especially when events appear very near to each other and events from different log sources are correlated, different time resolutions and clock skews can cause that the events appear in a different order as they occurred.</li></ul><p>Altogether, this correlation type should only be used if really required.</p><h3>Field Aliases</h3><p>Sometimes it is required to correlate fields that have different names in their respective log sources. This can even happen in cases where field names are normalized. One example of such a situation is when the correlation rule must aggregate by source IP with the destination IP in another event type. This can be achieved with field aliases that form another attribute within the correlation attribute:</p><pre>correlation:<br>    type: temporal<br>    rules:<br>        - rule_with_src_ip<br>        - rule_with_dest_ip<br>    aliases:<br>        ip:<br>            rule_with_src_ip: src_ip<br>            rule_with_dest_ip: dest_ip<br>    group-by:<br>        - ip<br>    timespan: 5m</pre><p>The aliases attribute defines a virtual field ip that is mapped from the field src_ip in the events matched by rule rule_with_src_ip and from dest_ip in the vents matched by the rule rule_with_dest_ip. The defined field ip is then used in the group-by field list as aggregation field name.</p><h3>Conversion</h3><p>Conversion of correlation rules is pretty straightforward. Just a version of pySigma with correlation support is required. Because the rule file contains the base event Sigma rule as well as the correlation rule, the first example can simply be converted by specifying it on the command line:</p><pre>sigma convert -t splunk -p crowdstrike_fdr .\susp_privileged_group_enumeration.yml</pre><p>And results in the following query:</p><pre>EventID=4799 CallerProcessId=0 TargetUserName IN (&quot;Administrators&quot;, &quot;Remote Desktop Users&quot;, &quot;Remote Management Users&quot;, &quot;Distributed COM Users&quot;)<br><br>| bin _time span=15m<br>| stats dc(TargetUserName) as value_count by _time SubjectUserName<br><br>| search value_count &gt;= 4</pre><p>Because the correlation rule in the second example is not self-contained in the same way as in the first, the rules referred from the correlation rules must also be specified on the command line:</p><pre>sigma convert -t esql -p sysmon ..\sigma\rules-emerging-threats\2023\Exploits\CVE-2023–22518 .\exploit_chain_cve-2023–22518.yml</pre><p>In this command line, the whole directory containing all rules related to CVE-2023–22518 was specified. It is also possible to put all rules into the same directory. All directories and files given on the command line are treated as one Sigma rule collection. The result contains the ES|QL query resulting from the correlation rule:</p><pre>from * | where (`cs-method`==&quot;POST&quot; and (`cs-uri-query` like &quot;*/json/setup-restore-local.action*&quot; or `cs-uri-query` like &quot;*/json/setup-restore-progress.action*&quot; or `cs-uri-query` like &quot;*/json/setup-restore.action*&quot; or `cs-uri-query` like &quot;*/server-info.action*&quot; or `cs-uri-query` like &quot;*/setup/setupadministrator.action*&quot;) and (`sc-status` in (200, 302, 405))) or (EventID==1 and (ends_with(ParentImage, &quot;\\tomcat8.exe&quot;) or ends_with(ParentImage, &quot;\\tomcat9.exe&quot;) or ends_with(ParentImage, &quot;\\tomcat10.exe&quot;)) and ParentCommandLine like &quot;*confluence*&quot; and (ends_with(Image, &quot;\\cmd.exe&quot;) or ends_with(Image, &quot;\\powershell.exe&quot;) or OriginalFileName in (&quot;Cmd.Exe&quot;, &quot;PowerShell.EXE&quot;)))<br>| eval event_type=case(`cs-method`==&quot;POST&quot; and (`cs-uri-query` like &quot;*/json/setup-restore-local.action*&quot; or `cs-uri-query` like &quot;*/json/setup-restore-progress.action*&quot; or `cs-uri-query` like &quot;*/json/setup-restore.action*&quot; or `cs-uri-query` like &quot;*/server-info.action*&quot; or `cs-uri-query` like &quot;*/setup/setupadministrator.action*&quot;) and (`sc-status` in (200, 302, 405)), &quot;a902d249-9b9c-4dc4-8fd0-fbe528ef965c&quot;, EventID==1 and (ends_with(ParentImage, &quot;\\tomcat8.exe&quot;) or ends_with(ParentImage, &quot;\\tomcat9.exe&quot;) or ends_with(ParentImage, &quot;\\tomcat10.exe&quot;)) and ParentCommandLine like &quot;*confluence*&quot; and (ends_with(Image, &quot;\\cmd.exe&quot;) or ends_with(Image, &quot;\\powershell.exe&quot;) or OriginalFileName in (&quot;Cmd.Exe&quot;, &quot;PowerShell.EXE&quot;)), &quot;1ddaa9a4-eb0b-4398-a9fe-7b018f9e23db&quot;)<br>| eval timebucket=date_trunc(10seconds, @timestamp) | stats event_type_count=count_distinct(event_type) by timebucket<br>| where event_type_count &gt;= 2</pre><p>In addition, the result contains the queries from Sigma rules contained in the specified directory that were not referred by the correlation rule. The rules referred by the correlation rule don’t appear anymore as standalone queries in the conversion result. This behavior can be controlled with the generate attribute of a correlation rule. If this is set to true then the referred rules are also converted into stand-alone queries. This is useful to emit events from the single events with a lower severity as well as high-severity events if the correlation is triggered.</p><p>The example shows also that it is possible to define custom correlation rules referring to rules from a third-party repository and can be useful in situations where third-party rules cause too many false positives.</p><h3>Final Thoughts</h3><p>Sigma Correlations add the long awaited capability to express detections correlating multiple events in an open and vendor-agnostic way to Sigma. This enables various use cases:</p><ul><li>Writing detections where a single event is not sufficient to detect a notable event like a file write to a suspicious location together with a process creation within a short timeframe.</li><li>Correlating multiple existing detections that detect suspicious behaviors only with a low or medium confidence or with a high false positive rate into a high-confidence detection.</li><li>Aggregating multiple informational events that are normally not suitable for raising cases to analysts into a behavioral “super-rule” that raises a case when multiple of such events appear together in a short timeframe.</li></ul><p>As usual with new features it is tempting to use correlations for detections, possibly in cases where they are don’t provide any gain or their usage could be even counterproductive. Therefore, the usage of correlation rules should be well considered. A detection engineer should ask the following questions before a detection is expressed as correlation rule:</p><ul><li>Are the single events already sufficient to detect a malicious behavior? A high-confidence single-event detection with a low false positive rate doesn’t needs any further correlation with other events. It could even get worse if a critical even is missed because one of the other expected events don’t occur.</li><li>Are there possibilities to miss events? Can the attacker control the events in a way that the correlation rule doesn’t detects the event anymore? Correlations often include an assumption about attacker behavior, e.g. the attacker directly uses a web shell after it was dropped. But what is if the attacker defers the steps from each others or slows down to stay below a specific rate of events? Are there still detections left that catch the malicious behavior or one of the likely subsequent behaviors?</li><li>Is less more? Does the additional condition possibly cause more false negatives than reducing false positives? It should be the goal of a detection to minimize the conditions it has. Or the other way around: each condition that is added to a detection should reduce false positives while ideally adding no possibility to miss true positives. Using correlations is nothing more than adding another condition</li></ul><p>If one or multiple questions were answered with <em>yes</em>, correlations could be the wrong detection technique and detecting a singular event could be the better way to go. Or choose something in between and detect the singular events with a lower severity and the correlation with a higher one.</p><p>And now: start to write the correlation rules you had in mind but wasn’t able to write them as Sigma rule! Soon we will open the open source SigmaHQ repository for sharing correlation rules. If you have any questions or suggestions, feel free to join the <a href="https://discord.gg/sn8eDtuh9h">SigmaHQ Community on Discord</a> or <a href="https://github.com/SigmaHQ/sigma-specification/discussions/new?category=q-a">start a discussion on GitHub</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=52fe377f2527" width="1" height="1" alt=""><hr><p><a href="https://blog.sigmahq.io/introducing-sigma-correlations-52fe377f2527">Introducing Sigma Correlations</a> was originally published in <a href="https://blog.sigmahq.io">Sigma_HQ</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SigmaHQ Rules Release Highlights — r2024–05–13]]></title>
            <link>https://blog.sigmahq.io/sigmahq-rules-release-highlights-r2024-05-13-237ed77459bf?source=rss----f7aebf45e114---4</link>
            <guid isPermaLink="false">https://medium.com/p/237ed77459bf</guid>
            <category><![CDATA[sigma-release]]></category>
            <category><![CDATA[windows]]></category>
            <category><![CDATA[blue-team]]></category>
            <category><![CDATA[siem]]></category>
            <category><![CDATA[endpoint-security]]></category>
            <dc:creator><![CDATA[Nasreddine Bencherchali]]></dc:creator>
            <pubDate>Mon, 13 May 2024 21:02:18 GMT</pubDate>
            <atom:updated>2024-05-13T21:02:18.483Z</atom:updated>
            <content:encoded><![CDATA[<h3>SigmaHQ Rules Release Highlights — r2024–05–13</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/756/1*kB97-2KBY_gksi-O19TXlw.png" /><figcaption><a href="https://github.com/SigmaHQ/sigma/releases/tag/r2024-05-13">https://github.com/SigmaHQ/sigma/releases/tag/r2024-05-13</a></figcaption></figure><p>Sigma Rule Packages for 13–05–2024 are released and available for <a href="https://github.com/SigmaHQ/sigma/releases/tag/r2024-05-13">download</a>. This release saw the addition of <strong>16 new rules</strong>, <strong>7 rule updates </strong>and <strong>1 rule fix </strong>by <strong>7 </strong>contributors.</p><h3>New Rules</h3><p>Some highlights for the newer rules include, rules covering different cases on how Wbadmin can be abused to dump/restore sensitive files and delete backups.</p><pre>title: File Recovery From Backup Via Wbadmin.EXE<br>id: 6fe4aa1e-0531-4510-8be2-782154b73b48<br>related:<br>    - id: 84972c80-251c-4c3a-9079-4f00aad93938<br>      type: derived<br>status: experimental<br>description: |<br>    Detects the recovery of files from backups via &quot;wbadmin.exe&quot;.<br>    Attackers can restore sensitive files such as NTDS.DIT or Registry Hives from backups in order to potentially extract credentials.<br>references:<br>    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/wbadmin-start-recovery<br>    - https://lolbas-project.github.io/lolbas/Binaries/Wbadmin/<br>author: Nasreddine Bencherchali (Nextron Systems), frack113<br>date: 2024/05/10<br>tags:<br>    - attack.impact<br>    - attack.t1490<br>logsource:<br>    category: process_creation<br>    product: windows<br>detection:<br>    selection_img:<br>        - Image|endswith: &#39;\wbadmin.exe&#39;<br>        - OriginalFileName: &#39;WBADMIN.EXE&#39;<br>    selection_cli:<br>        CommandLine|contains|all:<br>            - &#39; recovery&#39;<br>            - &#39;recoveryTarget&#39;<br>            - &#39;itemtype:File&#39;<br>    condition: all of selection_*<br>falsepositives:<br>    - Unknown<br>level: medium</pre><pre>title: Sensitive File Dump Via Wbadmin.EXE<br>id: 8b93a509-1cb8-42e1-97aa-ee24224cdc15<br>status: experimental<br>description: |<br>    Detects the dump of highly sensitive files such as &quot;NTDS.DIT&quot; and &quot;SECURITY&quot; hive.<br>    Attackers can leverage the &quot;wbadmin&quot; utility in order to dump sensitive files that might contain credential or sensitive information.<br>references:<br>    - https://github.com/LOLBAS-Project/LOLBAS/blob/2cc01b01132b5c304027a658c698ae09dd6a92bf/yml/OSBinaries/Wbadmin.yml<br>    - https://lolbas-project.github.io/lolbas/Binaries/Wbadmin/<br>    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/wbadmin-start-recovery<br>    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/wbadmin-start-backup<br>author: Nasreddine Bencherchali (Nextron Systems), frack113<br>date: 2024/05/10<br>tags:<br>    - attack.credential_access<br>    - attack.t1003.003<br>logsource:<br>    category: process_creation<br>    product: windows<br>detection:<br>    selection_img:<br>        - Image|endswith: &#39;\wbadmin.exe&#39;<br>        - OriginalFileName: &#39;WBADMIN.EXE&#39;<br>    selection_backup:<br>        CommandLine|contains:<br>            - &#39;start&#39;<br>            - &#39;backup&#39;<br>    selection_path:<br>        CommandLine|contains:<br>            - &#39;\config\SAM&#39;<br>            - &#39;\config\SECURITY&#39;<br>            - &#39;\config\SYSTEM&#39;<br>            - &#39;\Windows\NTDS\NTDS.dit&#39;<br>    condition: all of selection_*<br>falsepositives:<br>    - Legitimate backup operation by authorized administrators. Matches must be investigated and allowed on a case by case basis.<br>level: high</pre><p>New rules covering usage of the PowerShell cmdlets <strong>“Start-NetEventSession”</strong> and <strong>“New-NetFirewallRule”</strong> which allows attacker to capture packets and create new firewall rules respectively.</p><pre>title: New Windows Firewall Rule Added Via New-NetFirewallRule Cmdlet - ScriptBlock<br>id: 8d31dd2e-b582-48ca-826e-dcaa2c1ca264<br>related:<br>    - id: 51483085-0cba-46a8-837e-4416496d6971<br>      type: similar<br>status: experimental<br>description: |<br>    Detects when a powershell script contains calls to the &quot;New-NetFirewallRule&quot; cmdlet in order to add a new firewall rule with an &quot;Allow&quot; action.<br>references:<br>    - https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1562.004/T1562.004.md#atomic-test-24---set-a-firewall-rule-using-new-netfirewallrule<br>    - https://malware.news/t/the-rhysida-ransomware-activity-analysis-and-ties-to-vice-society/72170<br>    - https://cybersecuritynews.com/rhysida-ransomware-attacking-windows/<br>author: frack113<br>date: 2024/05/10<br>tags:<br>    - attack.defense_evasion<br>    - attack.t1562.004<br>    - detection.threat_hunting<br>logsource:<br>    product: windows<br>    category: ps_script<br>    definition: &#39;Requirements: Script Block Logging must be enabled&#39;<br>detection:<br>    selection:<br>        ScriptBlockText|contains: &#39;New-NetFirewallRule*-Action*Allow&#39;<br>    condition: selection<br>falsepositives:<br>    - Administrator script<br>level: low</pre><pre>title: Potential Packet Capture Activity Via Start-NetEventSession - ScriptBlock<br>id: da34e323-1e65-42db-83be-a6725ac2caa3<br>status: experimental<br>description: |<br>    Detects the execution of powershell scripts with calls to the &quot;Start-NetEventSession&quot; cmdlet. Which allows an attacker to start event and packet capture for a network event session.<br>    Adversaries may attempt to capture network to gather information over the course of an operation.<br>    Data captured via this technique may include user credentials, especially those sent over an insecure, unencrypted protocol.<br>references:<br>    - https://github.com/redcanaryco/atomic-red-team/blob/5f866ca4517e837c4ea576e7309d0891e78080a8/atomics/T1040/T1040.md#atomic-test-16---powershell-network-sniffing<br>    - https://github.com/0xsyr0/Awesome-Cybersecurity-Handbooks/blob/7b8935fe4c82cb64d61343de1a8b2e38dd968534/handbooks/10_post_exploitation.md<br>    - https://github.com/forgottentq/powershell/blob/9e616363d497143dc955c4fdce68e5c18d28a6cb/captureWindows-Endpoint.ps1#L13<br>author: frack113<br>date: 2024/05/12<br>tags:<br>    - attack.credential_access<br>    - attack.discovery<br>    - attack.t1040<br>logsource:<br>    product: windows<br>    category: ps_script<br>    definition: &#39;Requirements: Script Block Logging must be enabled&#39;<br>detection:<br>    selection:<br>        ScriptBlockText|contains: &#39;Start-NetEventSession&#39;<br>    condition: selection<br>falsepositives:<br>    - Legitimate network diagnostic scripts.<br>level: medium</pre><p>In addition to this a new rule covering potentially suspicious child processes of “KeyScrambler.exe”.</p><pre>title: Potentially Suspicious Child Process of KeyScrambler.exe<br>id: ca5583e9-8f80-46ac-ab91-7f314d13b984<br>related:<br>    - id: d2451be2-b582-4e15-8701-4196ac180260<br>      type: similar<br>status: experimental<br>description: Detects potentially suspicious child processes of KeyScrambler.exe<br>references:<br>    - https://twitter.com/DTCERT/status/1712785421845790799<br>author: Swachchhanda Shrawan Poudel<br>date: 2024/05/13<br>tags:<br>    - attack.execution<br>    - attack.defense_evasion<br>    - attack.privilege_escalation<br>    - attack.t1203<br>    - attack.t1574.002<br>logsource:<br>    category: process_creation<br>    product: windows<br>detection:<br>    selection_parent:<br>        ParentImage|endswith: &#39;\KeyScrambler.exe&#39;<br>    selection_binaries:<br>        # Note: add additional binaries that the attacker might use<br>        - Image|endswith:<br>              - &#39;\cmd.exe&#39;<br>              - &#39;\cscript.exe&#39;<br>              - &#39;\mshta.exe&#39;<br>              - &#39;\powershell.exe&#39;<br>              - &#39;\pwsh.exe&#39;<br>              - &#39;\regsvr32.exe&#39;<br>              - &#39;\rundll32.exe&#39;<br>              - &#39;\wscript.exe&#39;<br>        - OriginalFileName:<br>              - &#39;Cmd.Exe&#39;<br>              - &#39;cscript.exe&#39;<br>              - &#39;mshta.exe&#39;<br>              - &#39;PowerShell.EXE&#39;<br>              - &#39;pwsh.dll&#39;<br>              - &#39;regsvr32.exe&#39;<br>              - &#39;RUNDLL32.EXE&#39;<br>              - &#39;wscript.exe&#39;<br>    condition: all of selection_*<br>falsepositives:<br>    - Unknown<br>level: medium</pre><p>Check the full release changelog for a complete list of new rules.</p><h3>New Updates</h3><p>Some older rules have seen improvements in coverage and metadata as well.</p><p>First a couple of rules that leverage the <strong>“Microsoft-Windows-Windows Firewall With Advanced Security”</strong> have seen the addition of the EID 2097 to increase coverage.</p><pre>title: New Firewall Rule Added In Windows Firewall Exception List For Potential Suspicious Application<br>id: 9e2575e7-2cb9-4da1-adc8-ed94221dca5e<br>related:<br>    - id: cde0a575-7d3d-4a49-9817-b8004a7bf105<br>      type: derived<br>status: experimental<br>description: Detects the addition of a new rule to the Windows Firewall exception list for an application located in a potentially suspicious location.<br>references:<br>    - https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-r2-and-2008/dd364427(v=ws.10)<br>    - https://app.any.run/tasks/7123e948-c91e-49e0-a813-00e8d72ab393/#<br>author: frack113<br>date: 2023/02/26<br>modified: 2024/05/10<br>tags:<br>    - attack.defense_evasion<br>    - attack.t1562.004<br>logsource:<br>    product: windows<br>    service: firewall-as<br>detection:<br>    selection:<br>        EventID:<br>            - 2004 # A rule has been added to the Windows Defender Firewall exception list. (Windows 10)<br>            - 2071 # A rule has been added to the Windows Defender Firewall exception list. (Windows 11)<br>            - 2097<br>        ApplicationPath|contains:<br>            - &#39;:\PerfLogs\&#39;<br>            - &#39;:\Temp\&#39;<br>            - &#39;:\Tmp\&#39;<br>            - &#39;:\Users\Public\&#39;<br>            - &#39;:\Windows\Tasks\&#39;<br>            - &#39;:\Windows\Temp\&#39;<br>            - &#39;\AppData\Local\Temp\&#39;<br>    filter_main_block:<br>        Action: 2 # Block<br>    condition: selection and not 1 of filter_main_*<br>falsepositives:<br>    - Unknown<br>level: high</pre><pre>title: Uncommon New Firewall Rule Added In Windows Firewall Exception List<br>id: cde0a575-7d3d-4a49-9817-b8004a7bf105<br>status: experimental<br>description: Detects when a rule has been added to the Windows Firewall exception list<br>references:<br>    - https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-r2-and-2008/dd364427(v=ws.10)<br>author: frack113<br>date: 2022/02/19<br>modified: 2024/05/10<br>tags:<br>    - attack.defense_evasion<br>    - attack.t1562.004<br>logsource:<br>    product: windows<br>    service: firewall-as<br>detection:<br>    selection:<br>        EventID:<br>            - 2004 # A rule has been added to the Windows Defender Firewall exception list<br>            - 2071 # A rule has been added to the Windows Defender Firewall exception list. (Windows 11)<br>            - 2097<br>    filter_main_block:<br>        Action: 2 # Block<br>    filter_main_generic:<br>        ApplicationPath|contains:<br>            - &#39;:\Program Files (x86)\&#39;<br>            - &#39;:\Program Files\&#39;<br>            - &#39;:\Windows\System32\&#39;<br>            - &#39;:\Windows\SysWOW64\&#39;<br>            - &#39;:\Windows\WinSxS\&#39;<br>    filter_optional_msmpeng:<br>        ModifyingApplication|contains|all:<br>            - &#39;:\ProgramData\Microsoft\Windows Defender\Platform\&#39;<br>            - &#39;\MsMpEng.exe&#39;<br>    filter_main_covered_paths:<br>        # This filter is added to avoid duplicate alerting from 9e2575e7-2cb9-4da1-adc8-ed94221dca5e<br>        ApplicationPath|contains:<br>            - &#39;:\PerfLogs\&#39;<br>            - &#39;:\Temp\&#39;<br>            - &#39;:\Tmp\&#39;<br>            - &#39;:\Users\Public\&#39;<br>            - &#39;:\Windows\Tasks\&#39;<br>            - &#39;:\Windows\Temp\&#39;<br>            - &#39;\AppData\Local\Temp\&#39;<br>    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*<br>level: medium</pre><p>Additional paths and processes were added to the rule “Potentially Suspicious Execution Of PDQDeployRunner”. Which is a utility often leveraged by some ransomware threat actors to deploy malware accross the evinronement.</p><pre>title: Potentially Suspicious Execution Of PDQDeployRunner<br>id: 12b8e9f5-96b2-41e1-9a42-8c6779a5c184<br>related:<br>    - id: d679950c-abb7-43a6-80fb-2a480c4fc450<br>      type: similar<br>status: test<br>description: Detects suspicious execution of &quot;PDQDeployRunner&quot; which is part of the PDQDeploy service stack that is responsible for executing commands and packages on a remote machines<br>references:<br>    - https://twitter.com/malmoeb/status/1550483085472432128<br>author: Nasreddine Bencherchali (Nextron Systems)<br>date: 2022/07/22<br>modified: 2024/05/02<br>tags:<br>    - attack.execution<br>logsource:<br>    category: process_creation<br>    product: windows<br>detection:<br>    selection_parent:<br>        ParentImage|contains: &#39;\PDQDeployRunner-&#39;<br>    selection_child:<br>        # Improve this section by adding other suspicious processes, commandlines or paths<br>        - Image|endswith:<br>              # If you use any of the following processes legitimately comment them out<br>              - &#39;\bash.exe&#39;<br>              - &#39;\certutil.exe&#39;<br>              - &#39;\cmd.exe&#39;<br>              - &#39;\csc.exe&#39;<br>              - &#39;\cscript.exe&#39;<br>              - &#39;\dllhost.exe&#39;<br>              - &#39;\mshta.exe&#39;<br>              - &#39;\msiexec.exe&#39;<br>              - &#39;\regsvr32.exe&#39;<br>              - &#39;\rundll32.exe&#39;<br>              - &#39;\scriptrunner.exe&#39;<br>              - &#39;\wmic.exe&#39;<br>              - &#39;\wscript.exe&#39;<br>              - &#39;\wsl.exe&#39;<br>        - Image|contains:<br>              - &#39;:\ProgramData\&#39;<br>              - &#39;:\Users\Public\&#39;<br>              - &#39;:\Windows\TEMP\&#39;<br>              - &#39;\AppData\Local\Temp&#39;<br>        - CommandLine|contains:<br>              - &#39; -decode &#39;<br>              - &#39; -enc &#39;<br>              - &#39; -encodedcommand &#39;<br>              - &#39; -w hidden&#39;<br>              - &#39;DownloadString&#39;<br>              - &#39;FromBase64String&#39;<br>              - &#39;http&#39;<br>              - &#39;iex &#39;<br>              - &#39;Invoke-&#39;<br>    condition: all of selection_*<br>falsepositives:<br>    - Legitimate use of the PDQDeploy tool to execute these commands<br>level: medium</pre><p>Check the full release changelog for a complete list of updates.</p><h3>Fixes</h3><p>This release have seen a single fix regarding a missing modifier which made the rule <strong>“Forest Blizzard APT — Process Creation Activity” </strong>broken.</p><p>Please check the full change-log on the release page below for the complete list of changes and additions</p><p><a href="https://github.com/SigmaHQ/sigma/releases/tag/r2024-05-13">Release Release r2024-05-13 · SigmaHQ/sigma</a></p><h3>Contributors</h3><p>This release was possible thanks to the many Sigma community contributors. A big thanks goes to following people</p><ul><li><a href="https://github.com/ahmedfarou22">@ahmedfarou22</a></li><li><a href="https://github.com/frack113">@frack113</a></li><li><a href="https://github.com/hasselj">@hasselj</a></li><li><a href="https://github.com/joshnck">@joshnck</a></li><li><a href="https://github.com/nasbench">@nasbench</a></li><li><a href="https://github.com/pratinavchandra">@pratinavchandra</a></li><li><a href="https://github.com/swachchhanda000">@swachchhanda000</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=237ed77459bf" width="1" height="1" alt=""><hr><p><a href="https://blog.sigmahq.io/sigmahq-rules-release-highlights-r2024-05-13-237ed77459bf">SigmaHQ Rules Release Highlights — r2024–05–13</a> was originally published in <a href="https://blog.sigmahq.io">Sigma_HQ</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SigmaHQ Rules Release Highlights — r2024–04–29]]></title>
            <link>https://blog.sigmahq.io/sigmahq-rules-release-highlights-r2024-04-29-630cc6f1fc9a?source=rss----f7aebf45e114---4</link>
            <guid isPermaLink="false">https://medium.com/p/630cc6f1fc9a</guid>
            <category><![CDATA[siem]]></category>
            <category><![CDATA[sigma-release]]></category>
            <category><![CDATA[endpoint-security]]></category>
            <category><![CDATA[blue-team]]></category>
            <category><![CDATA[windows]]></category>
            <dc:creator><![CDATA[Nasreddine Bencherchali]]></dc:creator>
            <pubDate>Mon, 29 Apr 2024 20:29:15 GMT</pubDate>
            <atom:updated>2024-04-29T20:29:15.046Z</atom:updated>
            <content:encoded><![CDATA[<h3>SigmaHQ Rules Release Highlights — r2024–04–29</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/930/1*bckZHW8GDvM7a7AMIjHzHA.png" /><figcaption><a href="https://github.com/SigmaHQ/sigma/releases/tag/r2024-04-29">https://github.com/SigmaHQ/sigma/releases/tag/r2024-04-29</a></figcaption></figure><p>Sigma Rule Packages for 29–04–2024 are released and available for <a href="https://github.com/SigmaHQ/sigma/releases/tag/r2024-04-29">download</a>. This release saw the addition of <strong>17 new rules</strong>, <strong>35 rule updates </strong>and <strong>8 rule fixes</strong> by <strong>19 </strong>contributors.</p><h3>New Rules</h3><p>Some highlights for the newer rules include, rules covering exploitation indicators of <a href="https://github.com/advisories/GHSA-v475-xhc9-wfxg">CVE-2024–3400</a>.</p><pre>title: Potential CVE-2024-3400 Exploitation - Palo Alto GlobalProtect OS Command Injection - File Creation<br>id: bcd95697-e3e7-4c6f-8584-8e3503e6929f<br>status: experimental<br>description: |<br>    Detects suspicious file creations in the Palo Alto Networks PAN-OS&#39; parent telemetry folder, which are processed by the vulnerable &#39;dt_curl&#39; script if device telemetry is enabled.<br>    As said script overrides the shell-subprocess restriction, arbitrary command execution may occur by carefully crafting filenames that are escaped through this function.<br>references:<br>    - https://labs.watchtowr.com/palo-alto-putting-the-protecc-in-globalprotect-cve-2024-3400/<br>    - https://nvd.nist.gov/vuln/detail/CVE-2024-3400<br>author: Andreas Braathen (mnemonic.io)<br>date: 2024/04/25<br>tags:<br>    - attack.execution<br>    - cve.2024.3400<br>    - detection.emerging_threats<br>logsource:<br>    product: paloalto<br>    service: globalprotect<br>    category: file_event<br>    definition: &#39;Requirements: file creation events need to be ingested from the Palo Alto GlobalProtect appliance&#39;<br>detection:<br>    selection:<br>        TargetFilename|contains:<br>            - &#39;{IFS}&#39;<br>            - &#39;base64&#39;<br>            - &#39;bash&#39;<br>            - &#39;curl&#39;<br>            - &#39;http&#39;<br>        TargetFilename|startswith: &#39;/opt/panlogs/tmp/device_telemetry/&#39;<br>    condition: selection<br>falsepositives:<br>    - The PAN-OS device telemetry function does not enforce a standard filename convention, but observations are unlikely.<br>level: medium</pre><pre>title: Potential CVE-2024-3400 Exploitation - Palo Alto GlobalProtect OS Command Injection<br>id: f130a5f1-73ba-42f0-bf1e-b66a8361cb8f<br>status: experimental<br>description: |<br>    Detects potential exploitation attempts of CVE-2024-3400 - an OS command injection in Palo Alto GlobalProtect.<br>    This detection looks for suspicious strings that indicate a potential directory traversal attempt or command injection.<br>references:<br>    - https://security.paloaltonetworks.com/CVE-2024-3400<br>    - https://labs.watchtowr.com/palo-alto-putting-the-protecc-in-globalprotect-cve-2024-3400/<br>    - https://attackerkb.com/topics/SSTk336Tmf/cve-2024-3400/rapid7-analysis<br>author: Nasreddine Bencherchali (Nextron Systems)<br>date: 2024/04/18<br>modified: 2024/04/25<br>tags:<br>    - attack.initial_access<br>    - attack.persistence<br>    - attack.privilege_escalation<br>    - attack.defense_evasion<br>    - cve.2024.3400<br>logsource:<br>    category: appliance<br>    product: paloalto<br>    service: globalprotect<br>    definition: &#39;Requirements: Palo Alto GlobalProtect &quot;mp-log&quot; and &quot;gpsvc.log&quot; log files need to be ingested&#39;<br>detection:<br>    keywords_generic:<br>        - &#39;failed to unmarshal session(../&#39;<br>        - &#39;failed to unmarshal session(./../&#39;<br>        - &#39;failed to unmarshal session(/..&#39;<br>        - &#39;failed to unmarshal session(%2E%2E%2F&#39;<br>        - &#39;failed to unmarshal session(%2F%2E%2E&#39;<br>        - &#39;failed to unmarshal session(%2E%2F%2E%2E%2F&#39;<br>        - &#39;failed to unmarshal session(%252E%252E%252F&#39;<br>        - &#39;failed to unmarshal session(%252F%252E%252E&#39;<br>        - &#39;failed to unmarshal session(%252E%252F%252E%252E%252F&#39;<br>    keywords_telemetry_exploit:<br>        - &#39;{IFS}&#39;<br>        - &#39;base64&#39;<br>        - &#39;bash&#39;<br>        - &#39;curl&#39;<br>        - &#39;http&#39;<br>    keywords_telemetry_path:<br>        - &#39;/opt/panlogs/tmp/device_telemetry/&#39;<br>    condition: keywords_generic or all of keywords_telemetry_*<br>falsepositives:<br>    - Unknown<br>level: high</pre><p>As well as <a href="https://github.com/advisories/GHSA-rxwq-x6h5-x525">CVE-2024–3094</a> exploitation indicator.</p><pre>title: Potential Exploitation of CVE-2024-3094 - Suspicious SSH Child Process<br>id: 9aa27839-e8ba-4d7a-ac1a-746c22c3d1e5<br>status: experimental<br>description: |<br>    Detects potentially suspicious child process of SSH process (sshd) with a specific execution user. This could be a sign of potential exploitation of CVE-2024-3094.<br>references:<br>    - https://github.com/amlweems/xzbot?tab=readme-ov-file#backdoor-demo<br>author: Arnim Rupp, Nasreddine Bencherchali, Thomas Patzke<br>date: 2024/04/01<br>modified: 2024/04/12<br>tags:<br>    - attack.execution<br>    - cve.2024.3094<br>logsource:<br>    category: process_creation<br>    product: linux<br>detection:<br>    selection_1:<br>        ParentImage|endswith: &#39;/sshd&#39;<br>        CommandLine|startswith:<br>            - &#39;bash -c&#39;<br>            - &#39;sh -c&#39;<br>        User: &#39;root&#39;<br>    selection_2:<br>        ParentImage|endswith: &#39;/sshd&#39;<br>        Image|endswith: &#39;/sshd&#39;<br>        User: &#39;sshd&#39;<br>        CommandLine|contains: &#39;root&#39;<br>    condition: 1 of selection_*<br>falsepositives:<br>    - Administrative activity directly with root authentication might trigger selection_1 if it&#39;s unnecessarily prefixed with &quot;sh -c&quot; or &quot;bash -c&quot;<br>level: high</pre><p>Rules covering recent activity observed by MSFT for the Forest Blizzard APT.</p><blockquote>Note: Existing Sigma rules already cover most of the activity reported. The additional coverage is for this specific campaing(s)</blockquote><pre>title: Forest Blizzard APT - File Creation Activity<br>id: b92d1d19-f5c9-4ed6-bbd5-7476709dc389<br>status: experimental<br>description: |<br>    Detects the creation of specific files inside of ProgramData directory.<br>    These files were seen being created by Forest Blizzard as described by MSFT.<br>references:<br>    - https://www.microsoft.com/en-us/security/blog/2024/04/22/analyzing-forest-blizzards-custom-post-compromise-tool-for-exploiting-cve-2022-38028-to-obtain-credentials/<br>author: Nasreddine Bencherchali (Nextron Systems)<br>date: 2024/04/23<br>tags:<br>    - attack.defense_evasion<br>    - attack.t1562.002<br>logsource:<br>    category: file_event<br>    product: windows<br>detection:<br>    selection_programdata_driver_store:<br>        TargetFilename|startswith:<br>            - &#39;C:\ProgramData\Microsoft\v&#39;<br>            - &#39;C:\ProgramData\Adobe\v&#39;<br>            - &#39;C:\ProgramData\Comms\v&#39;<br>            - &#39;C:\ProgramData\Intel\v&#39;<br>            - &#39;C:\ProgramData\Kaspersky Lab\v&#39;<br>            - &#39;C:\ProgramData\Bitdefender\v&#39;<br>            - &#39;C:\ProgramData\ESET\v&#39;<br>            - &#39;C:\ProgramData\NVIDIA\v&#39;<br>            - &#39;C:\ProgramData\UbiSoft\v&#39;<br>            - &#39;C:\ProgramData\Steam\v&#39;<br>        TargetFilename|contains:<br>            - &#39;\pnms003.inf_&#39;<br>            - &#39;\pnms009.inf_&#39;<br>    selection_programdata_main:<br>        TargetFilename|startswith: &#39;C:\ProgramData\&#39;<br>    selection_programdata_files_1:<br>        TargetFilename|endswith:<br>            - &#39;.save&#39;<br>            - &#39;\doit.bat&#39;<br>            - &#39;\execute.bat&#39;<br>            - &#39;\servtask.bat&#39;<br>        # Hashes|contains: &#39;7d51e5cc51c43da5deae5fbc2dce9b85c0656c465bb25ab6bd063a503c1806a9&#39; # Uncommon this if you collect hash information inf file events<br>    selection_programdata_files_2:<br>        TargetFilename|contains: &#39;\wayzgoose&#39;<br>        TargetFilename|endswith: &#39;.dll&#39;<br>    condition: selection_programdata_driver_store or (selection_programdata_main and 1 of selection_programdata_files_*)<br>falsepositives:<br>    - Unlikely<br>level: high</pre><pre>title: Forest Blizzard APT - Custom Protocol Handler Creation<br>id: 5cdeb555-65de-4767-99fe-e26807465148<br>status: experimental<br>description: |<br>    Detects the setting of a custom protocol handler with the name &quot;rogue&quot;.<br>    Seen being created by Forest Blizzard APT as reported by MSFT.<br>references:<br>    - https://www.microsoft.com/en-us/security/blog/2024/04/22/analyzing-forest-blizzards-custom-post-compromise-tool-for-exploiting-cve-2022-38028-to-obtain-credentials/<br>author: Nasreddine Bencherchali (Nextron Systems)<br>date: 2024/04/23<br>tags:<br>    - attack.persistence<br>    - attack.t1547.001<br>logsource:<br>    category: registry_set<br>    product: windows<br>detection:<br>    selection:<br>        TargetObject|contains: &#39;\PROTOCOLS\\Handler\rogue\CLSID&#39;<br>        Details: &#39;{026CC6D7-34B2-33D5-B551-CA31EB6CE345}&#39;<br>    condition: selection<br>falsepositives:<br>    - Unlikely<br>level: high</pre><p>Check the full release changelog for a complete list of new rules.</p><h3>New Updates</h3><p>Some older rules have seen improvements in coverage and metadata as well.</p><p>By default the pySigma implementation ensure that selections using the “re” modifier are matched as a “contains”. Which means no need to include a wildcard in at the start or end of the regex. The first is an update to multiple rules using taking care of this edge case</p><pre>title: Invoke-Obfuscation Via Stdin<br>id: 9c14c9fa-1a63-4a64-8e57-d19280559490<br>status: test<br>description: Detects Obfuscated Powershell via Stdin in Scripts<br>references:<br>    - https://github.com/SigmaHQ/sigma/issues/1009 # (Task28)<br>author: Nikita Nazarov, oscd.community<br>date: 2020/10/12<br>modified: 2024/04/16<br>tags:<br>    - attack.defense_evasion<br>    - attack.t1027<br>    - attack.execution<br>    - attack.t1059.001<br>logsource:<br>    category: process_creation<br>    product: windows<br>detection:<br>    selection:<br>        CommandLine|re: &#39;(?i)(set).*&amp;&amp;\s?set.*(environment|invoke|\$\{?input).*&amp;&amp;.*&quot;&#39;<br>    condition: selection<br>falsepositives:<br>    - Unknown<br>level: high</pre><p>The next set of updates is part of the first batch aiming to refactor LOLBIN based rules (unified filename convention, enhanced metadata and updated logic).</p><pre>title: C# IL Code Compilation Via Ilasm.EXE<br>id: 850d55f9-6eeb-4492-ad69-a72338f65ba4<br>status: test<br>description: Detects the use of &quot;Ilasm.EXE&quot; in order to compile C# intermediate (IL) code to EXE or DLL.<br>references:<br>    - https://lolbas-project.github.io/lolbas/Binaries/Ilasm/<br>    - https://www.echotrail.io/insights/search/ilasm.exe<br>author: frack113, Nasreddine Bencherchali (Nextron Systems)<br>date: 2022/05/07<br>modified: 2022/05/16<br>tags:<br>    - attack.defense_evasion<br>    - attack.t1127<br>logsource:<br>    product: windows<br>    category: process_creation<br>detection:<br>    selection_img:<br>        - Image|endswith: &#39;\ilasm.exe&#39;<br>        - OriginalFileName: &#39;ilasm.exe&#39;<br>    selection_cli:<br>        CommandLine|contains:<br>            - &#39; /dll&#39;<br>            - &#39; /exe&#39;<br>    condition: all of selection_*<br>falsepositives:<br>    - Unknown<br>level: medium</pre><p>Check the full release changelog for a complete list of updates.</p><h3>Fixes</h3><p>This release includes a couple of false positives fixes and tuning of older rules to enhance their quality.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*JYZVGsmROa8IrHKH-G0wBg.png" /></figure><p>Please check the full change-log on the release page below for the complete list of changes and additions</p><p><a href="https://github.com/SigmaHQ/sigma/releases/tag/r2024-04-29">Release Release r2024-04-29 · SigmaHQ/sigma</a></p><h3>Contributors</h3><p>This release was possible thanks to the many Sigma community contributors. A big thanks goes to following people</p><ul><li><a href="https://github.com/CertainlyP">@CertainlyP</a></li><li><a href="https://github.com/dan21san">@dan21san</a></li><li><a href="https://github.com/frack113">@frack113</a></li><li><a href="https://github.com/fukusuket">@fukusuket</a></li><li><a href="https://github.com/jamesc-grafana">@jamesc-grafana</a></li><li><a href="https://github.com/nasbench">@nasbench</a></li><li><a href="https://github.com/Neo23x0">@Neo23x0</a></li><li><a href="https://github.com/netgrain">@netgrain</a></li><li><a href="https://github.com/nikitah4x">@nikitah4x</a></li><li><a href="https://github.com/phantinuss">@phantinuss</a></li><li><a href="https://github.com/PiRomant">@PiRomant</a></li><li><a href="https://github.com/pratinavchandra">@pratinavchandra</a></li><li><a href="https://github.com/ruppde">@ruppde</a></li><li><a href="https://github.com/signalblur">@signalblur</a></li><li><a href="https://github.com/swachchhanda000">@swachchhanda000</a></li><li><a href="https://github.com/TheLawsOfChaos">@TheLawsOfChaos</a></li><li><a href="https://github.com/thomaspatzke">@thomaspatzke</a></li><li><a href="https://github.com/X-Junior">@X-Junior</a></li><li><a href="https://github.com/ya0guang">@ya0guang</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=630cc6f1fc9a" width="1" height="1" alt=""><hr><p><a href="https://blog.sigmahq.io/sigmahq-rules-release-highlights-r2024-04-29-630cc6f1fc9a">SigmaHQ Rules Release Highlights — r2024–04–29</a> was originally published in <a href="https://blog.sigmahq.io">Sigma_HQ</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SigmaHQ Rules Release Highlights — r2024–03–26]]></title>
            <link>https://blog.sigmahq.io/sigmahq-rules-release-highlights-r2024-03-26-50b086b2f540?source=rss----f7aebf45e114---4</link>
            <guid isPermaLink="false">https://medium.com/p/50b086b2f540</guid>
            <category><![CDATA[blue-team]]></category>
            <category><![CDATA[sigma-release]]></category>
            <category><![CDATA[siem]]></category>
            <category><![CDATA[windows]]></category>
            <category><![CDATA[endpoint-security]]></category>
            <dc:creator><![CDATA[Nasreddine Bencherchali]]></dc:creator>
            <pubDate>Tue, 26 Mar 2024 19:16:58 GMT</pubDate>
            <atom:updated>2024-03-26T19:16:58.013Z</atom:updated>
            <content:encoded><![CDATA[<h3>SigmaHQ Rules Release Highlights — r2024–03–26</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/772/1*R02QkAVO4Tf8ogf-9X_iAg.png" /><figcaption><a href="https://github.com/SigmaHQ/sigma/releases/tag/r2024-03-26">https://github.com/SigmaHQ/sigma/releases/tag/r2024-03-26</a></figcaption></figure><p>Sigma Rule Packages for 26–03–2024 are released and available for <a href="https://github.com/SigmaHQ/sigma/releases/tag/r2024-03-26">download</a>. This release saw the addition of <strong>21 new rules</strong>, <strong>64 rule updates </strong>and <strong>5 rule fixes</strong> by <strong>9 </strong>contributors.</p><h3>New Rules</h3><p>Some highlights for the newer rules include rule for <a href="https://github.com/advisories/GHSA-8vv7-j7w3-28ww">CVE-2024–1212</a> a “Progress Kemp LoadMaster Unauthenticated Command Injection”</p><pre>title: CVE-2024-1212 Exploitation - Progress Kemp LoadMaster Unauthenticated Command Injection<br>id: eafb8bd5-7605-4bfe-a9ec-0442bc151f15<br>status: experimental<br>description: |<br>    Detects potential exploitation of CVE-2024-1709 an unauthenticated command injection in Progress Kemp LoadMaster.<br>    It looks for GET requests to &#39;/access/set&#39; API with the parameters &#39;param=enableapi&#39; and &#39;value=1&#39; as well as an &quot;Authorization&quot; header with a base64 encoded value with an uncommon character.<br>references:<br>    - https://github.com/RhinoSecurityLabs/CVEs/blob/15cf4d86c83daa57b59eaa2542a0ed47ad3dc32d/CVE-2024-1212/CVE-2024-1212.py<br>    - https://rhinosecuritylabs.com/research/cve-2024-1212unauthenticated-command-injection-in-progress-kemp-loadmaster/<br>author: Nasreddine Bencherchali (Nextron Systems)<br>date: 2024/03/20<br>tags:<br>    - attack.initial_access<br>    - cve.2024.1212<br>logsource:<br>    category: webserver<br>detection:<br>    selection_path:<br>        cs-method: &#39;GET&#39;<br>        cs-uri-stem|contains|all:<br>            - &#39;/access/set&#39;<br>            - &#39;param=enableapi&#39;<br>            - &#39;value=1&#39;<br>    selection_keywords:<br>        - &#39;Basic Jz&#39;<br>        - &#39;Basic c7&#39;<br>        - &#39;Basic nO&#39;<br>        - &quot;Basic &#39;;&quot;<br>    condition: all of selection_*<br>falsepositives:<br>    - Unlikely<br>level: high</pre><p>New set of rules covering activity related to <a href="https://www.nextron-systems.com/2024/03/22/unveiling-kamikakabot-malware-analysis/">KamiKakaBot</a>.</p><pre>title: Potential KamiKakaBot Activity - Lure Document Execution<br>id: 24474469-bd80-46cc-9e08-9fbe81bfaaca<br>status: experimental<br>description: |<br>    Detects the execution of a Word document via the WinWord Start Menu shortcut.<br>    This behavior was observed being used by KamiKakaBot samples in order to initiate the 2nd stage of the infection.<br>references:<br>    - https://www.nextron-systems.com/2024/03/22/unveiling-kamikakabot-malware-analysis/<br>author: Nasreddine Bencherchali (Nextron Systems), X__Junior (Nextron Systems)<br>date: 2024/03/22<br>tags:<br>    - attack.execution<br>    - attack.t1059<br>    - detection.emerging_threats<br>logsource:<br>    category: process_creation<br>    product: windows<br>detection:<br>    selection:<br>        Image|endswith: &#39;\cmd.exe&#39;<br>        CommandLine|contains|all:<br>            - &#39;/c &#39;<br>            - &#39;.lnk ~&#39;<br>            - &#39;Start Menu\Programs\Word&#39;<br>        CommandLine|endswith: &#39;.doc&#39;<br>    condition: selection<br>falsepositives:<br>    - Unknown<br>level: medium</pre><pre>title: Potential KamiKakaBot Activity - Shutdown Schedule Task Creation<br>id: fe9e8ba9-4419-41e6-a574-bd9f7b3af961<br>status: experimental<br>description: |<br>    Detects the creation of a schedule task that runs weekly and execute the &quot;shutdown /l /f&quot; command.<br>    This behavior was observed being used by KamiKakaBot samples in order to achieve persistence on a system.<br>references:<br>    - https://www.nextron-systems.com/2024/03/22/unveiling-kamikakabot-malware-analysis/<br>    - https://tria.ge/240123-rapteaahhr/behavioral1<br>author: Nasreddine Bencherchali (Nextron Systems), X__Junior (Nextron Systems)<br>date: 2024/03/22<br>tags:<br>    - attack.persistence<br>    - detection.emerging_threats<br>logsource:<br>    category: process_creation<br>    product: windows<br>detection:<br>    selection:<br>        Image|endswith: &#39;\schtasks.exe&#39;<br>        CommandLine|contains|all:<br>            - &#39; /create &#39;<br>            - &#39;shutdown /l /f&#39;<br>            - &#39;WEEKLY&#39;<br>    filter_main_system_user:<br>        User|contains: # covers many language settings<br>            - &#39;AUTHORI&#39;<br>            - &#39;AUTORI&#39;<br>    condition: selection and not 1 of filter_main_*<br>falsepositives:<br>    - Unknown<br>level: medium</pre><p>A new set of rules leveraging native Kubernetes logs.</p><pre>title: Potential Remote Command Execution In Pod Container<br>id: a1b0ca4e-7835-413e-8471-3ff2b8a66be6<br>status: experimental<br>description: |<br>    Detects attempts to execute remote commands, within a Pod&#39;s container using e.g. the &quot;kubectl exec&quot; command.<br>references:<br>    - https://microsoft.github.io/Threat-Matrix-for-Kubernetes/techniques/Exec%20into%20container/<br>author: Leo Tsaousis (@laripping)<br>date: 2024/03/26<br>tags:<br>    - attack.t1609<br>logsource:<br>    category: application<br>    product: kubernetes<br>    service: audit<br>detection:<br>    selection:<br>        verb: &#39;create&#39;<br>        objectRef.resource: &#39;pods&#39;<br>        objectRef.subresource: &#39;exec&#39;<br>    condition: selection<br>falsepositives:<br>    - Legitimate debugging activity. Investigate the identity performing the requests and their authorization.<br>level: medium</pre><pre>title: Privileged Container Deployed<br>id: c5cd1b20-36bb-488d-8c05-486be3d0cb97<br>status: experimental<br>description: |<br>    Detects the creation of a &quot;privileged&quot; container, an action which could be indicative of a threat actor mounting a container breakout attacks.<br>    A privileged container is a container that can access the host with all of the root capabilities of the host machine. This allows it to view, interact and modify processes, network operations, IPC calls, the file system, mount points, SELinux configurations etc. as the root user on the host.<br>    Various versions of &quot;privileged&quot; containers can be specified, e.g. by setting the securityContext.privileged flag in the resource specification, setting non-standard Linux capabilities, or configuring the hostNetwork/hostPID fields<br>references:<br>    - https://microsoft.github.io/Threat-Matrix-for-Kubernetes/techniques/Privileged%20container/<br>    - https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-kubernetes.html#privilegeescalation-kubernetes-privilegedcontainer<br>    - https://www.elastic.co/guide/en/security/current/kubernetes-pod-created-with-hostnetwork.html<br>    - https://www.elastic.co/guide/en/security/current/kubernetes-container-created-with-excessive-linux-capabilities.html<br>author: Leo Tsaousis (@laripping)<br>date: 2024/03/26<br>tags:<br>    - attack.t1611<br>logsource:<br>    category: application<br>    product: kubernetes<br>    service: audit<br>detection:<br>    selection:<br>        verb: &#39;create&#39;<br>        objectRef.resource: &#39;pods&#39;<br>        capabilities: &#39;*&#39; # Note: Add the &quot;exists&quot; when it&#39;s implemented in SigmaHQ/Aurora<br>    condition: selection<br>falsepositives:<br>    - Unknown<br>level: low</pre><h3>New Updates</h3><p>Some older rules have seen improvements in coverage and metadata as well.</p><p>The first big set of update is related to enhancing the registry rule so that they don’t use the hard coded “HKLM”, “HKCU” or similar prefixes.</p><p>The reason behind such an update is that not all logging utilities use that notation. And depending on how you use the rule either in a SIEM or doing registry parsing for DFIR related tasks. The output might change.</p><p>To account for this, we dropped the prefixes where possible.</p><pre>title: New PortProxy Registry Entry Added<br>id: a54f842a-3713-4b45-8c84-5f136fdebd3c<br>status: test<br>description: Detects the modification of the PortProxy registry key which is used for port forwarding.<br>references:<br>    - https://www.fireeye.com/blog/threat-research/2019/01/bypassing-network-restrictions-through-rdp-tunneling.html<br>    - https://adepts.of0x.cc/netsh-portproxy-code/<br>    - https://www.dfirnotes.net/portproxy_detection/<br>author: Andreas Hunkeler (@Karneades)<br>date: 2021/06/22<br>modified: 2024/03/25<br>tags:<br>    - attack.lateral_movement<br>    - attack.defense_evasion<br>    - attack.command_and_control<br>    - attack.t1090<br>logsource:<br>    category: registry_event<br>    product: windows<br>detection:<br>    selection:<br>        # Example: HKLM\System\CurrentControlSet\Services\PortProxy\v4tov4\tcp\0.0.0.0/1337<br>        TargetObject|contains: &#39;\Services\PortProxy\v4tov4\tcp\&#39;<br>    condition: selection<br>falsepositives:<br>    - WSL2 network bridge PowerShell script used for WSL/Kubernetes/Docker (e.g. https://github.com/microsoft/WSL/issues/4150#issuecomment-504209723)<br>    - Synergy Software KVM (https://symless.com/synergy)<br>level: medium</pre><p>Another set of update include the migration of rules to use the “windash” modifier. This modifier tells the sigma converter utility to use both permutation of a commandline flag.</p><p>For example many utilities accept both CLI flags with “/” (slash) and “-” (dash). This modifier abstracts this idea and let the user only care about one.</p><pre>title: Potential Reconnaissance For Cached Credentials Via Cmdkey.EXE<br>id: 07f8bdc2-c9b3-472a-9817-5a670b872f53<br>status: test<br>description: Detects usage of cmdkey to look for cached credentials on the system<br>references:<br>    - https://www.peew.pw/blog/2017/11/26/exploring-cmdkey-an-edge-case-for-privilege-escalation<br>    - https://technet.microsoft.com/en-us/library/cc754243(v=ws.11).aspx<br>    - https://github.com/redcanaryco/atomic-red-team/blob/b27a3cb25025161d49ac861cb216db68c46a3537/atomics/T1003.005/T1003.005.md#atomic-test-1---cached-credential-dump-via-cmdkey<br>author: jmallette, Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)<br>date: 2019/01/16<br>modified: 2024/03/05<br>tags:<br>    - attack.credential_access<br>    - attack.t1003.005<br>logsource:<br>    category: process_creation<br>    product: windows<br>detection:<br>    selection_img:<br>        - Image|endswith: &#39;\cmdkey.exe&#39;<br>        - OriginalFileName: &#39;cmdkey.exe&#39;<br>    selection_cli:<br>        CommandLine|contains|windash: &#39; -l&#39;<br>    condition: all of selection*<br>fields:<br>    - CommandLine<br>    - ParentCommandLine<br>    - User<br>falsepositives:<br>    - Legitimate administrative tasks<br>level: high</pre><p>We also migrated all rules that make use of the CIDR notation in their logic. To use the “cidr” modifier. Which allows rule authors to write IP ranges in CIDR format.</p><pre>title: Dllhost.EXE Initiated Network Connection To Non-Local IP Address<br>id: cfed2f44-16df-4bf3-833a-79405198b277<br>status: test<br>description: |<br>    Detects dllhost initiating a network connection to a non-local IP address.<br>    Aside from Microsoft own IP range that needs to be excluded. Network communication from Dllhost will depend entirely on the hosted DLL.<br>    An initial baseline is recommended before deployment.<br>references:<br>    - https://redcanary.com/blog/child-processes/<br>    - https://nasbench.medium.com/what-is-the-dllhost-exe-process-actually-running-ef9fe4c19c08<br>author: bartblaze<br>date: 2020/07/13<br>modified: 2024/03/12<br>tags:<br>    - attack.defense_evasion<br>    - attack.t1218<br>    - attack.execution<br>    - attack.t1559.001<br>logsource:<br>    category: network_connection<br>    product: windows<br>detection:<br>    selection:<br>        Image|endswith: &#39;\dllhost.exe&#39;<br>        Initiated: &#39;true&#39;<br>    filter_main_local_ranges:<br>        DestinationIp|cidr:<br>            - &#39;::1/128&#39;  # IPv6 loopback<br>            - &#39;10.0.0.0/8&#39;<br>            - &#39;127.0.0.0/8&#39;<br>            - &#39;172.16.0.0/12&#39;<br>            - &#39;192.168.0.0/16&#39;<br>            - &#39;169.254.0.0/16&#39;<br>            - &#39;fc00::/7&#39;  # IPv6 private addresses<br>            - &#39;fe80::/10&#39;  # IPv6 link-local addresses<br>    filter_main_msrange:<br>        DestinationIp|cidr:<br>            - &#39;20.184.0.0/13&#39; # Microsoft Corporation<br>            - &#39;20.192.0.0/10&#39; # Microsoft Corporation<br>            - &#39;23.72.0.0/13&#39;  # Akamai International B.V.<br>            - &#39;51.10.0.0/15&#39;  # Microsoft Corporation<br>            - &#39;51.103.0.0/16&#39; # Microsoft Corporation<br>            - &#39;51.104.0.0/15&#39; # Microsoft Corporation<br>            - &#39;52.224.0.0/11&#39;  # Microsoft Corporation<br>            - &#39;204.79.197.0/24&#39; # Microsoft Corporation&#39;<br>    condition: selection and not 1 of filter_main_*<br>falsepositives:<br>    - Communication to other corporate systems that use IP addresses from public address spaces<br>level: medium</pre><p>Multiple rules also saw update to their logic in order to increase coverage. A couple of example include.</p><p>New domains added for the rule “Suspicious DNS Query for IP Lookup Service APIs”.</p><pre>title: Suspicious DNS Query for IP Lookup Service APIs<br>id: ec82e2a5-81ea-4211-a1f8-37a0286df2c2<br>status: test<br>description: Detects DNS queries for IP lookup services such as &quot;api.ipify.org&quot; originating from a non browser process.<br>references:<br>    - https://www.binarydefense.com/analysis-of-hancitor-when-boring-begets-beacon<br>    - https://twitter.com/neonprimetime/status/1436376497980428318<br>    - https://www.trendmicro.com/en_us/research/23/e/managed-xdr-investigation-of-ducktail-in-trend-micro-vision-one.html<br>author: Brandon George (blog post), Thomas Patzke<br>date: 2021/07/08<br>modified: 2024/03/22<br>tags:<br>    - attack.reconnaissance<br>    - attack.t1590<br>logsource:<br>    product: windows<br>    category: dns_query<br>detection:<br>    selection:<br>        - QueryName:<br>              - &#39;www.ip.cn&#39;<br>              - &#39;l2.io&#39;<br>        - QueryName|contains:<br>              - &#39;api.2ip.ua&#39;<br>              - &#39;api.bigdatacloud.net&#39;<br>              - &#39;api.ipify.org&#39;<br>              - &#39;bot.whatismyipaddress.com&#39;<br>              - &#39;canireachthe.net&#39;<br>              - &#39;checkip.amazonaws.com&#39;<br>              - &#39;checkip.dyndns.org&#39;<br>              - &#39;curlmyip.com&#39;<br>              - &#39;db-ip.com&#39;<br>              - &#39;edns.ip-api.com&#39;<br>              - &#39;eth0.me&#39;<br>              - &#39;freegeoip.app&#39;<br>              - &#39;geoipy.com&#39;<br>              - &#39;getip.pro&#39;<br>              - &#39;icanhazip.com&#39;<br>              - &#39;ident.me&#39;<br>              - &#39;ifconfig.io&#39;<br>              - &#39;ifconfig.me&#39;<br>              - &#39;ip-api.com&#39;<br>              - &#39;ip.360.cn&#39;<br>              - &#39;ip.anysrc.net&#39;<br>              - &#39;ip.taobao.com&#39;<br>              - &#39;ip.tyk.nu&#39;<br>              - &#39;ipaddressworld.com&#39;<br>              - &#39;ipapi.co&#39;<br>              - &#39;ipconfig.io&#39;<br>              - &#39;ipecho.net&#39;<br>              - &#39;ipinfo.io&#39;<br>              - &#39;ipip.net&#39;<br>              - &#39;ipof.in&#39;<br>              - &#39;ipv4.icanhazip.com&#39;<br>              - &#39;ipv4bot.whatismyipaddress.com&#39;<br>              - &#39;ipv6-test.com&#39;<br>              - &#39;ipwho.is&#39;<br>              - &#39;jsonip.com&#39;<br>              - &#39;myexternalip.com&#39;<br>              - &#39;seeip.org&#39;<br>              - &#39;wgetip.com&#39;<br>              - &#39;whatismyip.akamai.com&#39;<br>              - &#39;whois.pconline.com.cn&#39;<br>              - &#39;wtfismyip.com&#39;<br>    filter_optional_brave:<br>        Image|endswith: &#39;\brave.exe&#39;<br>    filter_optional_chrome:<br>        Image:<br>            - &#39;C:\Program Files\Google\Chrome\Application\chrome.exe&#39;<br>            - &#39;C:\Program Files (x86)\Google\Chrome\Application\chrome.exe&#39;<br>    filter_optional_firefox:<br>        Image:<br>            - &#39;C:\Program Files\Mozilla Firefox\firefox.exe&#39;<br>            - &#39;C:\Program Files (x86)\Mozilla Firefox\firefox.exe&#39;<br>    filter_optional_ie:<br>        Image:<br>            - &#39;C:\Program Files (x86)\Internet Explorer\iexplore.exe&#39;<br>            - &#39;C:\Program Files\Internet Explorer\iexplore.exe&#39;<br>    filter_optional_maxthon:<br>        Image|endswith: &#39;\maxthon.exe&#39;<br>    filter_optional_edge_1:<br>        - Image|startswith: &#39;C:\Program Files (x86)\Microsoft\EdgeWebView\Application\&#39;<br>        - Image|endswith: &#39;\WindowsApps\MicrosoftEdge.exe&#39;<br>        - Image:<br>              - &#39;C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe&#39;<br>              - &#39;C:\Program Files\Microsoft\Edge\Application\msedge.exe&#39;<br>    filter_optional_edge_2:<br>        Image|startswith:<br>            - &#39;C:\Program Files (x86)\Microsoft\EdgeCore\&#39;<br>            - &#39;C:\Program Files\Microsoft\EdgeCore\&#39;<br>        Image|endswith:<br>            - &#39;\msedge.exe&#39;<br>            - &#39;\msedgewebview2.exe&#39;<br>    filter_optional_opera:<br>        Image|endswith: &#39;\opera.exe&#39;<br>    filter_optional_safari:<br>        Image|endswith: &#39;\safari.exe&#39;<br>    filter_optional_seamonkey:<br>        Image|endswith: &#39;\seamonkey.exe&#39;<br>    filter_optional_vivaldi:<br>        Image|endswith: &#39;\vivaldi.exe&#39;<br>    filter_optional_whale:<br>        Image|endswith: &#39;\whale.exe&#39;<br>    condition: selection and not 1 of filter_optional_*<br>falsepositives:<br>    - Legitimate usage of IP lookup services such as ipify API<br>level: medium</pre><p>Enhanced logic for “Potentially Suspicious CMD Shell Output Redirect”</p><pre>title: Potentially Suspicious CMD Shell Output Redirect<br>id: 8e0bb260-d4b2-4fff-bb8d-3f82118e6892<br>related:<br>    - id: aa2efee7-34dd-446e-8a37-40790a66efd7<br>      type: derived<br>    - id: 4f4eaa9f-5ad4-410c-a4be-bc6132b0175a<br>      type: similar<br>status: experimental<br>description: |<br>    Detects inline Windows shell commands redirecting output via the &quot;&gt;&quot; symbol to a suspicious location.<br>    This technique is sometimes used by malicious actors in order to redirect the output of reconnaissance commands such as &quot;hostname&quot; and &quot;dir&quot; to files for future exfiltration.<br>references:<br>    - https://thedfirreport.com/2022/07/11/select-xmrig-from-sqlserver/<br>author: Nasreddine Bencherchali (Nextron Systems)<br>date: 2022/07/12<br>modified: 2024/03/19<br>tags:<br>    - attack.defense_evasion<br>    - attack.t1218<br>logsource:<br>    category: process_creation<br>    product: windows<br>detection:<br>    selection_img:<br>        - Image|endswith: &#39;\cmd.exe&#39;<br>        - OriginalFileName: &#39;Cmd.Exe&#39;<br>    selection_cli_1:<br>        CommandLine|contains:<br>            # Note: Add more suspicious locations as you find them<br>            # Note: The space from the start is missing to cover append operations &quot;&gt;&gt;&quot;<br>            # Note: We use the &quot;?&quot; to account for both a single and a double quote<br>            # Note: If you want to account for more spaces which is still a valid bypass option. Use a regex with &quot;\s&quot;<br>            - &#39;&gt;?%APPDATA%\&#39;<br>            - &#39;&gt;?%TEMP%\&#39;<br>            - &#39;&gt;?%TMP%\&#39;<br>            - &#39;&gt;?%USERPROFILE%\&#39;<br>            - &#39;&gt;?C:\ProgramData\&#39;<br>            - &#39;&gt;?C:\Temp\&#39;<br>            - &#39;&gt;?C:\Users\Public\&#39;<br>            - &#39;&gt;?C:\Windows\Temp\&#39;<br>    selection_cli_2:<br>        CommandLine|contains:<br>            - &#39; &gt;&#39;<br>            - &#39;&quot;&gt;&#39;<br>            - &quot;&#39;&gt;&quot;<br>        CommandLine|contains|all:<br>            - &#39;C:\Users\&#39;<br>            - &#39;\AppData\Local\&#39;<br>    condition: selection_img and 1 of selection_cli_*<br>falsepositives:<br>    - Legitimate admin or third party scripts used for diagnostic collection might generate some false positives<br>level: medium</pre><h3>Fixes</h3><p>This release includes a couple of false positives fixes and tuning of older rules to enhance their quality.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/899/1*PqVRA_R7ZMQMzXopb-FpCg.png" /></figure><p>Please check the full change-log on the release page below for the complete list of changes and additions.</p><p><a href="https://github.com/SigmaHQ/sigma/releases/tag/r2024-03-26">Release Release r2024-03-26 · SigmaHQ/sigma</a></p><h3>Contributors</h3><p>This release was possible thanks to the many Sigma community contributors. A big thanks goes to following people:</p><ul><li><a href="https://github.com/cyb3rjy0t">@cyb3rjy0t</a></li><li><a href="https://github.com/frack113">@frack113</a></li><li><a href="https://github.com/joshnck">@joshnck</a></li><li><a href="https://github.com/LAripping">@LAripping</a></li><li><a href="https://github.com/nasbench">@nasbench</a></li><li><a href="https://github.com/phantinuss">@phantinuss</a></li><li><a href="https://github.com/security-companion">@security-companion</a></li><li><a href="https://github.com/xiangchen96">@xiangchen96</a></li><li><a href="https://github.com/X-Junior">@X-Junior</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=50b086b2f540" width="1" height="1" alt=""><hr><p><a href="https://blog.sigmahq.io/sigmahq-rules-release-highlights-r2024-03-26-50b086b2f540">SigmaHQ Rules Release Highlights — r2024–03–26</a> was originally published in <a href="https://blog.sigmahq.io">Sigma_HQ</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to validate Sigma rules with GitHub Actions for improved security monitoring]]></title>
            <link>https://blog.sigmahq.io/how-to-validate-sigma-rules-with-github-actions-for-improved-security-monitoring-3d23a23803ff?source=rss----f7aebf45e114---4</link>
            <guid isPermaLink="false">https://medium.com/p/3d23a23803ff</guid>
            <category><![CDATA[rules]]></category>
            <category><![CDATA[github]]></category>
            <category><![CDATA[github-actions]]></category>
            <category><![CDATA[sigma]]></category>
            <category><![CDATA[validation]]></category>
            <dc:creator><![CDATA[Mostafa Moradian]]></dc:creator>
            <pubDate>Mon, 25 Mar 2024 18:51:32 GMT</pubDate>
            <atom:updated>2024-03-25T18:55:41.193Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lXg3Xu08qmirTQ31BBSfEw.png" /></figure><blockquote><em>Originally posted: </em><a href="https://grafana.com/blog/2024/03/25/how-to-validate-sigma-rules-with-github-actions-for-improved-security-monitoring/"><em>https://grafana.com/blog/2024/03/25/how-to-validate-sigma-rules-with-github-actions-for-improved-security-monitoring/</em></a></blockquote><p>Monitoring your identity provider’s logs is critical to identify potential security threats. These logs are vital for a security team, who may store them in a specialized tool like <a href="https://grafana.com/docs/loki/latest/?pg=blog&amp;plcmt=body-txt">Grafana Loki</a> for enhanced accessibility and analysis. The ability to pinpoint specific patterns within these logs is key — and by crafting these patterns into Loki queries, you can conduct focused searches across the logs. You can set alerts to streamline this process, but conducting checks manually can become cumbersome over time.</p><p>Enter Sigma, an open standard for defining pattern detection rules. By employing YAML-formatted rules, Sigma allows you to specify the exact log patterns you’re searching for, thereby optimizing your security operations. What makes Sigma rules particularly powerful is their versatility; they’re generic and can be converted into queries for various backends. An example of this is the <a href="https://github.com/grafana/pySigma-backend-loki">pySigma-backend-loki</a> project, which translates Sigma rules into LogQL queries, further enhancing the efficiency and effectiveness of your security monitoring strategy.</p><p>This blog post introduces a new GitHub Action developed by the Grafana Security Operations team designed to automate the validation of Sigma rules against our previously developed JSON Schema. We’ll delve into the tool’s history and how it came to be, and then walk through how to integrate it into GitHub Actions’ workflows.</p><h4>A (little more than a) bit of history</h4><p>In the summer of 2023, the Grafana SecOps team was working on an internal project that integrated <a href="https://github.com/SigmaHQ/pySigma">pySigma</a> and <a href="https://github.com/grafana/pySigma-backend-loki">pySigma-backend-loki</a>, building on the foundational work of the Sigma contributors.</p><p>During the project’s progression, we identified a need for better validation within the <a href="https://github.com/SigmaHQ/sigma">Sigma repository</a>, where all Sigma rules are stored and maintained. The existing schema, crafted from the <a href="https://github.com/SigmaHQ/sigma-specification">Sigma specification repository</a>, required updates. Moreover, it was formatted in <a href="https://rjbs.manxome.org/rx/">Rx Schema</a>, a standard that was quite unfamiliar to me at the time. Upon investigation, we found the Rx Schema format to be outdated and seemingly no longer maintained.</p><p>Based on our experience with JSON Schema, we decided to contribute to the Sigma project by creating a <a href="https://github.com/SigmaHQ/sigma/blob/master/tests/validate-sigma-schema/sigma-schema.json">JSON Schema for Sigma rules</a>, building on top of the Sigma specification. Sigma rules are written in YAML, so the JSON Schema can help validate their contents. This work involved significant collaboration and iteration with the Sigma maintainers, leading up to the successful merging of our contributions.</p><p><a href="https://github.com/SigmaHQ/sigma/pull/4367">JSON schema for Sigma specification by mostafa · Pull Request #4367 · SigmaHQ/sigma</a></p><p>The schema is also available on the <a href="https://github.com/SchemaStore/schemastore">Schema Store</a>, which is a collection of independent JSON Schemas that can be used in your IDE or JSON tooling. For more information, visit <a href="https://www.schemastore.org/json/">the Schema Store website</a>.</p><p>Included in our contribution was a small Bash script, alongside the <a href="https://github.com/python-jsonschema/check-jsonschema">check-jsonschema</a> project, which allowed us to validate all the rules against the newly introduced JSON Schema. This process surfaced two Sigma rules with invalid related UUIDs, which we promptly addressed. Now, every new commit that alters the rules undergoes validation against this JSON Schema.</p><p>A few months ago, in a team discussion, the idea emerged to develop a GitHub Action for workflows to validate Sigma rules, including those in private repositories. None of us had prior experience in this area, so we embarked on a learning journey, eventually creating a GitHub Action. Initially, we expanded the Bash script for use in GitHub Actions, but faced a few challenges in its functionality and maintainability. Ultimately, we rewrote the script in Python to utilize the <a href="https://docs.python.org/3/library/pathlib.html">pathlib</a> module and other features, enhancing the script’s effectiveness.</p><p>Our efforts received <a href="https://github.com/SigmaHQ/sigma/discussions/4723">positive feedback</a> from the Sigma maintainers, particularly <a href="https://github.com/nasbench">Nasreddine Bencherchali</a>, who supported the idea of keeping the script within the Sigma rules repository and fetching the schema directly from the Sigma specification repository. This collaborative effort took time to refine, but ultimately succeeded.</p><p><a href="https://github.com/SigmaHQ/sigma/pull/4724">Update validate script by mostafa · Pull Request #4724 · SigmaHQ/sigma</a></p><p>We donated the <a href="https://github.com/marketplace/actions/sigma-rules-validator">sigma-rules-validator</a> project to <a href="https://sigmahq.io/">SigmaHQ</a>, and after some revisions and bug fixes, it was officially published and is now available to the community.</p><p><a href="https://github.com/marketplace/actions/sigma-rules-validator">Sigma Rules Validator - GitHub Marketplace</a></p><h4>How to validate Sigma rules</h4><p>Now, we’ll walk through an example of how to validate Sigma rules using the sigma-rules-validator project. The project’s <a href="https://github.com/SigmaHQ/sigma-rules-validator">README</a> provides comprehensive instructions, and the Sigma repository itself serves as an excellent <a href="https://github.com/SigmaHQ/sigma/blob/master/.github/workflows/sigma-validation.yml">example</a> of the action’s application.</p><pre>steps:<br>    - uses: SigmaHQ/sigma-rules-validator@v1</pre><p>The process involves enumerating .yml files in the repository’s root directory, validating them against the JSON Schema file, and then outputting the validation results. For a more focused approach, placing Sigma files in a specific directory, like rules, and specifying this directory for validation can streamline the process, and helps prevent non-Sigma rules from being enumerated.</p><pre>steps:<br>    - uses: SigmaHQ/sigma-rules-validator@v1<br>      with:<br>        paths: &#39;./rules&#39;</pre><p>You can also pass multiple directories, if you happen to organize different rules in different directories:</p><pre>steps:<br>    - uses: SigmaHQ/sigma-rules-validator@v1<br>      with:<br>        paths: |-<br>          ./rules<br>          ./custom-rules</pre><p>For those with a JSON Schema within their Sigma rules repository or intending to validate against a custom JSON Schema, the action offers the flexibility to accommodate these scenarios. The following examples show how this can be done:</p><pre>steps:<br>    - uses: SigmaHQ/sigma-rules-validator@v1<br>      with:<br>        paths: &#39;./&#39;<br>        schemaFile: &#39;./sigma-schema.json&#39;</pre><pre>steps:<br>    - uses: SigmaHQ/sigma-rules-validator@v1<br>      with:<br>        paths: &#39;./&#39;<br>        schemaURL: &#39;https://raw.githubusercontent.com/SigmaHQ/sigma-specification/main/sigma-schema.json&#39;</pre><p>We hope this initiative will aid in crafting valid Sigma rules and we welcome any feedback, feature requests, or contributions through <a href="https://github.com/SigmaHQ/sigma-rules-validator/issues">issues</a> or <a href="https://github.com/SigmaHQ/sigma-rules-validator/pulls">pull requests</a>. You can also reach out to us in the #security channel of our <a href="https://slack.grafana.com/">Grafana Community Slack</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3d23a23803ff" width="1" height="1" alt=""><hr><p><a href="https://blog.sigmahq.io/how-to-validate-sigma-rules-with-github-actions-for-improved-security-monitoring-3d23a23803ff">How to validate Sigma rules with GitHub Actions for improved security monitoring</a> was originally published in <a href="https://blog.sigmahq.io">Sigma_HQ</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SigmaHQ Rules Release Highlights — r2024–03–11]]></title>
            <link>https://blog.sigmahq.io/sigmahq-rules-release-highlights-r2024-03-11-517f48ea847a?source=rss----f7aebf45e114---4</link>
            <guid isPermaLink="false">https://medium.com/p/517f48ea847a</guid>
            <category><![CDATA[siem]]></category>
            <category><![CDATA[windows]]></category>
            <category><![CDATA[endpoint-security]]></category>
            <category><![CDATA[blue-team]]></category>
            <category><![CDATA[sigma-release]]></category>
            <dc:creator><![CDATA[Nasreddine Bencherchali]]></dc:creator>
            <pubDate>Mon, 11 Mar 2024 20:41:13 GMT</pubDate>
            <atom:updated>2024-03-11T20:41:13.769Z</atom:updated>
            <content:encoded><![CDATA[<h3>SigmaHQ Rules Release Highlights — r2024–03–11</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/751/1*uBLeQYxSAhLnEqMXuog70w.png" /><figcaption><a href="https://github.com/SigmaHQ/sigma/releases/tag/r2024-03-11">https://github.com/SigmaHQ/sigma/releases/tag/r2024-03-11</a></figcaption></figure><p>Sigma Rule Packages for 11–03–2024 are released and available for <a href="https://github.com/SigmaHQ/sigma/releases/tag/r2024-03-11">download</a>. This release saw the addition of <strong>28 new rules</strong>, <strong>5 rule updates </strong>and <strong>5 rule fixes</strong> by <strong>12</strong> contributors.</p><h3>New Rules</h3><p>Some highlights for the newer rules include new rules targeting logs from GitHub based on the secret scanning feature <a href="https://thehackernews.com/2024/03/github-rolls-out-default-secret.html">released</a> early this month.</p><pre>title: Github Push Protection Bypass Detected<br>id: 02cf536a-cf21-4876-8842-4159c8aee3cc<br>status: experimental<br>description: Detects when a user bypasses the push protection on a secret detected by secret scanning.<br>references:<br>    - https://docs.github.com/en/enterprise-cloud@latest/code-security/secret-scanning/push-protection-for-repositories-and-organizations<br>    - https://thehackernews.com/2024/03/github-rolls-out-default-secret.html<br>author: Muhammad Faisal (@faisalusuf)<br>date: 2024/03/07<br>tags:<br>    - attack.defense_evasion<br>    - attack.t1562.001<br>logsource:<br>    product: github<br>    service: audit<br>    definition: &#39;Requirements: The audit log streaming feature must be enabled to be able to receive such logs. You can enable following the documentation here: https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise#setting-up-audit-log-streaming&#39;<br>detection:<br>    selection:<br>        action|contains: &#39;secret_scanning_push_protection.bypass&#39;<br>    condition: selection<br>falsepositives:<br>    - Allowed administrative activities.<br>level: low</pre><pre>title: Github Push Protection Disabled<br>id: ccd55945-badd-4bae-936b-823a735d37dd<br>status: experimental<br>description: Detects if the push protection feature is disabled for an organization, enterprise, repositories or custom pattern rules.<br>references:<br>    - https://docs.github.com/en/enterprise-cloud@latest/code-security/secret-scanning/push-protection-for-repositories-and-organizations<br>    - https://thehackernews.com/2024/03/github-rolls-out-default-secret.html<br>author: Muhammad Faisal (@faisalusuf)<br>date: 2024/03/07<br>tags:<br>    - attack.defense_evasion<br>    - attack.t1562.001<br>logsource:<br>    product: github<br>    service: audit<br>    definition: &#39;Requirements: The audit log streaming feature must be enabled to be able to receive such logs. You can enable following the documentation here: https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise#setting-up-audit-log-streaming&#39;<br>detection:<br>    selection:<br>        action:<br>            - &#39;business_secret_scanning_custom_pattern_push_protection.disabled&#39;<br>            - &#39;business_secret_scanning_push_protection.disable&#39;<br>            - &#39;business_secret_scanning_push_protection.disabled_for_new_repos&#39;<br>            - &#39;org.secret_scanning_custom_pattern_push_protection_disabled&#39;<br>            - &#39;org.secret_scanning_push_protection_disable&#39;<br>            - &#39;org.secret_scanning_push_protection_new_repos_disable&#39;<br>            - &#39;repository_secret_scanning_custom_pattern_push_protection.disabled&#39;<br>    condition: selection<br>falsepositives:<br>    - Allowed administrative activities.<br>level: high</pre><p>A new log source has been added targeting OpenCanary logs and with it a couple of new rules (18 specifically) that are meant to trigger on canary matches.</p><pre>title: OpenCanary - MSSQL Login Attempt Via SQLAuth<br>id: 3ec9a16d-0b4f-4967-9542-ebf38ceac7dd<br>status: experimental<br>description: |<br>    Detects instances where an MSSQL service on an OpenCanary node has had a login attempt using SQLAuth.<br>references:<br>    - https://opencanary.readthedocs.io/en/latest/starting/configuration.html#services-configuration<br>    - https://github.com/thinkst/opencanary/blob/a0896adfcaf0328cfd5829fe10d2878c7445138e/opencanary/logger.py#L52<br>author: Security Onion Solutions<br>date: 2024/03/08<br>tags:<br>    - attack.credential_access<br>    - attack.collection<br>    - attack.t1003<br>    - attack.t1213<br>logsource:<br>    category: application<br>    product: opencanary<br>detection:<br>    selection:<br>        logtype: 9001<br>    condition: selection<br>falsepositives:<br>    - Unlikely<br>level: high</pre><pre>title: OpenCanary - SMB File Open Request<br>id: 22777c9e-873a-4b49-855f-6072ab861a52<br>status: experimental<br>description: Detects instances where an SMB service on an OpenCanary node has had a file open request.<br>references:<br>    - https://opencanary.readthedocs.io/en/latest/starting/configuration.html#services-configuration<br>    - https://github.com/thinkst/opencanary/blob/a0896adfcaf0328cfd5829fe10d2878c7445138e/opencanary/logger.py#L52<br>author: Security Onion Solutions<br>date: 2024/03/08<br>tags:<br>    - attack.lateral_movement<br>    - attack.collection<br>    - attack.t1021<br>    - attack.t1005<br>logsource:<br>    category: application<br>    product: opencanary<br>detection:<br>    selection:<br>        logtype: 5000<br>    condition: selection<br>falsepositives:<br>    - Unlikely<br>level: high</pre><p>Other rules include “Shell Context Menu Command Tampering” and “Potential Raspberry Robin CPL Execution Activity” covering the tampering of shell context menus as <a href="https://mrd0x.com/sentinelone-persistence-via-menu-context/">reported</a> recently, and new activity seen used by recent raspberry samples respectively.</p><pre>title: Potential Raspberry Robin CPL Execution Activity<br>id: 92020b88-9caf-464f-bad8-cd0fb0aa2a81<br>status: experimental<br>description: |<br>    Detects the execution of a &quot;.CPL&quot; file located in the user temp directory via the Shell32 DLL &quot;Control_RunDLL&quot; export function.<br>    This behavior was observed in multiple Raspberry-Robin variants.<br>references:<br>    - https://tria.ge/240226-fhbe7sdc39/behavioral1<br>    - https://bazaar.abuse.ch/browse/signature/RaspberryRobin/<br>author: Swachchhanda Shrawan Poudel<br>date: 2024/03/07<br>tags:<br>    - detection.emerging_threats<br>    - attack.defense_evasion<br>    - attack.execution<br>    - attack.t1218.011<br>logsource:<br>    category: process_creation<br>    product: windows<br>detection:<br>    # Example: &quot;C:\Windows\system32\rundll32.exe&quot; Shell32.dll,Control_RunDLL &quot;C:\Users\xxxx\AppData\Local\Temp\xxxx.CPL&quot;<br>    selection_parent_img:<br>        ParentImage|endswith:<br>            - &#39;\rundll32.exe&#39;<br>            - &#39;\control.exe&#39;<br>    selection_img:<br>        - Image|endswith: &#39;\rundll32.exe&#39;<br>        - OriginalFileName: &#39;RUNDLL32.EXE&#39;<br>    selection_cli:<br>        CommandLine|contains|all:<br>            - &#39;shell32.dll&#39;<br>            - &#39;Control_RunDLL&#39;<br>            - &#39;.CPL&#39;<br>    selection_path:<br>        CommandLine|contains: &#39;\AppData\Local\Temp\&#39;<br>    condition: all of selection_*<br>falsepositives:<br>    - Unknown<br>level: high </pre><pre>title: Shell Context Menu Command Tampering<br>id: 868df2d1-0939-4562-83a7-27408c4a1ada<br>status: experimental<br>description: Detects changes to shell context menu commands. Use this rule to hunt for potential anomalies and suspicious shell commands.<br>references:<br>    - https://mrd0x.com/sentinelone-persistence-via-menu-context/<br>author: Nasreddine Bencherchali (Nextron Systems)<br>date: 2024/03/06<br>tags:<br>    - attack.persistence<br>    - detection.threat_hunting<br>logsource:<br>    category: registry_set<br>    product: windows<br>detection:<br>    selection:<br>        TargetObject|contains|all:<br>            - &#39;\Software\Classes\&#39;<br>            - &#39;\shell\&#39;<br>            - &#39;\command\&#39;<br>    condition: selection<br>falsepositives:<br>    - Likely from new software installation suggesting to add context menu items. Such as &quot;PowerShell&quot;, &quot;Everything&quot;, &quot;Git&quot;, etc.<br>level: low</pre><h3>New Updates</h3><p>Some older rules have seen improvements in coverage and metadata as well. Some examples include</p><p>Addition of “regsvr32” to increase coverage</p><pre>title: Potential PowerShell Execution Via DLL<br>id: 6812a10b-60ea-420c-832f-dfcc33b646ba<br>status: test<br>description: |<br>    Detects potential PowerShell execution from a DLL instead of the usual PowerShell process as seen used in PowerShdll.<br>    This detection assumes that PowerShell commands are passed via the CommandLine.<br>references:<br>    - https://github.com/p3nt4/PowerShdll/blob/62cfa172fb4e1f7f4ac00ca942685baeb88ff356/README.md<br>author: Markus Neis, Nasreddine Bencherchali (Nextron Systems)<br>date: 2018/08/25<br>modified: 2024/03/07<br>tags:<br>    - attack.defense_evasion<br>    - attack.t1218.011<br>logsource:<br>    category: process_creation<br>    product: windows<br>detection:<br>    selection_img:<br>        - Image|endswith:<br>              - &#39;\InstallUtil.exe&#39;<br>              - &#39;\RegAsm.exe&#39;<br>              - &#39;\RegSvcs.exe&#39;<br>              - &#39;\regsvr32.exe&#39;<br>              - &#39;\rundll32.exe&#39;<br>        - OriginalFileName:<br>              - &#39;InstallUtil.exe&#39;<br>              - &#39;RegAsm.exe&#39;<br>              - &#39;RegSvcs.exe&#39;<br>              - &#39;REGSVR32.EXE&#39;<br>              - &#39;RUNDLL32.EXE&#39;<br>    selection_cli:<br>        CommandLine|contains:<br>            - &#39;Default.GetString&#39;<br>            - &#39;DownloadString&#39;<br>            - &#39;FromBase64String&#39;<br>            - &#39;ICM &#39;<br>            - &#39;IEX &#39;<br>            - &#39;Invoke-Command&#39;<br>            - &#39;Invoke-Expression&#39;<br>    condition: all of selection_*<br>falsepositives:<br>    - Unknown<br>level: high</pre><p>Addition of “InstallUtil”, “RegAsm” and “RegSvcs” as additional process.</p><pre>title: Unsigned DLL Loaded by Windows Utility<br>id: b5de0c9a-6f19-43e0-af4e-55ad01f550af<br>status: experimental<br>description: |<br>    Detects windows utilities loading an unsigned or untrusted DLL.<br>    Adversaries often abuse those programs to proxy execution of malicious code.<br>references:<br>    - https://www.elastic.co/security-labs/Hunting-for-Suspicious-Windows-Libraries-for-Execution-and-Evasion<br>    - https://akhere.hashnode.dev/hunting-unsigned-dlls-using-kql<br>    - https://unit42.paloaltonetworks.com/unsigned-dlls/?web_view=true<br>author: Swachchhanda Shrawan Poudel<br>date: 2024/02/28<br>modified: 2024/03/07<br>tags:<br>    - attack.t1218.011<br>    - attack.t1218.010<br>    - attack.defense_evasion<br>logsource:<br>    product: windows<br>    category: image_load<br>detection:<br>    selection:<br>        Image|endswith:<br>            # Note: Add additional utilities that allow the loading of DLLs<br>            - &#39;\InstallUtil.exe&#39;<br>            - &#39;\RegAsm.exe&#39;<br>            - &#39;\RegSvcs.exe&#39;<br>            - &#39;\regsvr32.exe&#39;<br>            - &#39;\rundll32.exe&#39;<br>    filter_main_signed:<br>        Signed: &#39;true&#39;<br>    filter_main_sig_status:<br>        SignatureStatus:<br>            - &#39;errorChaining&#39;<br>            - &#39;errorCode_endpoint&#39;<br>            - &#39;errorExpired&#39;<br>            - &#39;trusted&#39;<br>    filter_main_signed_null:<br>        Signed: null<br>    filter_main_signed_empty:<br>        Signed:<br>            - &#39;&#39;<br>            - &#39;-&#39;<br>    filter_main_sig_status_null:<br>        SignatureStatus: null<br>    filter_main_sig_status_empty:<br>        SignatureStatus:<br>            - &#39;&#39;<br>            - &#39;-&#39;<br>    condition: selection and not 1 of filter_main_*<br>falsepositives:<br>    - Unknown<br>level: medium</pre><h3>Fixes</h3><p>This release includes a couple of false positives fixes and tuning of older rules to enhance their quality.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2kjjNYCykVwLZQKV5Rr-Ew.png" /></figure><p>Please check the full changelog on the release page below for the complete list of changes and additions.</p><p><a href="https://github.com/SigmaHQ/sigma/releases/tag/r2024-03-11">Release Release r2024-03-11 · SigmaHQ/sigma</a></p><h3>Contributors</h3><p>This release was possible thanks to the many Sigma community contributors. A big thanks goes to following people:</p><ul><li><a href="https://github.com/benmontour">@benmontour</a></li><li><a href="https://github.com/CrimpSec">@CrimpSec</a></li><li><a href="https://github.com/defensivedepth">@defensivedepth</a></li><li><a href="https://github.com/faisalusuf">@faisalusuf</a></li><li><a href="https://github.com/frack113">@frack113</a></li><li><a href="https://github.com/nasbench">@nasbench</a></li><li><a href="https://github.com/qasimqlf">@qasimqlf</a></li><li><a href="https://github.com/secDre4mer">@secDre4mer</a></li><li><a href="https://github.com/snajafov">@snajafov</a></li><li><a href="https://github.com/swachchhanda000">@swachchhanda000</a></li><li><a href="https://github.com/tr0mb1r">@tr0mb1r</a></li><li><a href="https://github.com/X-Junior">@X-Junior</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=517f48ea847a" width="1" height="1" alt=""><hr><p><a href="https://blog.sigmahq.io/sigmahq-rules-release-highlights-r2024-03-11-517f48ea847a">SigmaHQ Rules Release Highlights — r2024–03–11</a> was originally published in <a href="https://blog.sigmahq.io">Sigma_HQ</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SigmaHQ Rules Release Highlights — r2024–02–26]]></title>
            <link>https://blog.sigmahq.io/sigmahq-rules-release-highlights-r2024-02-26-8070a5fc2a71?source=rss----f7aebf45e114---4</link>
            <guid isPermaLink="false">https://medium.com/p/8070a5fc2a71</guid>
            <category><![CDATA[windows]]></category>
            <category><![CDATA[blue-team]]></category>
            <category><![CDATA[sigma-release]]></category>
            <category><![CDATA[siem]]></category>
            <category><![CDATA[endpoint-security]]></category>
            <dc:creator><![CDATA[Nasreddine Bencherchali]]></dc:creator>
            <pubDate>Mon, 26 Feb 2024 22:16:48 GMT</pubDate>
            <atom:updated>2024-02-26T22:16:48.868Z</atom:updated>
            <content:encoded><![CDATA[<h3>SigmaHQ Rules Release Highlights — r2024–02–26</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/795/1*bzm3nsGs1oW-BcIn3-mMBg.png" /><figcaption><a href="https://github.com/SigmaHQ/sigma/releases/tag/r2024-02-26">https://github.com/SigmaHQ/sigma/releases/tag/r2024-02-26</a></figcaption></figure><p>Sigma Rule Packages for 26–02–2024 are released and available for <a href="https://github.com/SigmaHQ/sigma/releases/tag/r2024-02-26">download</a>. This release saw the addition of <strong>31 new rules</strong>, <strong>16 rule updates </strong>by <strong>9</strong> contributors.</p><h3>New Rules</h3><p>Some highlights for the newer rules include new rules related to the ScreenConnect “Slash and Grab” exploit <a href="https://github.com/advisories/GHSA-65x5-26gm-j9pq">CVE-2024–1708</a> and <a href="https://github.com/advisories/GHSA-cg3j-75xh-7fv3">CVE-2024–1709</a>.</p><pre>title: CVE-2024-1709 - ScreenConnect Authentication Bypass Exploitation<br>id: d27eabad-9068-401a-b0d6-9eac744d6e67<br>status: experimental<br>description: |<br>    Detects GET requests to &#39;/SetupWizard.aspx/[anythinghere]&#39; that indicate exploitation of the ScreenConnect vulnerability CVE-2024-1709.<br>references:<br>    - https://www.connectwise.com/company/trust/security-bulletins/connectwise-screenconnect-23.9.8<br>    - https://www.huntress.com/blog/a-catastrophe-for-control-understanding-the-screenconnect-authentication-bypass<br>    - https://www.cve.org/CVERecord?id=CVE-2024-1709<br>author: Matt Anderson, Huntress<br>date: 2024/02/20<br>tags:<br>    - attack.initial_access<br>    - attack.persistence<br>    - cve.2024.1709<br>logsource:<br>    category: webserver<br>detection:<br>    selection:<br>        cs-uri-stem|contains: &#39;/SetupWizard.aspx/&#39;<br>    condition: selection<br>falsepositives:<br>    - Unknown<br>level: critical</pre><pre>title: CVE-2024-1708 - ScreenConnect Path Traversal Exploitation<br>id: 44d7af7e-88e6-4490-be11-55f7ff4d9fc1<br>related:<br>    - id: 4c198a60-7d05-4daf-8bf7-4136fb6f5c62<br>      type: similar<br>status: experimental<br>description: |<br>    This detects file modifications to ASPX and ASHX files within the root of the App_Extensions directory, which is allowed by a ZipSlip vulnerability in versions prior to 23.9.8. This occurs during exploitation of CVE-2024-1708.<br>references:<br>    - https://www.connectwise.com/company/trust/security-bulletins/connectwise-screenconnect-23.9.8<br>    - https://www.cve.org/CVERecord?id=CVE-2024-1709<br>    - https://www.huntress.com/blog/a-catastrophe-for-control-understanding-the-screenconnect-authentication-bypass<br>author: Matt Anderson, Andrew Schwartz, Caleb Stewart, Huntress<br>date: 2024/02/21<br>tags:<br>    - attack.persistence<br>    - cve.2024.1708<br>logsource:<br>    product: windows<br>    category: file_event<br>detection:<br>    selection:<br>        Image|endswith: &#39;\ScreenConnect.Service.exe&#39;<br>        TargetFilename|endswith:<br>            - &#39;ScreenConnect\\App_Extensions\\*.ashx&#39;<br>            - &#39;ScreenConnect\\App_Extensions\\*.aspx&#39;<br>    filter_main_legit_extension:<br>        TargetFilename|contains: &#39;ScreenConnect\App_Extensions\\*\\&#39;<br>    condition: selection and not 1 of filter_main_*<br>falsepositives:<br>    - This will occur legitimately as well and will result in some benign activity.<br>level: medium</pre><p>As well as generic rules for exploitation indicator of the ScreenConnect client and server.</p><pre>title: Remote Access Tool - ScreenConnect Potential Suspicious Remote Command Execution<br>id: 7b582f1a-b318-4c6a-bf4e-66fe49bf55a5<br>related:<br>    - id: d1a401ab-8c47-4e86-a7d8-2460b6a53e4a<br>      type: derived<br>status: test<br>description: |<br>    Detects potentially suspicious child processes launched via the ScreenConnect client service.<br>references:<br>    - https://www.mandiant.com/resources/telegram-malware-iranian-espionage<br>    - https://docs.connectwise.com/ConnectWise_Control_Documentation/Get_started/Host_client/View_menu/Backstage_mode<br>    - https://www.huntress.com/blog/slashandgrab-screen-connect-post-exploitation-in-the-wild-cve-2024-1709-cve-2024-1708<br>author: Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems), @Kostastsale<br>date: 2022/02/25<br>modified: 2024/02/26<br>tags:<br>    - attack.command_and_control<br>    - attack.t1219<br>logsource:<br>    product: windows<br>    category: process_creation<br>detection:<br>    selection:<br>        ParentCommandLine|contains|all:<br>            - &#39;:\Windows\TEMP\ScreenConnect\&#39;<br>            - &#39;run.cmd&#39;<br>        Image|endswith:<br>            - &#39;\cmd.exe&#39;<br>            - &#39;\curl.exe&#39;<br>            - &#39;\powershell.exe&#39;<br>            - &#39;\pwsh.exe&#39;<br>            - &#39;\wevtutil.exe&#39;<br>    condition: selection<br>falsepositives:<br>    - If the script being executed make use of any of the utilities mentioned in the detection then they should filtered out or allowed.<br>level: medium</pre><pre>title: Remote Access Tool - ScreenConnect Server Web Shell Execution<br>id: b19146a3-25d4-41b4-928b-1e2a92641b1b<br>status: experimental<br>description: Detects potential web shell execution from the ScreenConnect server process.<br>references:<br>    - https://blackpointcyber.com/resources/blog/breaking-through-the-screen/<br>    - https://www.connectwise.com/company/trust/security-bulletins/connectwise-screenconnect-23.9.8<br>author: Jason Rathbun (Blackpoint Cyber)<br>date: 2024/02/26<br>tags:<br>    - attack.initial_access<br>    - attack.t1190<br>logsource:<br>    product: windows<br>    category: process_creation<br>detection:<br>    selection:<br>        ParentImage|endswith: &#39;\ScreenConnect.Service.exe&#39;<br>        Image|endswith:<br>            - &#39;\cmd.exe&#39;<br>            - &#39;\csc.exe&#39;<br>    condition: selection<br>falsepositives:<br>    - Unlikely<br>level: high</pre><p>Another major contribution this release was the addition of the first set of Bitbucket related rules based on Audit logs generated by Bitbucket. These include</p><ul><li>Full data export</li><li>Global permission tampering</li><li>Project scanning rules deletion</li></ul><p>and much more</p><pre>title: Bitbucket Full Data Export Triggered<br>id: 195e1b9d-bfc2-4ffa-ab4e-35aef69815f8<br>status: experimental<br>description: Detects when full data export is attempted.<br>references:<br>    - https://confluence.atlassian.com/bitbucketserver/audit-log-events-776640423.html<br>    - https://confluence.atlassian.com/adminjiraserver0811/importing-and-exporting-data-1019391889.html<br>author: Muhammad Faisal (@faisalusuf)<br>date: 2024/02/25<br>tags:<br>    - attack.collection<br>    - attack.t1213.003<br>logsource:<br>    product: bitbucket<br>    service: audit<br>    definition: &#39;Requirements: &quot;Advance&quot; log level is required to receive these audit events.&#39;<br>detection:<br>    selection:<br>        auditType.category: &#39;Data pipeline&#39;<br>        auditType.action: &#39;Full data export triggered&#39;<br>    condition: selection<br>falsepositives:<br>    - Legitimate user activity.<br>level: high</pre><pre>title: Bitbucket Global Permission Changed<br>id: aac6c4f4-87c7-4961-96ac-c3fd3a42c310<br>status: experimental<br>description: Detects global permissions change activity.<br>references:<br>    - https://confluence.atlassian.com/bitbucketserver/audit-log-events-776640423.html<br>    - https://confluence.atlassian.com/bitbucketserver/global-permissions-776640369.html<br>author: Muhammad Faisal (@faisalusuf)<br>date: 2024/02/25<br>tags:<br>    - attack.persistence<br>    - attack.privilege_escalation<br>    - attack.t1098<br>logsource:<br>    product: bitbucket<br>    service: audit<br>    definition: &#39;Requirements: &quot;Advance&quot; log level is required to receive these audit events.&#39;<br>detection:<br>    selection:<br>        auditType.category: &#39;Permissions&#39;<br>        auditType.action:<br>            - &#39;Global permission remove request&#39;<br>            - &#39;Global permission removed&#39;<br>            - &#39;Global permission granted&#39;<br>            - &#39;Global permission requested&#39;<br>    condition: selection<br>falsepositives:<br>    - Legitimate user activity.<br>level: medium</pre><h3>New Updates</h3><p>A couple of the older rules have seen some improvements in coverage and metadata as well. Some examples include</p><p>New User-Agent to the APT UA hunting rule related to RedCurl APT</p><pre>title: APT User Agent<br>id: 6ec820f2-e963-4801-9127-d8b2dce4d31b<br>status: test<br>description: Detects suspicious user agent strings used in APT malware in proxy logs<br>references:<br>    - Internal Research<br>author: Florian Roth (Nextron Systems), Markus Neis<br>date: 2019/11/12<br>modified: 2024/02/15<br>tags:<br>    - attack.command_and_control<br>    - attack.t1071.001<br>logsource:<br>    category: proxy<br>detection:<br>    selection:<br>        c-useragent:<br>         # APT Related<br>            - &#39;SJZJ (compatible; MSIE 6.0; Win32)&#39; # APT Backspace<br>            - &#39;Mozilla/5.0 (Windows NT 6.; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0&#39; # APT GrizzlySteppe - ChopStick - US CERT https://goo.gl/1DTHwi<br>            - &#39;User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC&#39; # Comment Crew Miniasp<br>            - &#39;Mozilla/4.0 (compatible; MSIE 7.4; Win32;32-bit)&#39; # Comment Crew Miniasp<br>            - &#39;webclient&#39; # Naikon APT<br>            - &#39;Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-EN; rv:1.7.12) Gecko/200&#39; # Naikon APT<br>            - &#39;Mozilla/4.0 (compatible; MSI 6.0;&#39; # SnowGlobe Babar - yes, it is cut<br>            - &#39;Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0&#39; # Sofacy - Xtunnel<br>            - &#39;Mozilla/5.0 (Windows NT 6.2; WOW64; rv:20.0) Gecko/20100101 Firefox/&#39; # Sofacy - Xtunnel<br>            - &#39;Mozilla/5.0 (Windows NT 6.; WOW64; rv:20.0) Gecko/20100101 Firefox/2&#39; # Sofacy - Xtunnel<br>            - &#39;Mozilla/4.0&#39; # Derusbi backdoor ELF https://github.com/fideliscyber/indicators/tree/master/FTA-1021<br>            - &#39;Netscape&#39; # Unit78020 Malware<br>            - &#39;Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-EN; rv:1.7.12) Gecko/20100719 Firefox/1.0.7&#39; # Unit78020 Malware<br>            - &#39;Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Firefox/3.6.13 GTB7.1&#39; # Winnti related<br>            - &#39;Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)&#39; # Winnti related<br>            - &#39;Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NETCLR 2.0.50727)&#39; # APT17<br>            - &#39;Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; SV1)&#39; # Bronze Butler - Daserf<br>            - &#39;Mozilla/4.0 (compatible; MSIE 11.0; Windows NT 6.1; SV1)&#39; # Bronze Butler - Daserf<br>            - &#39;Mozilla/4.0 (compatible; MSIE 8.0; Win32)&#39; # TSCookie https://app.any.run/tasks/0996b314-5133-491b-8d23-d431ffdec597<br>            - &#39;Mozilla v5.1 (Windows NT 6.1; rv:6.0.1) Gecko/20100101 Firefox/6.0.1&#39; # Delphi downloader https://www.welivesecurity.com/2018/04/24/sednit-update-analysis-zebrocy/<br>            - &#39;Mozilla/6.1 (compatible; MSIE 9.0; Windows NT 5.3; Trident/5.0)&#39; # VPNFilter https://blog.talosintelligence.com/2018/05/VPNFilter.html<br>            - &#39;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; InfoPath.1)&#39; # Sofacy User-Agent https://researchcenter.paloaltonetworks.com/2018/06/unit42-sofacy-groups-parallel-attacks/<br>            - &#39;Mozilla/5.0 (Windows NT 6.1; WOW64) WinHttp/1.6.3.8 (WinHTTP/5.1) like Gecko&#39; # Sofacy User-Agent https://researchcenter.paloaltonetworks.com/2018/06/unit42-sofacy-groups-parallel-attacks/<br>            - &#39;Mozilla v5.1 *&#39; # Sofacy Zebrocy samples<br>            - &#39;MSIE 8.0&#39; # Sofacy Azzy Backdoor  from https://www.hybrid-analysis.com/sample/a80e29c0757bee05338fd5c22a542d852ad86c477068e3eb4aacc1c3e59e2eef?environmentId=100<br>            - &#39;Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.2)&#39; # https://www.fireeye.com/blog/threat-research/2018/07/microsoft-office-vulnerabilities-used-to-distribute-felixroot-backdoor.html<br>            - &#39;Mozilla/4.0 (compatible; RMS)&#39; # Attacks on industrial enterprises using RMS and TeamViewer https://goo.gl/GthvTw<br>            - &#39;Mozilla/4.0 (compatible; MSIE 6.0; DynGate)&#39; # Attacks on industrial enterprises using RMS and TeamViewer https://goo.gl/GthvTw<br>            - &#39;O/9.27 (W; U; Z)&#39; # Cmstar https://www.virustotal.com/#/file/e4328011bb2b04abc856ccd04404c9f95d67167f6c291d343e8ffa8aa2aa2099/details<br>            - &#39;Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0;  Trident/5.0*&#39; # KerrDown UA https://goo.gl/s2WU6o<br>            - &#39;Mozilla/5.0 (Windows NT 9; *&#39; # Suspicious &#39;Windows NT 9&#39; user agent - used by APT33 malware in 2018<br>            - &#39;hots scot&#39; # Unknown iOS zero-day implant https://twitter.com/craiu/status/1176437994288484352?s=20<br>            - &#39;Mozilla/5.0 (compatible; MSIE 10.0; Windows NT)&#39; # https://blog.telsy.com/meeting-powerband-the-apt33-net-powerton-variant/<br>            - &#39;Mozilla/5.0 (Windows NT 6.1; WOW64) Chrome/28.0.1500.95 Safari/537.36&#39; # Hidden Cobra malware<br>            - &#39;Mozilla/5.0 (Windows NT 6.2; Win32; rv:47.0)&#39; # Strong Pity loader https://twitter.com/VK_Intel/status/1264185981118406657<br>            - &#39;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1;&#39; # Mustang Panda https://insights.oem.avira.com/new-wave-of-plugx-targets-hong-kong/<br>            - &#39;Mozilla/5.0 (X11; Linux i686; rv:22.0) Firefox/22.0&#39; # BackdoorDiplomacy https://www.welivesecurity.com/2021/06/10/backdoordiplomacy-upgrading-quarian-turian/<br>            - &#39;Mozilla/5.0 Chrome/72.0.3626.109 Safari/537.36&#39; # SideWalk malware used by Sparkling Goblin<br>            - &#39;Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:FTS_06) Gecko/22.36.35.06 Firefox/2.0&#39; # LitePower stager used by WRITE https://securelist.com/wirtes-campaign-in-the-middle-east-living-off-the-land-since-at-least-2019/105044/<br>            - &#39;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36 Edg/100.0.1185.39&#39; # https://www.microsoft.com/security/blog/2022/09/29/zinc-weaponizing-open-source-software/<br>            - &#39;Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; InfoPath.3; .NET4.0C; .NET4.0E)&#39; # https://www.microsoft.com/security/blog/2022/09/29/zinc-weaponizing-open-source-software/<br>            - &#39;Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 10.0; .NET4.0C; .NET4.0E; Tablet PC 2.0)&#39; # PlugX backdoor https://unit42.paloaltonetworks.com/thor-plugx-variant/<br>            - &#39;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246001&#39;  # RedCurl Downloader APT https://www.facct.ru/blog/redcurl-2024<br>    condition: selection<br>fields:<br>    - ClientIP<br>    - c-uri<br>    - c-useragent<br>falsepositives:<br>    - Old browsers<br>level: high</pre><p>Add commandline flag variation of / and - to Windows based rules such as</p><ul><li><strong>Curl</strong></li><li><strong>Chcp</strong></li><li><strong>Cmdkey</strong></li></ul><p>And more.</p><p>Update and merging of rules that covered the potential abuse of the <strong>“RunHTMLApplication” </strong>export, in order to cover the newly reported Windows Defender bypass</p><pre>title: Mshtml.DLL RunHTMLApplication Suspicious Usage<br>id: 4782eb5a-a513-4523-a0ac-f3082b26ac5c<br>related:<br>    - id: 9f06447a-a33a-4cbe-a94f-a3f43184a7a3<br>      type: obsoletes<br>    - id: 73fcad2e-ff14-4c38-b11d-4172c8ac86c7<br>      type: obsoletes<br>status: test<br>description: |<br>    Detects execution of commands that leverage the &quot;mshtml.dll&quot; RunHTMLApplication export to run arbitrary code via different protocol handlers (vbscript, javascript, file, http...)<br>references:<br>    - https://twitter.com/n1nj4sec/status/1421190238081277959<br>    - https://hyp3rlinx.altervista.org/advisories/MICROSOFT_WINDOWS_DEFENDER_TROJAN.WIN32.POWESSERE.G_MITIGATION_BYPASS_PART2.txt<br>    - http://hyp3rlinx.altervista.org/advisories/MICROSOFT_WINDOWS_DEFENDER_DETECTION_BYPASS.txt<br>author: Nasreddine Bencherchali (Nextron Systems),  Florian Roth (Nextron Systems), Josh Nickels, frack113, Zaw Min Htun (ZETA)<br>date: 2022/08/14<br>modified: 2024/02/23<br>tags:<br>    - attack.defense_evasion<br>    - attack.execution<br>logsource:<br>    category: process_creation<br>    product: windows<br>detection:<br>    selection:<br>        CommandLine|contains|all:<br>            - &#39;\..\&#39;<br>            - &#39;mshtml&#39;<br>        CommandLine|contains:<br>            - &#39;#135&#39;<br>            - &#39;RunHTMLApplication&#39;<br>    condition: selection<br>falsepositives:<br>    - Unlikely<br>level: high</pre><p>Please check the full changelog on the release page below for the complete list of changes and additions.</p><p><a href="https://github.com/SigmaHQ/sigma/releases/tag/r2024-02-26">Release Release r2024-02-26 · SigmaHQ/sigma</a></p><h3>Contributors</h3><p>This release was possible thanks to the many Sigma community contributors. A big thanks goes to following people:</p><ul><li><a href="https://github.com/clebron23">@clebron23</a></li><li><a href="https://github.com/faisalusuf">@faisalusuf</a></li><li><a href="https://github.com/frack113">@frack113</a></li><li><a href="https://github.com/joshnck">@joshnck</a></li><li><a href="https://github.com/MalGamy">@MalGamy</a></li><li><a href="https://github.com/MATTANDERS0N">@MATTANDERS0N</a></li><li><a href="https://github.com/nasbench">@nasbench</a></li><li><a href="https://github.com/qasimqlf">@qasimqlf</a></li><li><a href="https://github.com/RG9n">@RG9n</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8070a5fc2a71" width="1" height="1" alt=""><hr><p><a href="https://blog.sigmahq.io/sigmahq-rules-release-highlights-r2024-02-26-8070a5fc2a71">SigmaHQ Rules Release Highlights — r2024–02–26</a> was originally published in <a href="https://blog.sigmahq.io">Sigma_HQ</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>