MITRE ATT&CK CoA - T1564.004 - NTFS File Attributes
This playbook Remediates the NTFS File Attributes technique using intelligence-driven Courses of Action (COA) defined by Palo Alto Networks Unit 42 team. ***Disclaimer: This playbook does not simulate an attack using the specified technique, but follows the steps to remediation as defined by Palo Alto Networks Unit 42 team’s Actionable Threat Objects and Mitigations (ATOMs). Techniques Handled: - T1564.004: NTFS File Attributes Kill Chain phases: - Defense Evasion MITRE ATT&CK Description: Adversaries may use NTFS file attributes to hide their malicious data in order to evade detection. Every New Technology File System (NTFS) formatted partition contains a Master File Table (MFT) that maintains a record for every file/directory on the partition. [1] Within MFT entries are file attributes, [2] such as Extended Attributes (EA) and Data [known as Alternate Data Streams (ADSs) when more than one Data attribute is present], that can be used to store arbitrary data (and even complete files). Adversaries may store malicious data or binaries in file attribute metadata instead of directly in files. This may be done to evade some defenses, such as static indicator scanning tools and anti-virus. Possible playbook uses: - The playbook can be used independently to handle and remediate the specific technique. - The playbook can be used as a part of the “Courses of Action - Defense Evasion” playbook to remediate techniques based on the kill chain phase. - The playbook can be used as a part of the “MITRE ATT&CK - Courses of Action” playbook, which can be triggered by different sources and accepts the technique MITRE ATT&CK ID as an input.
MITRE ATT&CK - Courses of Action · 12 tasks · 4 inputs · 1 output
Details
| ID | MITRE ATT&CK CoA - T1564.004 - NTFS File Attributes |
|---|---|
| From Version | 6.5.0 |
| Tasks | 12 |
README
This playbook Remediates the NTFS File Attributes technique using intelligence-driven Courses of Action (COA) defined by Palo Alto Networks Unit 42 team.
***Disclaimer: This playbook does not simulate an attack using the specified technique, but follows the steps to remediation as defined by Palo Alto Networks Unit 42 team’s Actionable Threat Objects and Mitigations (ATOMs).
Techniques Handled:
- T1564.004: NTFS File Attributes
Kill Chain phases:
- Defense Evasion
MITRE ATT&CK Description:
Adversaries may use NTFS file attributes to hide their malicious data in order to evade detection. Every New Technology File System (NTFS) formatted partition contains a Master File Table (MFT) that maintains a record for every file/directory on the partition. [1] Within MFT entries are file attributes, [2] such as Extended Attributes (EA) and Data [known as Alternate Data Streams (ADSs) when more than one Data attribute is present], that can be used to store arbitrary data (and even complete files).
Adversaries may store malicious data or binaries in file attribute metadata instead of directly in files. This may be done to evade some defenses, such as static indicator scanning tools and anti-virus.
Possible playbook uses:
- The playbook can be used independently to handle and remediate the specific technique.
- The playbook can be used as a part of the “Courses of Action - Defense Evasion” playbook to remediate techniques based on the kill chain phase.
- The playbook can be used as a part of the “MITRE ATT&CK - Courses of Action” playbook, which can be triggered by different sources and accepts the technique MITRE ATT&CK ID as an input.
Dependencies
This playbook uses the following sub-playbooks, integrations, and scripts.
Sub-playbooks
- PAN-OS - Enforce WildFire Best Practices Profile
- PAN-OS - Block all unknown and unauthorized applications
Integrations
This playbook does not use any integrations.
Scripts
- IsIntegrationAvailable
- Set
- SetGridField
Commands
This playbook does not use any commands.
Playbook Inputs
| Name | Description | Default Value | Required |
|---|---|---|---|
| template | Template name to enforce WildFire best practices profile. | Optional | |
| pre_post | Rules location. Can be ‘pre-rulebase’ or ‘post-rulebase’. Mandatory for Panorama instances. | Optional | |
| device-group | The device group for which to return addresses (Panorama instances). | Optional | |
| tag | Tag for which to filter the rules. | Optional |
Playbook Outputs
| Path | Description | Type |
|---|---|---|
| Handled.Techniques | The techniques handled in this playbook | unknown |
Playbook Image

