LiveActive security incident?Get immediate response
MITRE ATT&CK® Tool

S0695: Donut

Donut is an open source framework used to generate position-independent shellcode.[1][2] Donut generated code has been used by multiple threat actors to inject and load malicious payloads into memory.[3]

EnterpriseS0695ToolObject v1.0Modified
Glexia's Take · Automated analysis

Security context for executives and security teams

Automation confidenceMedium

S0695: Donut describes [Donut](https://attack.mitre.org/software/S0695) is an open source framework used to generate position-independent shellcode.(Citation: Donut Github)(Citation: Introducing Donut) [Donut](https://attack.mitre.org/software/S0695) generated code has been used by multiple threat actors to inject and load malicious payloads into memory.(Citation: NCC Group WastedLocker June 2020)

Executive priority

S0695: Donut is an official MITRE ATT&CK software. Glexia treats it as defensive behavior context for prioritizing monitoring, control validation, and response planning without using the object by itself as an attribution claim.

Technical view

Security teams should validate S0695: Donut by reviewing the official ATT&CK relationships, mapped tactics (the mapped ATT&CK tactic context), supported platforms (Windows), and available local telemetry before making detection or mitigation decisions.

Likely telemetry

  • Official ATT&CK relationships and object metadata
  • Network, endpoint, and security-tool telemetry

Detection direction

  • Validate whether S0695: Donut appears in your detection coverage and tabletop scenarios.
  • Use the object to align executive risk language with SOC, incident response, and detection engineering work.
  • Do not treat ATT&CK relationship context as attribution without corroborating evidence.

Mitigation priorities

  • Map the object to existing controls and identify missing telemetry or response ownership.
  • Prioritize mitigations that reduce exposure on the listed platforms and tactics.
  • Review adjacent ATT&CK relationships before changing policy, detections, or reporting language.
Additional notes and limits

Baseline Glexia take generated from the official MITRE ATT&CK STIX object, source hash, tactics, platforms, and detection fields. It is safe to replace with a richer model-generated take for the same source hash later.

This baseline take is source-grounded and schema-validated, but it does not include environment-specific telemetry, incident evidence, or threat-intelligence corroboration.

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Official MITRE ATT&CK definition

Donut

Donut is an open source framework used to generate position-independent shellcode.[1][2] Donut generated code has been used by multiple threat actors to inject and load malicious payloads into memory.[3]

View the same entry on attack.mitre.org (MITRE-hosted reference; in-page links above use the Glexia ATT&CK library.)

Glexia analysis

How security teams should use this page

Treat this object as behavior context, not an attribution claim. Validate the related groups, software, data sources, and mitigations against official ATT&CK relationships and your own telemetry before making control-coverage decisions.

ATT&CK relationship table

Techniques used

This mirrors the MITRE pattern of making group, software, campaign, and technique relationships scannable. Relationship notes come from mirrored ATT&CK relationship text when available.

16 rows
DomainIDNameRelationship / procedure
EnterpriseT1070Indicator Removal

Donut can erase file references to payloads in-memory after being reflectively loaded and executed.[1]

EnterpriseT1059.006PythonSub-technique

Donut can generate shellcode outputs that execute via Python.[1]

EnterpriseT1055Process Injection

Donut includes a subproject DonutTest to inject shellcode into a target process.[1]

EnterpriseT1059Command and Scripting Interpreter

Donut can generate shellcode outputs that execute via Ruby.[1]

EnterpriseT1059.005Visual BasicSub-technique

Donut can generate shellcode outputs that execute via VBScript.[1]

EnterpriseT1027.013Encrypted/Encoded FileSub-technique

Donut can generate encrypted, compressed/encoded, or otherwise obfuscated code modules.[1]

EnterpriseT1057Process Discovery

Donut includes subprojects that enumerate and identify information about Process Injection candidates.[1]

EnterpriseT1027.002Software PackingSub-technique

Donut can generate packed code modules.[1]

EnterpriseT1071.001Web ProtocolsSub-technique

Donut can use HTTP to download previously staged shellcode payloads.[1]

EnterpriseT1059.007JavaScriptSub-technique

Donut can generate shellcode outputs that execute via JavaScript or JScript.[1]

EnterpriseT1106Native API

Donut code modules use various API functions to load and inject code.[1]

EnterpriseT1620Reflective Code Loading

Donut can generate code modules that enable in-memory execution of VBScript, JScript, EXE, DLL, and dotNET payloads.[1]

EnterpriseT1685Disable or Modify Tools

Donut can patch Antimalware Scan Interface (AMSI), Windows Lockdown Policy (WLDP), as well as exit-related Native API functions to avoid process termination.[1]

EnterpriseT1027.015CompressionSub-technique

Donut can generate encrypted, compressed/encoded, or otherwise obfuscated code modules.[1]

EnterpriseT1059.001PowerShellSub-technique

Donut can generate shellcode outputs that execute via PowerShell.[1]

EnterpriseT1105Ingress Tool Transfer

Donut can download and execute previously staged shellcode payloads.[1]

Associated objects

Groups, software, and campaigns

Relationship explorer

All related ATT&CK context

Change history

Object version and sync metadata

The fields below describe the current mirrored snapshot. When Glexia retains multiple ATT&CK source imports, you can open the table to compare the same object across releases (hashes and MITRE timestamps). For MITRE’s own release notes and roadmap, see ATT&CK resources — Updates.

ATT&CK release
20.0
Object version
1.0
Created
Modified
Raw hash
2cec1ba9d3226c53...
Imported snapshots across ATT&CK releases(3)
ReleaseBundle importedObject versionModifiedStatusRaw hash
20.01.0Current bundle2cec1ba9d322…
19.21.0Older bundle2cec1ba9d322…
19.11.0Older bundle2cec1ba9d322…
Raw source

Mirrored ATT&CK source object

The raw object is retained through the mirrored ATT&CK source bundle and object hash. The raw endpoint returns the exact object from the mirrored bundle when available.

Source references

External references and citations

MITRE external references are preserved separately from Glexia analysis so citations remain traceable to their original source records.

  1. [1]
    Donut Github

    TheWover. (2019, May 9). donut. Retrieved March 25, 2022.

    Open source URL
  2. [2]
    Introducing Donut

    The Wover. (2019, May 9). Donut - Injecting .NET Assemblies as Shellcode. Retrieved October 4, 2021.

    Open source URL
  3. [3]
    NCC Group WastedLocker June 2020

    Antenucci, S., Pantazopoulos, N., Sandee, M. (2020, June 23). WastedLocker: A New Ransomware Variant Developed By The Evil Corp Group. Retrieved September 14, 2021.

    Open source URL
  4. [4]
    mitre-attackS0695
    Open source URL
Source and licensing

Source: MITRE ATT&CK®. © 2026 The MITRE Corporation. This work is reproduced and distributed with the permission of The MITRE Corporation. MITRE ATT&CK and ATT&CK are registered trademarks of The MITRE Corporation. Glexia is not affiliated with or endorsed by MITRE.