Skip to content

Conversation

@nterl0k
Copy link
Contributor

@nterl0k nterl0k commented Dec 27, 2024

Details

A broad detection designed to pickup the usage of "NetExec", an updated successor to CrackMapExec. The toolkit can be built with python and renamed to whatever, so command line matching ensures accuracy.

Pending splunk/attack_data#923

Checklist

  • Validate name matches <platform>_<mitre att&ck technique>_<short description> nomenclature
  • CI/CD jobs passed ✔️
  • Validated SPL logic.
  • Validated tags, description, and how to implement.
  • Verified references match analytic.
  • Confirm updates to lookups are handled properly.

Notes For Submitters and Reviewers

  • If you're submitting a PR from a fork, ensuring the box to allow updates from maintainers is checked will help speed up the process of getting it merged.
  • Checking the output of the build CI job when it fails will likely show an error about what is failing. You may have a very descriptive error of the specific field(s) in the specific file(s) that is causing an issue. In some cases, its also possible there is an issue with the YAML. Many of these can be caught with the pre-commit hooks if you set them up. These errors will be less descriptive as to what exactly is wrong, but will give you a column and row position in a specific file where the YAML processing breaks. If you're having trouble with this, feel free to add a comment to your PR tagging one of the maintainers and we'll be happy to help troubleshoot it.
  • Updates to existing lookup files can be tricky, because of how Splunk handles application updates and the differences between existing lookup files being updated vs new lookups. You can read more here but the short version is that any changes to lookup files need to bump the datestamp in the lookup CSV filename, and the reference to it in the YAML needs to be updated.

@nterl0k
Copy link
Contributor Author

nterl0k commented Dec 30, 2024 via email

@nasbench
Copy link
Contributor

make some edits regardless to c

That is good to know that you did not encounter any FPs in your env. But as I mentioned, its about edge cases and since the logic might trigger on these edge cases, its best to mitigate them before we merge. (Its about being as accurate as possible).

@nterl0k
Copy link
Contributor Author

nterl0k commented Dec 30, 2024 via email

nterl0k and others added 2 commits December 30, 2024 16:41
…parameters.yml


Update detection description with recommendation

Co-authored-by: Nasreddine Bencherchali <monsteroffire2@gmail.com>
Update detection logic to include "nxc.exe" for process_name or original_file_name as detection points as requested.

Reduce confidence as requested.
@nterl0k
Copy link
Contributor Author

nterl0k commented Dec 30, 2024

I've addressed your comments with updates. Thanks

nasbench
nasbench previously approved these changes Jan 7, 2025
Copy link
Contributor

@nasbench nasbench left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM from a logic pov

The only thing that I noticed not only in this specific PR is the usage of the span=1h in some rules and not others. Would need to discuss this internally with the rest of the team on why this inconsistency exists.

@nterl0k
Copy link
Contributor Author

nterl0k commented Jan 7, 2025

I know ESCU content defaults to -10m/-70m, so I don't think the _time span=1hr is functionally important to the logic for this specific correlation. It just helps bubble up repeats over longer than default search times.

Feel free to nip it out to keep things consistent.

I know I've built others that have spans because the logic does uses a follow-on time based statistics/where statement.

@patel-bhavin patel-bhavin merged commit be3ab3c into splunk:develop Jan 8, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants