From 6201858f1035e229a39bf04edfa83b6bceec780b Mon Sep 17 00:00:00 2001 From: ryan Date: Tue, 8 Nov 2022 15:22:36 -0500 Subject: [PATCH] Added Anti-Analysis/Impact Tags --- anti-behavioral-analysis/capture-evasion.md | 4 ++ .../debugger-detection.md | 4 ++ anti-behavioral-analysis/debugger-evasion.md | 4 ++ .../dynamic-analysis-evasion.md | 4 ++ .../emulator-detection.md | 4 ++ .../memory-dump-evasion.md | 4 ++ anti-behavioral-analysis/sandbox-detection.md | 4 ++ .../virtual-machine-detection.md | 4 ++ .../call-graph-generation-evasion.md | 4 ++ .../data-flow-analysis-evasion.md | 4 ++ anti-static-analysis/disassembler-evasion.md | 4 ++ .../executable-code-obfuscation.md | 4 ++ .../executable-code-optimization.md | 4 ++ .../executable-code-virtualization.md | 4 ++ anti-static-analysis/software-packing.md | 4 ++ defense-evasion/hijack-execution-flow.md | 4 ++ .../obfuscated-files-or-information.md | 4 ++ execution/conditional-execution.md | 4 ++ .../exploitation-for-client-execution.md | 4 ++ impact/clipboard-modification.md | 4 ++ impact/compromise-data-integrity.md | 4 ++ impact/data-destruction.md | 4 ++ impact/data-encrypted-for-impact.md | 4 ++ impact/denial-of-service.md | 4 ++ impact/destroy-hardware.md | 4 ++ impact/disk-wipe.md | 4 ++ impact/exploit-kit.md | 4 ++ impact/generate-traffic-from-victim.md | 4 ++ impact/manipulate-network-traffic.md | 4 ++ impact/modify-hardware.md | 4 ++ impact/remote-access.md | 4 ++ impact/resource-hijacking.md | 4 ++ impact/spamming.md | 4 ++ persistence/component-firmware.md | 4 ++ zscript/fill_header.py | 52 +++++++++++++------ 35 files changed, 173 insertions(+), 15 deletions(-) diff --git a/anti-behavioral-analysis/capture-evasion.md b/anti-behavioral-analysis/capture-evasion.md index d8db336..8618b30 100644 --- a/anti-behavioral-analysis/capture-evasion.md +++ b/anti-behavioral-analysis/capture-evasion.md @@ -12,6 +12,10 @@ None +Anti-Analysis Type +Evasion + + Version 2.0 diff --git a/anti-behavioral-analysis/debugger-detection.md b/anti-behavioral-analysis/debugger-detection.md index 5a4d17f..a48dd71 100644 --- a/anti-behavioral-analysis/debugger-detection.md +++ b/anti-behavioral-analysis/debugger-detection.md @@ -12,6 +12,10 @@ None +Anti-Analysis Type +Detection + + Version 2.0 diff --git a/anti-behavioral-analysis/debugger-evasion.md b/anti-behavioral-analysis/debugger-evasion.md index 6d7dbd7..3b8d021 100644 --- a/anti-behavioral-analysis/debugger-evasion.md +++ b/anti-behavioral-analysis/debugger-evasion.md @@ -12,6 +12,10 @@ Debugger Evasion (T1622) +Anti-Analysis Type +Evasion + + Version 2.0 diff --git a/anti-behavioral-analysis/dynamic-analysis-evasion.md b/anti-behavioral-analysis/dynamic-analysis-evasion.md index 8ffa645..88085e5 100644 --- a/anti-behavioral-analysis/dynamic-analysis-evasion.md +++ b/anti-behavioral-analysis/dynamic-analysis-evasion.md @@ -12,6 +12,10 @@ Virtualization/Sandbox Evasion (T1497, T1633) +Anti-Analysis Type +Evasion + + Version 2.0 diff --git a/anti-behavioral-analysis/emulator-detection.md b/anti-behavioral-analysis/emulator-detection.md index 63f26a3..0836854 100644 --- a/anti-behavioral-analysis/emulator-detection.md +++ b/anti-behavioral-analysis/emulator-detection.md @@ -12,6 +12,10 @@ None +Anti-Analysis Type +Detection + + Version 2.0 diff --git a/anti-behavioral-analysis/memory-dump-evasion.md b/anti-behavioral-analysis/memory-dump-evasion.md index b80f5db..ffc018a 100644 --- a/anti-behavioral-analysis/memory-dump-evasion.md +++ b/anti-behavioral-analysis/memory-dump-evasion.md @@ -12,6 +12,10 @@ None +Anti-Analysis Type +Evasion + + Version 2.0 diff --git a/anti-behavioral-analysis/sandbox-detection.md b/anti-behavioral-analysis/sandbox-detection.md index 9b77077..75b3895 100644 --- a/anti-behavioral-analysis/sandbox-detection.md +++ b/anti-behavioral-analysis/sandbox-detection.md @@ -12,6 +12,10 @@ Virtualization/Sandbox Evasion Checks (T1497.001, T1633.001), Virtualization/Sandbox Evasion: User Activity Based Checks (T1497.002) +Anti-Analysis Type +Detection + + Version 2.0 diff --git a/anti-behavioral-analysis/virtual-machine-detection.md b/anti-behavioral-analysis/virtual-machine-detection.md index 0545e48..c4b87cf 100644 --- a/anti-behavioral-analysis/virtual-machine-detection.md +++ b/anti-behavioral-analysis/virtual-machine-detection.md @@ -12,6 +12,10 @@ Virtualization/Sandbox Evasion (T1497, T1633) +Anti-Analysis Type +Detection + + Version 2.0 diff --git a/anti-static-analysis/call-graph-generation-evasion.md b/anti-static-analysis/call-graph-generation-evasion.md index 6c58acb..15eff6d 100644 --- a/anti-static-analysis/call-graph-generation-evasion.md +++ b/anti-static-analysis/call-graph-generation-evasion.md @@ -12,6 +12,10 @@ None +Anti-Analysis Type +Evasion + + Version 2.0 diff --git a/anti-static-analysis/data-flow-analysis-evasion.md b/anti-static-analysis/data-flow-analysis-evasion.md index 5ed69bf..3a4abba 100644 --- a/anti-static-analysis/data-flow-analysis-evasion.md +++ b/anti-static-analysis/data-flow-analysis-evasion.md @@ -12,6 +12,10 @@ None +Anti-Analysis Type +Evasion + + Version 2.0 diff --git a/anti-static-analysis/disassembler-evasion.md b/anti-static-analysis/disassembler-evasion.md index b4f7f22..9c2ee43 100644 --- a/anti-static-analysis/disassembler-evasion.md +++ b/anti-static-analysis/disassembler-evasion.md @@ -12,6 +12,10 @@ None +Anti-Analysis Type +Evasion + + Version 2.0 diff --git a/anti-static-analysis/executable-code-obfuscation.md b/anti-static-analysis/executable-code-obfuscation.md index 9e55967..e3c9e2d 100644 --- a/anti-static-analysis/executable-code-obfuscation.md +++ b/anti-static-analysis/executable-code-obfuscation.md @@ -12,6 +12,10 @@ None +Anti-Analysis Type +Evasion + + Version 2.0 diff --git a/anti-static-analysis/executable-code-optimization.md b/anti-static-analysis/executable-code-optimization.md index 099a06e..01594d0 100644 --- a/anti-static-analysis/executable-code-optimization.md +++ b/anti-static-analysis/executable-code-optimization.md @@ -12,6 +12,10 @@ None +Anti-Analysis Type +Evasion + + Version 2.0 diff --git a/anti-static-analysis/executable-code-virtualization.md b/anti-static-analysis/executable-code-virtualization.md index abdfbbb..26a43d7 100644 --- a/anti-static-analysis/executable-code-virtualization.md +++ b/anti-static-analysis/executable-code-virtualization.md @@ -12,6 +12,10 @@ None +Anti-Analysis Type +Evasion + + Version 2.0 diff --git a/anti-static-analysis/software-packing.md b/anti-static-analysis/software-packing.md index 37f0ab4..7bc1142 100644 --- a/anti-static-analysis/software-packing.md +++ b/anti-static-analysis/software-packing.md @@ -12,6 +12,10 @@ Obfuscated Files or Information: Software Packing (T1027.002, T1406.002) +Anti-Analysis Type +Evasion + + Version 2.0 diff --git a/defense-evasion/hijack-execution-flow.md b/defense-evasion/hijack-execution-flow.md index 76bcf68..cd9e6e1 100644 --- a/defense-evasion/hijack-execution-flow.md +++ b/defense-evasion/hijack-execution-flow.md @@ -12,6 +12,10 @@ Hijack Execution Flow (T1574, T1625) +Anti-Analysis Type +Evasion + + Version 2.0 diff --git a/defense-evasion/obfuscated-files-or-information.md b/defense-evasion/obfuscated-files-or-information.md index d9bdd06..5edaafc 100644 --- a/defense-evasion/obfuscated-files-or-information.md +++ b/defense-evasion/obfuscated-files-or-information.md @@ -12,6 +12,10 @@ Obfuscated Files or Information (T1027, T1406) +Anti-Analysis Type +Evasion + + Version 2.0 diff --git a/execution/conditional-execution.md b/execution/conditional-execution.md index 4d5bf32..fed3b1a 100644 --- a/execution/conditional-execution.md +++ b/execution/conditional-execution.md @@ -12,6 +12,10 @@ Execution Guardrails (T1480) +Anti-Analysis Type +Evasion + + Version 3.0 diff --git a/execution/exploitation-for-client-execution.md b/execution/exploitation-for-client-execution.md index 058ebf8..2debf06 100644 --- a/execution/exploitation-for-client-execution.md +++ b/execution/exploitation-for-client-execution.md @@ -12,6 +12,10 @@ Exploitation for Client Execution (T1203) +Impact Type +Breach + + Version 3.0 diff --git a/impact/clipboard-modification.md b/impact/clipboard-modification.md index 612dae6..661a140 100644 --- a/impact/clipboard-modification.md +++ b/impact/clipboard-modification.md @@ -12,6 +12,10 @@ Clipboard Modification (T1510) +Impact Type +Integrity + + Version 2.0 diff --git a/impact/compromise-data-integrity.md b/impact/compromise-data-integrity.md index 34ac2e2..536e9f2 100644 --- a/impact/compromise-data-integrity.md +++ b/impact/compromise-data-integrity.md @@ -12,6 +12,10 @@ Data Manipulation: Stored Data Manipulation (T1565.001) +Impact Type +Integrity + + Version 2.0 diff --git a/impact/data-destruction.md b/impact/data-destruction.md index ac47181..47bfaf1 100644 --- a/impact/data-destruction.md +++ b/impact/data-destruction.md @@ -12,6 +12,10 @@ Data Destruction (T1485) +Impact Type +Availability + + Version 2.0 diff --git a/impact/data-encrypted-for-impact.md b/impact/data-encrypted-for-impact.md index 71e04fc..196363a 100644 --- a/impact/data-encrypted-for-impact.md +++ b/impact/data-encrypted-for-impact.md @@ -12,6 +12,10 @@ Data Encrypted for Impact (T1486), Data Encrypted for Impact (Mobile) (T1471) +Impact Type +Availability + + Version 2.0 diff --git a/impact/denial-of-service.md b/impact/denial-of-service.md index d6aaa26..2e6b158 100644 --- a/impact/denial-of-service.md +++ b/impact/denial-of-service.md @@ -12,6 +12,10 @@ Network Denial of Service (T1498) +Impact Type +Availability + + Version 2.0 diff --git a/impact/destroy-hardware.md b/impact/destroy-hardware.md index 7a3d32f..ff07439 100644 --- a/impact/destroy-hardware.md +++ b/impact/destroy-hardware.md @@ -12,6 +12,10 @@ None +Impact Type +Availability + + Version 2.0 diff --git a/impact/disk-wipe.md b/impact/disk-wipe.md index 3c2590b..e52f812 100644 --- a/impact/disk-wipe.md +++ b/impact/disk-wipe.md @@ -12,6 +12,10 @@ Disk Wipe (T1561) +Impact Type +Availability + + Version 3.0 diff --git a/impact/exploit-kit.md b/impact/exploit-kit.md index e71a181..d144d35 100644 --- a/impact/exploit-kit.md +++ b/impact/exploit-kit.md @@ -12,6 +12,10 @@ Exploit Public-Facing Application (T1190) +Impact Type +Breach + + Version 2.0 diff --git a/impact/generate-traffic-from-victim.md b/impact/generate-traffic-from-victim.md index e80f342..4ca7f60 100644 --- a/impact/generate-traffic-from-victim.md +++ b/impact/generate-traffic-from-victim.md @@ -12,6 +12,10 @@ Generate Traffic from Victim (T1643) +Impact Type +Breach + + Version 2.0 diff --git a/impact/manipulate-network-traffic.md b/impact/manipulate-network-traffic.md index d09e017..9636d8b 100644 --- a/impact/manipulate-network-traffic.md +++ b/impact/manipulate-network-traffic.md @@ -12,6 +12,10 @@ Data Manipulation: Transmitted Data Manipulation (T1565.002) +Impact Type +Integrity + + Version 2.0 diff --git a/impact/modify-hardware.md b/impact/modify-hardware.md index 151993b..c83cc4d 100644 --- a/impact/modify-hardware.md +++ b/impact/modify-hardware.md @@ -12,6 +12,10 @@ None +Impact Type +Breach + + Version 2.0 diff --git a/impact/remote-access.md b/impact/remote-access.md index ec47769..16ab72e 100644 --- a/impact/remote-access.md +++ b/impact/remote-access.md @@ -12,6 +12,10 @@ None +Impact Type +Breach + + Version 2.0 diff --git a/impact/resource-hijacking.md b/impact/resource-hijacking.md index 48cd06a..7869483 100644 --- a/impact/resource-hijacking.md +++ b/impact/resource-hijacking.md @@ -12,6 +12,10 @@ Resource Hijacking (T1496) +Impact Type +Breach + + Version 2.0 diff --git a/impact/spamming.md b/impact/spamming.md index 5a377a0..510e7d5 100644 --- a/impact/spamming.md +++ b/impact/spamming.md @@ -12,6 +12,10 @@ None +Impact Type +Breach + + Version 2.0 diff --git a/persistence/component-firmware.md b/persistence/component-firmware.md index d170699..52b07e6 100644 --- a/persistence/component-firmware.md +++ b/persistence/component-firmware.md @@ -12,6 +12,10 @@ Pre-OS Boot: Component Firmware (1542.002) +Impact Type +Breach + + Version 2.0 diff --git a/zscript/fill_header.py b/zscript/fill_header.py index 171c44d..d674316 100644 --- a/zscript/fill_header.py +++ b/zscript/fill_header.py @@ -8,7 +8,8 @@ import argparse from fuzzywuzzy import fuzz # pip install fuzzywuzzy python-Levenshtein objective_list = ['anti-behavioral-analysis', 'anti-static-analysis', 'collection', 'command-and-control', 'credential-access', 'defense-evasion', 'discovery', 'execution', 'exfiltration', 'impact', 'lateral-movement', 'micro-behaviors', 'persistence', 'privilege-escalation'] - +anti_analysis_types = ['Evasion', 'Detection'] +impact_types = ['Integrity', 'Breach', 'Availability'] # Checks if 'string' in 'l' at index 'line_num'. If missing, insert 'string' into 'l' at index 'line_num' # Return possibly modified 'l' @@ -36,6 +37,7 @@ def main(): parser.add_argument("-i", "--id", help = "ID (B0001)") parser.add_argument("-o", "--objective", nargs='+', help = "Objectives separated by spaces, replace spaces within the name with underscore (Anti-Behavioral_Analysis Anti-Static_Analysis)") parser.add_argument("-a", "--attack", nargs='+', help = "Related ATT&CK Techniques grouped by name and ID (Debugger_Evasion,T1622 Virtualization/Standbox_Evasion_Checks,T1497.001,T1633.001)") + parser.add_argument("-t", "--type", help = "Anti-Analysis or Impact Types (Evasion, Detection, Integrity, Breach, Availability)") parser.add_argument("-v", "--version", help="Version") parser.add_argument("-c", "--created", help="Method Creation Date (1_August_2019)") parser.add_argument("-m", "--last_modified", help="Last modified date (1_August_2019)") @@ -49,6 +51,8 @@ def main(): lines = f.readlines() f.close() + offset = 0 # Handles unique fields such as anti-analysis/impact type + # Some files have an empty line 1, delete that if lines[0] == '\n': lines.pop(0) @@ -115,34 +119,52 @@ def main(): lines.insert(12, "\n") print(attack_str) + # Adding Anti-Analysis/Impact Type + if args.type: + if args.type in impact_types: + lines.insert(13, "\n") + lines = insert_if_missing(lines, 14, "Impact Type\n") + + elif args.type in anti_analysis_types: + lines.insert(13, "\n") + lines = insert_if_missing(lines, 14, "Anti-Analysis Type\n") + + else: + raise Exception("Anti-Analysis/Impact Type is not valid") + + lines.insert(15, "{}\n".format(args.type)) + lines.insert(16, "\n") + + offset += 4 + # Adding version field if args.version: - lines = insert_if_missing(lines, 13, "\n") - lines = insert_if_missing(lines, 14, "Version\n") + lines = insert_if_missing(lines, 13+offset, "\n") + lines = insert_if_missing(lines, 14+offset, "Version\n") - lines.insert(15, "{}\n".format(args.version)) - lines.insert(16, "\n") + lines.insert(15+offset, "{}\n".format(args.version)) + lines.insert(16+offset, "\n") # Adding Created field if args.created: - lines = insert_if_missing(lines, 17, "\n") - lines = insert_if_missing(lines, 18, "Created\n") + lines = insert_if_missing(lines, 17+offset, "\n") + lines = insert_if_missing(lines, 18+offset, "Created\n") created = args.created.replace('_', ' ') - lines.insert(19, "{}\n".format(created)) - lines.insert(20, "\n") + lines.insert(19+offset, "{}\n".format(created)) + lines.insert(20+offset, "\n") # Adding Last Modified Field if args.last_modified: - lines = insert_if_missing(lines, 21, "\n") - lines = insert_if_missing(lines, 22, "Last Modified\n") + lines = insert_if_missing(lines, 21+offset, "\n") + lines = insert_if_missing(lines, 22+offset, "Last Modified\n") last_modified = args.last_modified.replace('_', ' ') - lines.insert(23, "{}\n".format(last_modified)) - lines.insert(24, "\n") + lines.insert(23+offset, "{}\n".format(last_modified)) + lines.insert(24+offset, "\n") - lines = insert_if_missing(lines, 25, "\n") - lines = insert_if_missing(lines, 26, "\n") + lines = insert_if_missing(lines, 25+offset, "\n") + lines = insert_if_missing(lines, 26+offset, "\n") # Now that modifications are complete, write to file with open(file, "w") as f: