mandiant / mandiant/capa-rules

padded

Open
#323 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

FLARE-TODO rule idea
Dominant language
No language data
Stars
736
Forks
245
Avg merge
4d 53m
Merged PRs (30d)
2

Description

## Rule name

`padded`

## Summary

Detect files which contain padding with extraneous data such as zeros or random bytes. Sometimes used to evade antivirus engines that will not scan files above a set size limit.

Detecting zeros is easy, but not random bytes. One idea is to detect random paddings by looking for an unusual amount of zeros with regular expressions.

## Possible test samples

Publicly available samples that may contain the capability this rule should detect (MD5 hashes):
- 3a71311ac69f26e478e2d80541e9a412 (capa is not able to run on this sample at the moment, this is caused by a bug on vivisect: https://github.com/vivisect/vivisect/issues/391)

## References

Links or references to additional information on the capability (can also be included in the rule):

- https://attack.mitre.org/techniques/T1027/001/

## Namespace

Proposed namespace: `anti-analysis/padding`. More details in https://github.com/fireeye/capa-rules/blob/master/doc/format.md#rule-namespace

## att&ck

`aka.mitre.att&ck.t1027.001`

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the rule format documentation linked in the issue and review the proposed namespace anti-analysis/padding. Investigate the referenced sample by its MD5 and the vivisect issue blocking capa analysis, then determine how padding with zeros or random bytes can be identified. Done means a valid padded rule detects the intended capability and includes the T1027.001 mapping.

Written by the indexing model from the issue text.

Assessment

Domain
reverse-engineering, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.