Skip to content

Nterl0k - T1059 - Generic Malicious Powershell Strings + Lookup#3276

Merged
patel-bhavin merged 26 commits intosplunk:developfrom
nterl0k:nterl0k-t1059-malicious-powershell-strings
Feb 18, 2025
Merged

Nterl0k - T1059 - Generic Malicious Powershell Strings + Lookup#3276
patel-bhavin merged 26 commits intosplunk:developfrom
nterl0k:nterl0k-t1059-malicious-powershell-strings

Conversation

@nterl0k
Copy link
Contributor

@nterl0k nterl0k commented Jan 13, 2025

Details

I know I know, it's 2025 why am I committing a PowerShell detections. I took the commands/commandlets for a few various / popular offensive powershell toolkits, unique indicators, or known abused functions and dropped them into a lookup that can be maintained / improved so reduce the number of correlations needed for coverage.

I've attached the detections to some existing PowerView detection logging, but it works against multiple things.

The detections will return the first match value, with a brief summary of the match value and toolkit it may be related to.

image

Fair warning the lookup CSV will trigger AV on Windows.

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.

@patel-bhavin patel-bhavin requested review from MHaggis and removed request for ljstella and patel-bhavin February 5, 2025 20:30
@splunk-james
Copy link

Hi @nterl0k very interested to chat about this PR. We are working on something very similar right now at Splunk. Any chance we can setup a time to chat? jyoung@splunk.com

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

@patel-bhavin patel-bhavin merged commit a339415 into splunk:develop Feb 18, 2025
4 checks passed
@patel-bhavin patel-bhavin added this to the v5.1.0 milestone Feb 19, 2025
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.

4 participants