Detection proposal: VBA Stomping (T1564.007) - EvilClippy execution and vbaProject.bin creation by non-Office process
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 54/100
Research direction
Start by checking the detection conventions under detections/ on develop and the equivalent SigmaHQ proposal, then identify the ESCU format and review process for new detections. The issue specifies two analytics: EvilClippy process execution and non-Office, non-archiver creation of vbaProject.bin. Done means submitting both SPL detections with naming, status, and analytic story placement aligned to maintainer guidance; attack data and tests need maintainer direction.
Written by the indexing model from the issue text.
Description
Hi team! 👋
I would like to contribute two new detections for VBA Stomping (T1564.007, Defense Evasion). As of today ESCU has no detection covering this technique (verified against detections/ on develop).
Background: VBA stomping removes the VBA source code from an Office document while keeping the compiled p-code, so the macro still executes but the malicious source is invisible to static analysis tools and even the VBA editor. EvilClippy (Outflank) is the best-known open-source tool implementing this technique. MITRE reference: https://attack.mitre.org/techniques/T1564/007/
Proposed detections:
- EvilClippy execution -
Endpoint.Processesdatamodel,process_name/original_file_name=EvilClippy.exe(Sysmon EID 1 / Security 4688 / EDR telemetry) - vbaProject.bin creation by a non-Office process -
Endpoint.Filesystemdatamodel,file_name=vbaProject.binwhere the creating process is NOT an Office application (WINWORD/EXCEL/POWERPNT/MSACCESS/OUTLOOK/...) and not a common archiver (7z, WinRAR, Bandizip), since a legitimately saved macro project is always written by the Office host process (Sysmon EID 11)
Prior art: I have just submitted equivalent coverage to SigmaHQ (SigmaHQ/sigma#6595) and would love to port it to SPL for ESCU.
Attack data: I could not find EvilClippy or vbaProject datasets in splunk/attack_data, so the initial PR will not include unit tests. I am happy to help record/generate attack data if maintainers point me to the preferred process, or the team can generate it with attack_range as usual.
CLA: I am completing the individual contributor agreement now and will confirm it in the PR.
Happy to adjust naming, status, and analytic story placement per maintainer feedback. Thanks!
- Dominant language
- Python
- Stars
- 1.7k
- Forks
- 507
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 35
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from splunk/security_content
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 78/100
splunk/security_content#4418 ·
Maintainers usually reply within 1 day
-
[BUG] Windows New EventLog ChannelAccess Registry Value Set: second path has single backslashesOpenbug
Difficulty 1/5 1-3 hours Newbie friendliness 78/100
splunk/security_content#4417 ·
Maintainers usually reply within 1 day
-
[BUG]Linux Change File Owner To Root: detection bypass using "chown root: <file>"Possibly taken @thegreatmhn claimed this 1 day ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
splunk/security_content#4413 · 4 comments ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
splunk/security_content#4401 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
splunk/security_content#4400 ·
Maintainers usually reply within 1 day
All issues in splunk/security_content
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
deepchem/deepchem#5289 · 1 comment ·
Maintainers usually reply within 2 days
-
Difficulty 1/5 Under an hour Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 60/100
UKGovernmentBEIS/inspect_evals#2892 · 1 comment ·
Maintainers usually reply within 1 day
-
Versioning docs: say that no output from the 0.46 warning check means nothing is affectedPossibly taken @grelinfo claimed this today. Opendocumentation priority:low size:S
Difficulty 1/5 Under an hour Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
alphacrack/readme2demo#293 ·