Inputs
template— Template name to enforce WildFire best practices profile.pre_post— Rules location. Can be 'pre-rulebase' or 'post-rulebase'. Mandatory for Panorama instances.device-group— The device group for which to return addresses (Panorama instances).tag— Tag for which to filter the rules.
Outputs
Handled.Techniques— The techniques handled in this playbook
Flowchart
description: "This playbook Remediates the NTFS File Attributes technique using intelligence-driven Courses of Action (COA) defined by Palo Alto Networks Unit 42 team.\n \n***Disclaimer: This playbook does not simulate an attack using the specified technique, but follows the steps to remediation as defined by Palo Alto Networks Unit 42 team’s Actionable Threat Objects and Mitigations (ATOMs).\nTechniques Handled:\n- T1564.004: NTFS File Attributes\n\nKill Chain phases:\n- Defense Evasion\n\nMITRE ATT&CK Description:\n\nAdversaries may use NTFS file attributes to hide their malicious data in order to evade detection. Every New Technology File System (NTFS) formatted partition contains a Master File Table (MFT) that maintains a record for every file/directory on the partition. [1] Within MFT entries are file attributes, [2] such as Extended Attributes (EA) and Data [known as Alternate Data Streams (ADSs) when more than one Data attribute is present], that can be used to store arbitrary data (and even complete files).\n\nAdversaries may store malicious data or binaries in file attribute metadata instead of directly in files. This may be done to evade some defenses, such as static indicator scanning tools and anti-virus.\n\nPossible playbook uses:\n- The playbook can be used independently to handle and remediate the specific technique.\n- The playbook can be used as a part of the “Courses of Action - Defense Evasion” playbook to remediate techniques based on the kill chain phase.\n- The playbook can be used as a part of the “MITRE ATT&CK - Courses of Action” playbook, which can be triggered by different sources and accepts the technique MITRE ATT&CK ID as an input.\n" id: MITRE ATT&CK CoA - T1564.004 - NTFS File Attributes inputs: - description: Template name to enforce WildFire best practices profile. key: template playbookInputQuery: required: false value: {} - description: Rules location. Can be 'pre-rulebase' or 'post-rulebase'. Mandatory for Panorama instances. key: pre_post playbookInputQuery: required: false value: {} - description: The device group for which to return addresses (Panorama instances). key: device-group playbookInputQuery: required: false value: {} - description: Tag for which to filter the rules. key: tag playbookInputQuery: required: false value: {} name: MITRE ATT&CK CoA - T1564.004 - NTFS File Attributes outputs: - contextPath: Handled.Techniques description: The techniques handled in this playbook type: unknown starttaskid: "0" tasks: "0": id: "0" ignoreworker: false nexttasks: '#none#': - "7" note: false quietmode: 0 separatecontext: false skipunavailable: false task: brand: "" id: dccb1b47-0467-4a1f-8372-81e22d36d624 iscommand: false name: "" version: -1 description: '' taskid: dccb1b47-0467-4a1f-8372-81e22d36d624 timertriggers: [] type: start view: |- { "position": { "x": 990, "y": 380 } } "7": id: "7" ignoreworker: false nexttasks: '#none#': - "24" note: false quietmode: 0 separatecontext: false skipunavailable: false task: brand: "" id: 70969c33-3a6c-455c-8832-ede3c65476c0 iscommand: false name: Block all unknown and unauthorized applications type: title version: -1 description: '' taskid: 70969c33-3a6c-455c-8832-ede3c65476c0 timertriggers: [] type: title view: |- { "position": { "x": 990, "y": 540 } } "8": id: "8" ignoreworker: false nexttasks: '#none#': - "25" note: false quietmode: 0 separatecontext: false skipunavailable: false task: brand: "" id: 936d28a0-a81e-426a-85ce-e90d4e502bf2 iscommand: false name: Forward files for WildFire Analysis type: title version: -1 description: '' taskid: 936d28a0-a81e-426a-85ce-e90d4e502bf2 timertriggers: [] type: title view: |- { "position": { "x": 990, "y": 860 } } "17": id: "17" ignoreworker: false nexttasks: '#none#': - "27" note: false quietmode: 0 separatecontext: false skipunavailable: false task: brand: "" id: d9cd104e-d66f-42a8-83de-28645b103576 iscommand: false name: Configure Behavioral Threat Protection under the Malware Security Profile type: title version: -1 description: '' taskid: d9cd104e-d66f-42a8-83de-28645b103576 timertriggers: [] type: title view: |- { "position": { "x": 990, "y": 1200 } } "18": id: "18" ignoreworker: false nexttasks: '#none#': - "26" note: false quietmode: 0 separatecontext: false skipunavailable: false task: brand: "" description: Manual - Configure XDR Behavioral Threat Protection under the Malware Security Profile. id: 4881fe0e-85e5-4500-89af-725144ca3364 iscommand: false name: Manual - Configure XDR Behavioral Threat Protection under the Malware Security Profile type: regular version: -1 taskid: 4881fe0e-85e5-4500-89af-725144ca3364 timertriggers: [] type: regular view: |- { "position": { "x": 990, "y": 1710 } } "19": id: "19" ignoreworker: false note: false quietmode: 0 separatecontext: false skipunavailable: false task: brand: "" id: 25d9a5e2-7da0-4a2f-8842-82d0e4b81cc5 iscommand: false name: Done type: title version: -1 description: '' taskid: 25d9a5e2-7da0-4a2f-8842-82d0e4b81cc5 timertriggers: [] type: title view: |- { "position": { "x": 990, "y": 2270 } } "24": id: "24" ignoreworker: false loop: exitCondition: "" iscommand: false max: 100 wait: 1 nexttasks: '#none#': - "8" note: false quietmode: 0 scriptarguments: device-group: complex: root: inputs.device-group pre_post: complex: root: inputs.pre_post tag: complex: root: inputs.tag separatecontext: true skipunavailable: false task: brand: "" id: 9b6de2b8-8696-4678-82d4-938560b383b2 iscommand: false name: PAN-OS - Block all unknown and unauthorized applications playbookId: PAN-OS - Block all unknown and unauthorized applications type: playbook version: -1 description: '' taskid: 9b6de2b8-8696-4678-82d4-938560b383b2 timertriggers: [] type: playbook view: |- { "position": { "x": 990, "y": 680 } } "25": id: "25" ignoreworker: false loop: exitCondition: "" iscommand: false max: 100 wait: 1 nexttasks: '#none#': - "17" note: false quietmode: 0 scriptarguments: ApplyToRule: complex: root: inputs.ApplyToRule device-group: complex: root: inputs.device-group pre-post-rulebase: complex: root: inputs.pre_post rule_name: complex: root: inputs.rule_name tag: complex: root: inputs.tag template: complex: root: inputs.template separatecontext: true skipunavailable: false task: brand: "" id: 8ce689fc-46d7-4219-84e0-b79694ad29c5 iscommand: false name: PAN-OS - Enforce WildFire Best Practices Profile playbookId: PAN-OS - Enforce WildFire Best Practices Profile type: playbook version: -1 description: '' taskid: 8ce689fc-46d7-4219-84e0-b79694ad29c5 timertriggers: [] type: playbook view: |- { "position": { "x": 990, "y": 1015 } } "26": id: "26" ignoreworker: false nexttasks: '#none#': - "29" note: false quietmode: 0 scriptarguments: append: simple: "true" key: simple: Handled.Techniques stringify: {} value: simple: '["T1096","T1564.004"]' separatecontext: false skipunavailable: false task: brand: "" description: Set a value in context under the key you entered. id: fdc04644-65ed-49f4-8465-b55d1a3a405e iscommand: false name: Set technique handled script: Set type: regular version: -1 taskid: fdc04644-65ed-49f4-8465-b55d1a3a405e timertriggers: [] type: regular view: |- { "position": { "x": 990, "y": 1890 } } "27": id: "27" ignoreworker: false nexttasks: '#default#': - "28" "yes": - "18" note: false quietmode: 0 scriptarguments: brandname: simple: Cortex XDR - IR separatecontext: false skipunavailable: false task: brand: "" description: Returns 'yes' if integration brand is available. Otherwise returns 'no' id: 729396fc-bada-43f9-8f84-994e0adb5f7f iscommand: false name: Is Cortex XDR integration Enabled? script: IsIntegrationAvailable type: condition version: -1 taskid: 729396fc-bada-43f9-8f84-994e0adb5f7f timertriggers: [] type: condition view: |- { "position": { "x": 990, "y": 1360 } } "28": id: "28" ignoreworker: false nexttasks: '#none#': - "18" note: false quietmode: 0 separatecontext: false skipunavailable: false task: brand: "" description: | Enable the Cortex XDR integration to follow this CoA. If needed - please contact your Palo Alto Networks account manager for future guidance and assistance. id: 3b2621d0-62cf-4d6d-85da-4d9a3830c4fc iscommand: false name: Manual - Enable Cortex XDR integration type: regular version: -1 taskid: 3b2621d0-62cf-4d6d-85da-4d9a3830c4fc timertriggers: [] type: regular view: |- { "position": { "x": 1330, "y": 1535 } } "29": continueonerror: true id: "29" ignoreworker: false nexttasks: '#none#': - "19" note: false quietmode: 0 scriptarguments: columns: simple: technique context_path: simple: Handled.Techniques grid_id: simple: handledtechniques keys: {} overwrite: {} sort_by: {} unpack_nested_elements: {} separatecontext: false skipunavailable: false task: brand: "" description: Creates a Grid table from items or key-value pairs. id: af5bdf95-74ed-4797-8835-9f5a05ffadf7 iscommand: false name: Set grid field script: SetGridField type: regular version: -1 taskid: af5bdf95-74ed-4797-8835-9f5a05ffadf7 timertriggers: [] type: regular view: |- { "position": { "x": 990, "y": 2080 } } version: -1 view: |- { "linkLabelsPosition": {}, "paper": { "dimensions": { "height": 1955, "width": 720, "x": 990, "y": 380 } } } tests: - No tests (auto formatted) fromversion: 6.5.0