diff --git a/anti-analysis/anti-emulation/wine/check-if-process-is-running-under-wine.yml b/anti-analysis/anti-emulation/wine/check-if-process-is-running-under-wine.yml
index 793fba42..45a70f3e 100644
--- a/anti-analysis/anti-emulation/wine/check-if-process-is-running-under-wine.yml
+++ b/anti-analysis/anti-emulation/wine/check-if-process-is-running-under-wine.yml
@@ -18,7 +18,7 @@ rule:
- and:
- api: GetModuleHandle
- api: GetProcAddress
- - string: wine_get_unix_file_name
+ - string: "wine_get_unix_file_name"
- or:
- - string: kernel32.dll
- - string: ntdll.dll
+ - string: "kernel32.dll"
+ - string: "ntdll.dll"
diff --git a/anti-analysis/anti-forensic/patch-process-command-line.yml b/anti-analysis/anti-forensic/patch-process-command-line.yml
index 2463bafc..e0a4457f 100644
--- a/anti-analysis/anti-forensic/patch-process-command-line.yml
+++ b/anti-analysis/anti-forensic/patch-process-command-line.yml
@@ -34,7 +34,7 @@ rule:
- and:
- characteristic: indirect call
- api: GetProcAddress
- - string: NtQueryInformationProcess
+ - string: "NtQueryInformationProcess"
- api: ReadProcessMemory
- or:
- and:
diff --git a/anti-analysis/anti-vm/vm-detection/check-for-windows-sandbox-via-device.yml b/anti-analysis/anti-vm/vm-detection/check-for-windows-sandbox-via-device.yml
index db5848d4..789c5df5 100644
--- a/anti-analysis/anti-vm/vm-detection/check-for-windows-sandbox-via-device.yml
+++ b/anti-analysis/anti-vm/vm-detection/check-for-windows-sandbox-via-device.yml
@@ -15,4 +15,4 @@ rule:
features:
- and:
- api: CreateFile
- - string: \\.\GLOBALROOT\device\vmsmb
+ - string: "\\\\.\\GLOBALROOT\\device\\vmsmb"
diff --git a/anti-analysis/anti-vm/vm-detection/check-for-windows-sandbox-via-dns-suffix.yml b/anti-analysis/anti-vm/vm-detection/check-for-windows-sandbox-via-dns-suffix.yml
index 9c61be58..0aee5cfa 100644
--- a/anti-analysis/anti-vm/vm-detection/check-for-windows-sandbox-via-dns-suffix.yml
+++ b/anti-analysis/anti-vm/vm-detection/check-for-windows-sandbox-via-dns-suffix.yml
@@ -15,6 +15,6 @@ rule:
features:
- and:
- api: GetAdaptersAddresses
- - string: mshome.net
+ - string: "mshome.net"
- offset: 0x38 = DnsSuffix
- match: contain loop
diff --git a/anti-analysis/anti-vm/vm-detection/check-for-windows-sandbox-via-genuine-state.yml b/anti-analysis/anti-vm/vm-detection/check-for-windows-sandbox-via-genuine-state.yml
index 46b923af..143738ec 100644
--- a/anti-analysis/anti-vm/vm-detection/check-for-windows-sandbox-via-genuine-state.yml
+++ b/anti-analysis/anti-vm/vm-detection/check-for-windows-sandbox-via-genuine-state.yml
@@ -20,4 +20,4 @@ rule:
- basic block:
- and:
- api: UuidFromString
- - string: 55c92734-d682-4d71-983e-d6ec3f16059f
+ - string: "55c92734-d682-4d71-983e-d6ec3f16059f"
diff --git a/anti-analysis/anti-vm/vm-detection/check-for-windows-sandbox-via-process-name.yml b/anti-analysis/anti-vm/vm-detection/check-for-windows-sandbox-via-process-name.yml
index edab03bf..68f354b9 100644
--- a/anti-analysis/anti-vm/vm-detection/check-for-windows-sandbox-via-process-name.yml
+++ b/anti-analysis/anti-vm/vm-detection/check-for-windows-sandbox-via-process-name.yml
@@ -15,4 +15,4 @@ rule:
features:
- and:
- match: enumerate processes
- - string: CExecSvc.exe
+ - string: "CExecSvc.exe"
diff --git a/anti-analysis/packer/aspack/packed-with-aspack.yml b/anti-analysis/packer/aspack/packed-with-aspack.yml
index d41aa09d..2dfdf847 100644
--- a/anti-analysis/packer/aspack/packed-with-aspack.yml
+++ b/anti-analysis/packer/aspack/packed-with-aspack.yml
@@ -19,5 +19,5 @@ rule:
- section: .adata
- section: .ASPack
- section: ASPack
- - string: The procedure entry point %s could not be located in the dynamic link library %s
- - string: The ordinal %u could not be located in the dynamic link library %s
+ - string: "The procedure entry point %s could not be located in the dynamic link library %s"
+ - string: "The ordinal %u could not be located in the dynamic link library %s"
diff --git a/anti-analysis/packer/confuser/packed-with-confuser.yml b/anti-analysis/packer/confuser/packed-with-confuser.yml
index 78fac117..59e8323b 100644
--- a/anti-analysis/packer/confuser/packed-with-confuser.yml
+++ b/anti-analysis/packer/confuser/packed-with-confuser.yml
@@ -12,4 +12,4 @@ rule:
- b9f5bd514485fb06da39beff051b9fdc
features:
- or:
- - string: ConfusedByAttribute
+ - string: "ConfusedByAttribute"
diff --git a/anti-analysis/packer/upack/packed-with-upack.yml b/anti-analysis/packer/upack/packed-with-upack.yml
index a1b30142..a2d938b3 100644
--- a/anti-analysis/packer/upack/packed-with-upack.yml
+++ b/anti-analysis/packer/upack/packed-with-upack.yml
@@ -16,4 +16,4 @@ rule:
- or:
- section: .Upack
- section: .ByDwing
- - string: UpackByDwing@
+ - string: "UpackByDwing@"
diff --git a/anti-analysis/packer/vmprotect/packed-with-vmprotect.yml b/anti-analysis/packer/vmprotect/packed-with-vmprotect.yml
index 59770b5f..ab81eb6f 100644
--- a/anti-analysis/packer/vmprotect/packed-with-vmprotect.yml
+++ b/anti-analysis/packer/vmprotect/packed-with-vmprotect.yml
@@ -15,10 +15,10 @@ rule:
- 971e599e6e707349eccea2fd4c8e5f67
features:
- or:
- - string: A debugger has been found running in your system.
- - string: Please, unload it from memory and restart your program.
- - string: File corrupted!. This program has been manipulated and maybe
- - string: it's infected by a Virus or cracked. This file won't work anymore.
+ - string: "A debugger has been found running in your system."
+ - string: "Please, unload it from memory and restart your program."
+ - string: "File corrupted!. This program has been manipulated and maybe"
+ - string: "it's infected by a Virus or cracked. This file won't work anymore."
- section: .vmp0
- section: .vmp1
- section: .vmp2
diff --git a/c2/shell/execute-shell-command-and-capture-output.yml b/c2/shell/execute-shell-command-and-capture-output.yml
index 760f97a6..2767143d 100644
--- a/c2/shell/execute-shell-command-and-capture-output.yml
+++ b/c2/shell/execute-shell-command-and-capture-output.yml
@@ -16,10 +16,10 @@ rule:
- match: create pipe
- or:
- match: get COMSPEC environment variable
- - string: \\cmd.exe
- - string: cmd.exe
- - string: 'cmd.exe /c '
- - string: C:\\Windows\\system32\\cmd.exe
+ - string: "\\cmd.exe"
+ - string: "cmd.exe"
+ - string: "cmd.exe /c "
+ - string: "C:\\Windows\\system32\\cmd.exe"
- optional:
- api: kernel32.GetSystemDirectory
- api: kernel32.SetCurrentDirectory
diff --git a/collection/browser/gather-firefox-profile-information.yml b/collection/browser/gather-firefox-profile-information.yml
index 53d6f7e8..48cac094 100644
--- a/collection/browser/gather-firefox-profile-information.yml
+++ b/collection/browser/gather-firefox-profile-information.yml
@@ -17,13 +17,13 @@ rule:
- string: /WHERE moz_cookies.host LIKE/
- optional:
- or:
- - string: encryptedUsername
- - string: encryptedPassword
- - string: usernameField
- - string: formSubmitURL
- - string: httpRealm
- - string: passwordField
- - string: timeCreated
- - string: timeLastUsed
- - string: timePasswordChanged
- - string: timesUsed
+ - string: "encryptedUsername"
+ - string: "encryptedPassword"
+ - string: "usernameField"
+ - string: "formSubmitURL"
+ - string: "httpRealm"
+ - string: "passwordField"
+ - string: "timeCreated"
+ - string: "timeLastUsed"
+ - string: "timePasswordChanged"
+ - string: "timesUsed"
diff --git a/collection/network/capture-network-configuration-via-ipconfig.yml b/collection/network/capture-network-configuration-via-ipconfig.yml
index 09211d6b..c60947bc 100644
--- a/collection/network/capture-network-configuration-via-ipconfig.yml
+++ b/collection/network/capture-network-configuration-via-ipconfig.yml
@@ -14,6 +14,6 @@ rule:
- api: msvcr100.system
- optional:
- and:
- - string: ipconfig.txt
+ - string: "ipconfig.txt"
- string: /\[Windows IP Configuration\]/
description: Arkei Stealer Filename and Banner
diff --git a/collection/network/get-mac-address.yml b/collection/network/get-mac-address.yml
index f7655385..961554a0 100644
--- a/collection/network/get-mac-address.yml
+++ b/collection/network/get-mac-address.yml
@@ -19,4 +19,4 @@ rule:
- offset: 0x198 = IP_ADAPTER_INFO.Address+4
- offset: 0x199 = IP_ADAPTER_INFO.Address+5
- optional:
- - string: '%02X-%02X-%02X-%02X-%02X-%02X'
+ - string: "%02X-%02X-%02X-%02X-%02X-%02X"
diff --git a/collection/screenshot/capture-screenshot.yml b/collection/screenshot/capture-screenshot.yml
index 357195d5..2e55742f 100644
--- a/collection/screenshot/capture-screenshot.yml
+++ b/collection/screenshot/capture-screenshot.yml
@@ -23,7 +23,7 @@ rule:
- api: user32.GetDC
- and:
- api: gdi32.CreateDCA
- - string: DISPLAY
+ - string: "DISPLAY"
- or:
- api: gdi32.BitBlt
- api: gdi32.GetDIBits
diff --git a/compiler/autoit/compiled-with-autoit.yml b/compiler/autoit/compiled-with-autoit.yml
index 9d757635..f070ea94 100644
--- a/compiler/autoit/compiled-with-autoit.yml
+++ b/compiler/autoit/compiled-with-autoit.yml
@@ -12,8 +12,8 @@ rule:
- or:
# strings from: https://fumik0.com/2019/03/25/lets-play-with-qulab-an-exotic-malware-developed-in-autoit/
- string: "AutoIt has detected the stack has become corrupt.\n\nStack corruption typically occurs when either the wrong calling convention is used or when the function is called with the wrong number of arguments.\n\nAutoIt supports the __stdcall (WINAPI) and __cdecl calling conventions. The __stdcall (WINAPI) convention is used by default but __cdecl can be used instead. See the DllCall() documentation for details on changing the calling convention."
- - string: AutoIt Error
+ - string: "AutoIt Error"
- string: />>>AUTOIT SCRIPT<<
- - string: '>>>AUTOIT NO CMDEXECUTE<<<'
- - string: '#requireadmin'
- - string: '#OnAutoItStartRegister'
+ - string: ">>>AUTOIT NO CMDEXECUTE<<<"
+ - string: "#requireadmin"
+ - string: "#OnAutoItStartRegister"
diff --git a/compiler/delphi/compiled-with-borland-delphi.yml b/compiler/delphi/compiled-with-borland-delphi.yml
index d19c060d..58df7752 100644
--- a/compiler/delphi/compiled-with-borland-delphi.yml
+++ b/compiler/delphi/compiled-with-borland-delphi.yml
@@ -8,8 +8,8 @@ rule:
- 4BDD67FF852C221112337FECD0681EAC
features:
- or:
- - string: Borland C++ - Copyright 2002 Borland Corporation
+ - string: "Borland C++ - Copyright 2002 Borland Corporation"
- string: /SOFTWARE\\Borland\\Delphi\\RTL/
- - string: Sysutils::Exception
- - string: TForm1
- - import: BORLNDMM.DLL
+ - string: "Sysutils::Exception"
+ - string: "TForm1"
+ - import: "BORLNDMM.DLL"
diff --git a/compiler/exe4j/compiled-with-exe4j.yml b/compiler/exe4j/compiled-with-exe4j.yml
index 23d7720f..33561761 100644
--- a/compiler/exe4j/compiled-with-exe4j.yml
+++ b/compiler/exe4j/compiled-with-exe4j.yml
@@ -8,15 +8,15 @@ rule:
- 6b25f1e754ef486bbb28a66d46bababe:0x404EDE
features:
- or:
- - string: exe4j_log
- - string: install4j_log
- - string: exe4j_java_home
- - string: install4j
- - string: exe4j.isinstall4j
+ - string: "exe4j_log"
+ - string: "install4j_log"
+ - string: "exe4j_java_home"
+ - string: "install4j"
+ - string: "exe4j.isinstall4j"
- string: /com/exe4j/runtime/exe4jcontroller/i
- string: /com/exe4j/runtime/winlauncher/i
- - string: EXE4J_LOG
- - string: INSTALL4J_LOG
- - string: EXE4J_JAVA_HOME
- - string: INSTALL4J
- - string: EXE4J.ISINSTALL4J
+ - string: "EXE4J_LOG"
+ - string: "INSTALL4J_LOG"
+ - string: "EXE4J_JAVA_HOME"
+ - string: "INSTALL4J"
+ - string: "EXE4J.ISINSTALL4J"
diff --git a/compiler/mingw/compiled-with-mingw-for-windows.yml b/compiler/mingw/compiled-with-mingw-for-windows.yml
index 14bad7b1..f1d56ed1 100644
--- a/compiler/mingw/compiled-with-mingw-for-windows.yml
+++ b/compiler/mingw/compiled-with-mingw-for-windows.yml
@@ -8,5 +8,5 @@ rule:
- 5b3968b47eb16a1cb88525e3b565eab1
features:
- and:
- - string: 'Mingw runtime failure:'
- - string: _Jv_RegisterClasses # from GCC
+ - string: "Mingw runtime failure:"
+ - string: "_Jv_RegisterClasses" # from GCC
diff --git a/compiler/perl2exe/compiled-with-perl2exe.yml b/compiler/perl2exe/compiled-with-perl2exe.yml
index 0c429e34..baff5c74 100644
--- a/compiler/perl2exe/compiled-with-perl2exe.yml
+++ b/compiler/perl2exe/compiled-with-perl2exe.yml
@@ -14,4 +14,4 @@ rule:
- basic block:
- and:
- api: GetProcAddress
- - string: RunPerl
+ - string: "RunPerl"
diff --git a/compiler/ps2exe/compiled-with-ps2exe.yml b/compiler/ps2exe/compiled-with-ps2exe.yml
index 2f57f2c8..37a8c595 100644
--- a/compiler/ps2exe/compiled-with-ps2exe.yml
+++ b/compiler/ps2exe/compiled-with-ps2exe.yml
@@ -11,6 +11,6 @@ rule:
features:
- and:
- match: compiled to the .NET platform
- - string: PS2EXEApp
- - string: PS2EXE
- - string: PS2EXE_Host
+ - string: "PS2EXEApp"
+ - string: "PS2EXE"
+ - string: "PS2EXE_Host"
diff --git a/compiler/py2exe/compiled-with-py2exe.yml b/compiler/py2exe/compiled-with-py2exe.yml
index 2745a90d..ec59faf6 100644
--- a/compiler/py2exe/compiled-with-py2exe.yml
+++ b/compiler/py2exe/compiled-with-py2exe.yml
@@ -8,5 +8,5 @@ rule:
- ed888dc2f04f5eac83d6d14088d002de:0x40194A
features:
- and:
- - string: PY2EXE_VERBOSE
+ - string: "PY2EXE_VERBOSE"
- api: getenv
diff --git a/compiler/pyarmor/compiled-with-pyarmor.yml b/compiler/pyarmor/compiled-with-pyarmor.yml
index 42da5cdf..a1e76a2e 100644
--- a/compiler/pyarmor/compiled-with-pyarmor.yml
+++ b/compiler/pyarmor/compiled-with-pyarmor.yml
@@ -12,7 +12,7 @@ rule:
- a0fb20bc9aa944c3a0a6c4545c195818
features:
- or:
- - string: pyarmor_runtimesh
- - string: PYARMOR
- - string: __pyarmor__
- - string: PYARMOR_SIGNATURE
+ - string: "pyarmor_runtimesh"
+ - string: "PYARMOR"
+ - string: "__pyarmor__"
+ - string: "PYARMOR_SIGNATURE"
diff --git a/data-manipulation/compression/compress-data-via-winapi.yml b/data-manipulation/compression/compress-data-via-winapi.yml
index 49c21651..079f0868 100644
--- a/data-manipulation/compression/compress-data-via-winapi.yml
+++ b/data-manipulation/compression/compress-data-via-winapi.yml
@@ -15,16 +15,16 @@ rule:
# these APIs are not typically intended for user mode programs.
# they're only accessible via GetProcAddress on ntoskrnl/ntdll.
- api: RtlDecompressBuffer
- - string: RtlDecompressBuffer
+ - string: "RtlDecompressBuffer"
- api: RtlDecompressBufferEx
- - string: RtlDecompressBufferEx
+ - string: "RtlDecompressBufferEx"
- api: RtlDecompressBufferEx2
- - string: RtlDecompressBufferEx2
+ - string: "RtlDecompressBufferEx2"
- api: RtlCompressBuffer
- - string: RtlCompressBuffer
+ - string: "RtlCompressBuffer"
- api: RtlCompressBufferLZNT1
- - string: RtlCompressBufferLZNT1
+ - string: "RtlCompressBufferLZNT1"
diff --git a/data-manipulation/encoding/base64/encode-data-using-base64.yml b/data-manipulation/encoding/base64/encode-data-using-base64.yml
index 3179b9ae..e51adbc9 100644
--- a/data-manipulation/encoding/base64/encode-data-using-base64.yml
+++ b/data-manipulation/encoding/base64/encode-data-using-base64.yml
@@ -29,4 +29,4 @@ rule:
- number: 4
- number: 6
- number: 0xF
- - string: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
+ - string: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
diff --git a/data-manipulation/encryption/aes/encrypt-data-using-aes-via-net.yml b/data-manipulation/encryption/aes/encrypt-data-using-aes-via-net.yml
index be85f00e..7ec4471f 100644
--- a/data-manipulation/encryption/aes/encrypt-data-using-aes-via-net.yml
+++ b/data-manipulation/encryption/aes/encrypt-data-using-aes-via-net.yml
@@ -13,6 +13,6 @@ rule:
- b9f5bd514485fb06da39beff051b9fdc
features:
- and:
- - string: RijndaelManaged
- - string: CryptoStream
- - string: System.Security.Cryptography
+ - string: "RijndaelManaged"
+ - string: "CryptoStream"
+ - string: "System.Security.Cryptography"
diff --git a/data-manipulation/encryption/camellia/encrypt-data-using-camellia.yml b/data-manipulation/encryption/camellia/encrypt-data-using-camellia.yml
index 55ba5c48..a6e0755c 100644
--- a/data-manipulation/encryption/camellia/encrypt-data-using-camellia.yml
+++ b/data-manipulation/encryption/camellia/encrypt-data-using-camellia.yml
@@ -43,7 +43,7 @@ rule:
- and:
- string: /A09E667F3BCC908B/i
description: sigma1_str
- - string: /B67AE8584CAA73B
+ - string: "/B67AE8584CAA73B"
description: sigma2_str
- string: /C6EF372FE94F82BE/i
description: sigma3_str
diff --git a/doc/format.md b/doc/format.md
index 88547518..27a289ee 100644
--- a/doc/format.md
+++ b/doc/format.md
@@ -316,7 +316,15 @@ This is probably a pointer to an ASCII or Unicode string.
This could also be an obfuscated string, for example a stack string.
The parameter is a string describing the string.
-This can be the verbatim value, or a regex matching the string.
+This can be the verbatim value or a regex matching the string.
+
+Verbatim values should be surrounded by double quotes and special characters should be escaped.
+
+A special character is one of:
+ - a backslash, which should be represented as `string: "\\"`
+ - a newline or other non-space whitespace (e.g. tab, CR, LF, etc), which should be represented like `string: "\n"`
+ - a double quote, which should be represented as `string: "\""`
+
Regexes should be surrounded with `/` characters.
By default, capa uses case-sensitive matching and assumes leading and trailing wildcards.
To perform case-insensitive matching append an `i`. To anchor the regex at the start or end of a string, use `^` and/or `$`.
@@ -327,12 +335,13 @@ See the [description section](#descriptions) for more details.
Examples:
```
-- string: Firefox 64.0
-- string: This program cannot be run in DOS mode.
+- string: "Firefox 64.0"
+- string: "Hostname:\t\t\t%s\nIP adress:\t\t\t%s\nOS version:\t\t\t%s\n"
+- string: "This program cannot be run in DOS mode."
description: MS-DOS stub message
-- string: '{3E5FC7F9-9A51-4367-9063-A120244FBEC7}'
+- string: "{3E5FC7F9-9A51-4367-9063-A120244FBEC7}"
description: CLSID_CMSTPLUA
-- string: '/SELECT.*FROM.*WHERE/'
+- string: /SELECT.*FROM.*WHERE/
description: SQL WHERE Clause
- string: /Hardware\\Description\\System\\CentralProcessor/i
```
@@ -435,13 +444,21 @@ An ASCII or UTF-16 LE string present in the file.
The parameter is a string describing the string.
This can be the verbatim value, or a regex matching the string.
+
+Verbatim values should be surrounded by double quotes and special characters should be escaped.
+
+A special character is one of:
+ - a backslash, which should be represented as `string: "\\"`
+ - a newline or other non-space whitespace (e.g. tab, CR, LF, etc), which should be represented like `string: "\n"`
+ - a double quote, which should be represented as `string: "\""`
+
Regexes should be surrounded with `/` characters. By default, capa uses case-sensitive matching.
To perform case-insensitive matching append an `i`.
Examples:
- string: Z:\Dev\dropper\dropper.pdb
- string: [ENTER]
+ string: "Z:\Dev\dropper\dropper.pdb"
+ string: "[ENTER]"
string: /.*VBox.*/
string: /.*Software\Microsoft\Windows\CurrentVersion\Run.*/i
@@ -535,7 +552,7 @@ For example:
```
- or:
- - string: This program cannot be run in DOS mode.
+ - string: "This program cannot be run in DOS mode."
description: MS-DOS stub message
- number: 0x5A4D
description: IMAGE_DOS_SIGNATURE (MZ)
diff --git a/executable/installer/iexpress/packaged-as-an-iexpress-self-extracting-archive.yml b/executable/installer/iexpress/packaged-as-an-iexpress-self-extracting-archive.yml
index 66d1262f..e6c5d4ca 100644
--- a/executable/installer/iexpress/packaged-as-an-iexpress-self-extracting-archive.yml
+++ b/executable/installer/iexpress/packaged-as-an-iexpress-self-extracting-archive.yml
@@ -13,6 +13,6 @@ rule:
features:
- or:
- and:
- - string: wextract_cleanup%d
- - string: Software\Microsoft\Windows\CurrentVersion\RunOnce
- - string: ' IExpress extraction tool'
+ - string: "wextract_cleanup%d"
+ - string: "Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce"
+ - string: " IExpress extraction tool"
diff --git a/host-interaction/file-system/windows-file-protection/bypass-windows-file-protection.yml b/host-interaction/file-system/windows-file-protection/bypass-windows-file-protection.yml
index 5006b2a7..04bf6523 100644
--- a/host-interaction/file-system/windows-file-protection/bypass-windows-file-protection.yml
+++ b/host-interaction/file-system/windows-file-protection/bypass-windows-file-protection.yml
@@ -10,6 +10,6 @@ rule:
- Practical Malware Analysis Lab 01-04.exe_:0x401174
features:
- and:
- - string: sfc_os.dll # System File Checker
+ - string: "sfc_os.dll" # System File Checker
- number: 0x2 # SfcTerminateWatcherThread
- match: link function at runtime
diff --git a/host-interaction/gui/taskbar/find/find-taskbar.yml b/host-interaction/gui/taskbar/find/find-taskbar.yml
index e58c8835..dcc7ae9c 100644
--- a/host-interaction/gui/taskbar/find/find-taskbar.yml
+++ b/host-interaction/gui/taskbar/find/find-taskbar.yml
@@ -10,5 +10,5 @@ rule:
- B7841B9D5DC1F511A93CC7576672EC0C:0x10007250
features:
- and:
- - string: Shell_TrayWnd
+ - string: "Shell_TrayWnd"
- match: find graphical window
diff --git a/host-interaction/hardware/cdrom/manipulate-cd-rom-drive.yml b/host-interaction/hardware/cdrom/manipulate-cd-rom-drive.yml
index cf7474f7..7841b24f 100644
--- a/host-interaction/hardware/cdrom/manipulate-cd-rom-drive.yml
+++ b/host-interaction/hardware/cdrom/manipulate-cd-rom-drive.yml
@@ -12,5 +12,5 @@ rule:
- and:
- api: winmm.mciSendString
- or:
- - string: set cdaudio door closed wait
- - string: set cdaudio door open
+ - string: "set cdaudio door closed wait"
+ - string: "set cdaudio door open"
diff --git a/host-interaction/hardware/cpu/get-number-of-processor-cores.yml b/host-interaction/hardware/cpu/get-number-of-processor-cores.yml
index 6c0571ef..93798194 100644
--- a/host-interaction/hardware/cpu/get-number-of-processor-cores.yml
+++ b/host-interaction/hardware/cpu/get-number-of-processor-cores.yml
@@ -13,4 +13,4 @@ rule:
features:
- and:
- string: /SELECT\s+\*\s+FROM\s+Win32_Processor/
- - string: NumberOfCores
+ - string: "NumberOfCores"
diff --git a/host-interaction/hardware/keyboard/simulate-ctrl-alt-del.yml b/host-interaction/hardware/keyboard/simulate-ctrl-alt-del.yml
index c06b5ec1..ae288ecb 100644
--- a/host-interaction/hardware/keyboard/simulate-ctrl-alt-del.yml
+++ b/host-interaction/hardware/keyboard/simulate-ctrl-alt-del.yml
@@ -18,7 +18,7 @@ rule:
- or:
- api: OpenDesktop
- api: OpenInputDesktop
- - string: Winlogon
+ - string: "Winlogon"
- basic block:
- and:
- api: PostMessage
diff --git a/host-interaction/hardware/storage/get-disk-size.yml b/host-interaction/hardware/storage/get-disk-size.yml
index 19ad3a54..04587f2d 100644
--- a/host-interaction/hardware/storage/get-disk-size.yml
+++ b/host-interaction/hardware/storage/get-disk-size.yml
@@ -23,4 +23,4 @@ rule:
- or:
- string: /SELECT\s+\*\s+FROM\s+Win32_LogicalDisk/i
- string: /SELECT\s+\*\s+FROM\s+Win32_DiskDrive\s+WHERE\s+\(SerialNumber\s+IS\s+NOT\s+NULL\)\s+AND\s+\(MediaType\s+LIKE\s+\'Fixed\s+hard\s+disk\%\'\)/i
- - string: Size
+ - string: "Size"
diff --git a/host-interaction/process/inject/use-process-doppelganging.yml b/host-interaction/process/inject/use-process-doppelganging.yml
index 65a3d94e..70f4602d 100644
--- a/host-interaction/process/inject/use-process-doppelganging.yml
+++ b/host-interaction/process/inject/use-process-doppelganging.yml
@@ -13,6 +13,6 @@ rule:
- and:
- string: /CreateFileTransacted./
- or:
- - string: ZwCreateSection
- - string: NtCreateSection
- - string: RollbackTransaction
+ - string: "ZwCreateSection"
+ - string: "NtCreateSection"
+ - string: "RollbackTransaction"
diff --git a/host-interaction/uac/bypass/bypass-uac-via-appinfo-alpc.yml b/host-interaction/uac/bypass/bypass-uac-via-appinfo-alpc.yml
index 5d115d05..21fbe3b4 100644
--- a/host-interaction/uac/bypass/bypass-uac-via-appinfo-alpc.yml
+++ b/host-interaction/uac/bypass/bypass-uac-via-appinfo-alpc.yml
@@ -12,9 +12,9 @@ rule:
- 2f43138aa75fb12ac482b486cbc98569:0x180002304
features:
- and:
- - string: winver.exe
- - string: WinSta0\Default
- - string: taskmgr.exe
+ - string: "winver.exe"
+ - string: "WinSta0\\Default"
+ - string: "taskmgr.exe"
- api: WaitForDebugEvent
- api: ContinueDebugEvent
- api: TerminateProcess
diff --git a/host-interaction/uac/bypass/bypass-uac-via-token-manipulation.yml b/host-interaction/uac/bypass/bypass-uac-via-token-manipulation.yml
index 20d2d48e..59f99907 100644
--- a/host-interaction/uac/bypass/bypass-uac-via-token-manipulation.yml
+++ b/host-interaction/uac/bypass/bypass-uac-via-token-manipulation.yml
@@ -12,7 +12,7 @@ rule:
- 2f43138aa75fb12ac482b486cbc98569:0x180001B48
features:
- and:
- - string: wusa.exe
+ - string: "wusa.exe"
- api: ShellExecuteExW
- api: ImpersonateLoggedOnUser
- api: GetStartupInfoW
diff --git a/impact/wipe-disk/wipe-mbr/overwrite-master-boot-record-mbr.yml b/impact/wipe-disk/wipe-mbr/overwrite-master-boot-record-mbr.yml
index d9ec2248..dbe102cd 100644
--- a/impact/wipe-disk/wipe-mbr/overwrite-master-boot-record-mbr.yml
+++ b/impact/wipe-disk/wipe-mbr/overwrite-master-boot-record-mbr.yml
@@ -10,7 +10,7 @@ rule:
- 39C05B15E9834AC93F206BC114D0A00C357C888DB567BA8F5345DA0529CBED41:0x100070A0
features:
- and:
- - string: \\.\PHYSICALDRIVE0
+ - string: "\\\\.\\PHYSICALDRIVE0"
- api: kernel32.WriteFile
# MBR/sector size in bytes
- number: 0x200
diff --git a/linking/static/cryptopp/linked-against-crypto.yml b/linking/static/cryptopp/linked-against-crypto.yml
index 98fba18b..21f0b016 100644
--- a/linking/static/cryptopp/linked-against-crypto.yml
+++ b/linking/static/cryptopp/linked-against-crypto.yml
@@ -11,9 +11,9 @@ rule:
- 66602B5FAB602CB4E6F754748D249542
features:
- or:
- - string: Cryptographic algorithms are disabled after a power-up self test failed.
- - string: ': this object requires an IV'
- - string: BER decode error
- - string: .?AVException@CryptoPP@@
- - string: 'FileStore: error reading file'
- - string: 'StreamTransformationFilter: PKCS_PADDING cannot be used with '
+ - string: "Cryptographic algorithms are disabled after a power-up self test failed."
+ - string: ": this object requires an IV"
+ - string: "BER decode error"
+ - string: ".?AVException@CryptoPP@@"
+ - string: "FileStore: error reading file"
+ - string: "StreamTransformationFilter: PKCS_PADDING cannot be used with "
diff --git a/linking/static/openssl/linked-against-openssl.yml b/linking/static/openssl/linked-against-openssl.yml
index e177e27e..da06d549 100644
--- a/linking/static/openssl/linked-against-openssl.yml
+++ b/linking/static/openssl/linked-against-openssl.yml
@@ -10,6 +10,6 @@ rule:
- 6cc148363200798a12091b97a17181a1
features:
- or:
- - string: RC4 for x86_64, CRYPTOGAMS by
- - string: AES for x86_64, CRYPTOGAMS by
- - string: DSA-SHA1-old
+ - string: "RC4 for x86_64, CRYPTOGAMS by "
+ - string: "AES for x86_64, CRYPTOGAMS by "
+ - string: "DSA-SHA1-old"
diff --git a/linking/static/polarssl/linked-against-polarsslmbed-tls.yml b/linking/static/polarssl/linked-against-polarsslmbed-tls.yml
index 535d0aac..9f227207 100644
--- a/linking/static/polarssl/linked-against-polarsslmbed-tls.yml
+++ b/linking/static/polarssl/linked-against-polarsslmbed-tls.yml
@@ -10,8 +10,8 @@ rule:
- 232b0a8546035d9017fadf68398826edb0a1e055566bc1d356d6c9fdf1d7e485
features:
- or:
- - string: PolarSSLTest
- - string: mbedtls_cipher_setup
- - string: mbedtls_pk_verify
- - string: mbedtls_ssl_write_record
- - string: mbedtls_ssl_fetch_input
+ - string: "PolarSSLTest"
+ - string: "mbedtls_cipher_setup"
+ - string: "mbedtls_pk_verify"
+ - string: "mbedtls_ssl_write_record"
+ - string: "mbedtls_ssl_fetch_input"
diff --git a/nursery/bypass-uac-via-icmluautil.yml b/nursery/bypass-uac-via-icmluautil.yml
index acb36db0..a740c4a1 100644
--- a/nursery/bypass-uac-via-icmluautil.yml
+++ b/nursery/bypass-uac-via-icmluautil.yml
@@ -11,12 +11,12 @@ rule:
features:
- and:
- or:
- - string: '{3E5FC7F9-9A51-4367-9063-A120244FBEC7}' # T_CLSID_CMSTPLUA
+ - string: "{3E5FC7F9-9A51-4367-9063-A120244FBEC7}" # T_CLSID_CMSTPLUA
- bytes: F9 C7 5F 3E 51 9A 67 43 90 63 A1 20 24 4F BE C7 = T_CLSID_CMSTPLUA
- - string: '{3E5FC7F9-9A51-4367-9063-A120244FBEC7}' # T_CLSID_CMSTPLUA
+ - string: "{3E5FC7F9-9A51-4367-9063-A120244FBEC7}" # T_CLSID_CMSTPLUA
- optional:
- or:
- api: ole32.CoGetObject
- or:
- - string: '{6EDD6D74-C007-4E75-B76A-E5740995E24C}' # IID_ICMLuaUtil
+ - string: "{6EDD6D74-C007-4E75-B76A-E5740995E24C}" # IID_ICMLuaUtil
- bytes: 74 6D DD 6E 07 C0 75 4E B7 6A E5 74 09 95 E2 4C = IID_ICMLuaUtil
diff --git a/nursery/bypass-uac-via-scheduled-task-environment-variable.yml b/nursery/bypass-uac-via-scheduled-task-environment-variable.yml
index 1414788d..b1eff14d 100644
--- a/nursery/bypass-uac-via-scheduled-task-environment-variable.yml
+++ b/nursery/bypass-uac-via-scheduled-task-environment-variable.yml
@@ -11,11 +11,11 @@ rule:
- https://enigma0x3.net/2016/07/22/bypassing-uac-on-windows-10-using-disk-cleanup
features:
- and:
- - string: schtasks.exe
+ - string: "schtasks.exe"
- string: /Microsoft\\Windows\\DiskCleanup\\SilentCleanup/i
- match: create process
- optional:
- or:
- - string: Environment
- - string: windir
+ - string: "Environment"
+ - string: "windir"
- match: set registry value
diff --git a/nursery/capture-screenshot-in-go.yml b/nursery/capture-screenshot-in-go.yml
index a015399f..c68aa780 100644
--- a/nursery/capture-screenshot-in-go.yml
+++ b/nursery/capture-screenshot-in-go.yml
@@ -15,7 +15,7 @@ rule:
- match: compiled with Go
- or:
- and:
- - string: syscall.NewLazyDLL
+ - string: "syscall.NewLazyDLL"
description: Dynamic loading of DLLs
- or:
- and:
diff --git a/nursery/check-for-windows-sandbox-via-mutex.yml b/nursery/check-for-windows-sandbox-via-mutex.yml
index 2f4396ba..fbd085f7 100644
--- a/nursery/check-for-windows-sandbox-via-mutex.yml
+++ b/nursery/check-for-windows-sandbox-via-mutex.yml
@@ -13,4 +13,4 @@ rule:
features:
- and:
- match: check mutex
- - string: WindowsSandboxMutex
+ - string: "WindowsSandboxMutex"
diff --git a/nursery/check-license-value.yml b/nursery/check-license-value.yml
index d59d550a..01f32b35 100644
--- a/nursery/check-license-value.yml
+++ b/nursery/check-license-value.yml
@@ -11,4 +11,4 @@ rule:
features:
- and:
- api: NtQueryLicenseValue
- - string: Kernel-VMDetection-Private
+ - string: "Kernel-VMDetection-Private"
diff --git a/nursery/debug-build.yml b/nursery/debug-build.yml
index 49d05d9b..107d41b4 100644
--- a/nursery/debug-build.yml
+++ b/nursery/debug-build.yml
@@ -6,5 +6,5 @@ rule:
scope: file
features:
- or:
- - string: Assertion failed!
- - string: 'Assertion failed:'
+ - string: "Assertion failed!"
+ - string: "Assertion failed:"
diff --git a/nursery/encrypt-data-using-salsa20-or-chacha.yml b/nursery/encrypt-data-using-salsa20-or-chacha.yml
index 9a00a22a..382b0719 100644
--- a/nursery/encrypt-data-using-salsa20-or-chacha.yml
+++ b/nursery/encrypt-data-using-salsa20-or-chacha.yml
@@ -12,15 +12,15 @@ rule:
# The constant words spell "expand 32-byte k" in ASCII (i.e. the 4 words are "expa", "nd 3", "2-by", and "te k")
- or:
- description: part of key setup
- - string: expand 32-byte k = sigma
- - string: expand 16-byte k = tau
+ - string: "expand 32-byte k = sigma"
+ - string: "expand 16-byte k = tau"
# if sigma and tau are in contiguous memory, may result in concatenated string
- - string: expand 32-byte kexpand 16-byte k
+ - string: "expand 32-byte kexpand 16-byte k"
- and:
- - string: expa
- - string: nd 3
- - string: 2-by
- - string: te k
+ - string: "expa"
+ - string: "nd 3"
+ - string: "2-by"
+ - string: "te k"
- and:
- number: 0x61707865 # apxe
- number: 0x3320646E # 3 dn
diff --git a/nursery/get-client-handle-via-schannel.yml b/nursery/get-client-handle-via-schannel.yml
index b0571892..1ceba697 100644
--- a/nursery/get-client-handle-via-schannel.yml
+++ b/nursery/get-client-handle-via-schannel.yml
@@ -15,4 +15,4 @@ rule:
- match: get outbound credentials handle via CredSSP
- number: 4 = CredsspSchannelCreds
- optional:
- - string: Microsoft Unified Security Protocol Provider
+ - string: "Microsoft Unified Security Protocol Provider"
diff --git a/nursery/get-comspec-environment-variable.yml b/nursery/get-comspec-environment-variable.yml
index 0d880e19..7da96777 100644
--- a/nursery/get-comspec-environment-variable.yml
+++ b/nursery/get-comspec-environment-variable.yml
@@ -8,5 +8,5 @@ rule:
- and:
- match: query environment variable
- or:
- - string: COMSPEC
- - string: '%COMSPEC%'
+ - string: "COMSPEC"
+ - string: "%COMSPEC%"
diff --git a/nursery/get-proxy.yml b/nursery/get-proxy.yml
index 60a90bae..916b924b 100644
--- a/nursery/get-proxy.yml
+++ b/nursery/get-proxy.yml
@@ -9,4 +9,4 @@ rule:
features:
- and:
- match: create or open registry key
- - string: ProxyServer
+ - string: "ProxyServer"
diff --git a/nursery/linked-against-c-regex-library.yml b/nursery/linked-against-c-regex-library.yml
index 7b6e1757..5f315fb3 100644
--- a/nursery/linked-against-c-regex-library.yml
+++ b/nursery/linked-against-c-regex-library.yml
@@ -6,5 +6,5 @@ rule:
scope: file
features:
- or:
- - string: regex_error(error_syntax) # from C++ STL regex, ref: http://www.cplusplus.com/reference/regex/regex_error/
- - string: 'regex_error(error_collate): The expression contained an invalid collating element name.'
+ - string: "regex_error(error_syntax)" # from C++ STL regex, ref: http://www.cplusplus.com/reference/regex/regex_error/
+ - string: "regex_error(error_collate): The expression contained an invalid collating element name."
diff --git a/nursery/linked-against-go-process-enumeration-library.yml b/nursery/linked-against-go-process-enumeration-library.yml
index 0782dfa4..ab8c5eab 100644
--- a/nursery/linked-against-go-process-enumeration-library.yml
+++ b/nursery/linked-against-go-process-enumeration-library.yml
@@ -16,5 +16,5 @@ rule:
- match: compiled with Go
- or:
- or:
- - string: github.com/mitchellh/go-ps.FindProcess
- - string: github.com/mitchellh/go-ps.Processes
+ - string: "github.com/mitchellh/go-ps.FindProcess"
+ - string: "github.com/mitchellh/go-ps.Processes"
diff --git a/nursery/linked-against-go-registry-library.yml b/nursery/linked-against-go-registry-library.yml
index b29c5e1c..cd911c82 100644
--- a/nursery/linked-against-go-registry-library.yml
+++ b/nursery/linked-against-go-registry-library.yml
@@ -12,5 +12,5 @@ rule:
- and:
- match: compiled with Go
- or:
- - string: golang.org/x/sys/windows/registry.Key.Close
- - string: github.com/golang/sys/windows/registry.Key.Close
+ - string: "golang.org/x/sys/windows/registry.Key.Close"
+ - string: "github.com/golang/sys/windows/registry.Key.Close"
diff --git a/nursery/linked-against-go-static-asset-library.yml b/nursery/linked-against-go-static-asset-library.yml
index 50d1204b..d4767ea2 100644
--- a/nursery/linked-against-go-static-asset-library.yml
+++ b/nursery/linked-against-go-static-asset-library.yml
@@ -21,26 +21,26 @@ rule:
- match: compiled with Go
- or:
- or:
- - string: github.com/rakyll/statik/fs.IsDefaultNamespace
- - string: github.com/rakyll/statik/fs.RegisterWithNamespace
- - string: github.com/rakyll/statik/fs.NewWithNamespace
- - string: github.com/rakyll/statik/fs.Register
+ - string: "github.com/rakyll/statik/fs.IsDefaultNamespace"
+ - string: "github.com/rakyll/statik/fs.RegisterWithNamespace"
+ - string: "github.com/rakyll/statik/fs.NewWithNamespace"
+ - string: "github.com/rakyll/statik/fs.Register"
- and:
- - string: github.com/gobuffalo/packr.NewBox
+ - string: "github.com/gobuffalo/packr.NewBox"
- or:
- - string: github.com/markbates/pkger.Open
- - string: github.com/markbates/pkger.Include
- - string: github.com/markbates/pkger.Parse
+ - string: "github.com/markbates/pkger.Open"
+ - string: "github.com/markbates/pkger.Include"
+ - string: "github.com/markbates/pkger.Parse"
- or:
- - string: github.com/GeertJohan/go.rice.FindBox
- - string: github.com/GeertJohan/go.rice.MustFindBox
+ - string: "github.com/GeertJohan/go.rice.FindBox"
+ - string: "github.com/GeertJohan/go.rice.MustFindBox"
- and:
- - string: '/\/bindata\.go/'
+ - string: /\/bindata\.go/
description: go-bindata
- - string: '/\.Asset/'
+ - string: /\.Asset/
- and:
- - string: github.com/lu4p/binclude.Include
+ - string: "github.com/lu4p/binclude.Include"
- and:
- - string: github.com/omeid/go-resources
+ - string: "github.com/omeid/go-resources"
- and:
- - string: github.com/pyros2097/go-embed
+ - string: "github.com/pyros2097/go-embed"
diff --git a/nursery/linked-against-go-wmi-library.yml b/nursery/linked-against-go-wmi-library.yml
index 8e04ec6f..3d0e1a2d 100644
--- a/nursery/linked-against-go-wmi-library.yml
+++ b/nursery/linked-against-go-wmi-library.yml
@@ -15,5 +15,5 @@ rule:
- match: compiled with Go
- or:
- or:
- - string: github.com/StackExchange/wmi.CreateQuery
- - string: github.com/StackExchange/wmi.Query
+ - string: "github.com/StackExchange/wmi.CreateQuery"
+ - string: "github.com/StackExchange/wmi.Query"
diff --git a/nursery/mine-cryptocurrency.yml b/nursery/mine-cryptocurrency.yml
index 12e8d981..a21cd71f 100644
--- a/nursery/mine-cryptocurrency.yml
+++ b/nursery/mine-cryptocurrency.yml
@@ -10,40 +10,40 @@ rule:
- https://github.com/ctxis/CAPE/blob/master/modules/signatures/cryptomining.py
features:
- or:
- - string: stratum+tcp://
- - string: xmrig
- - string: xmr-stak
- - string: 'supportxmr.com:'
- - string: 'dwarfpool.com:'
- - string: minergate
- - string: xmr.
- - string: monero.
- - string: Bitcoin
- - string: Bitcoin
- - string: BitcoinGold
- - string: BtcCash
- - string: Ethereum
- - string: BlackCoin
- - string: ByteCoin
- - string: EmerCoin
- - string: ReddCoin
- - string: Peercoin
- - string: Ripple
- - string: Miota
- - string: Cardano
- - string: Lisk
- - string: Stratis
- - string: Waves
- - string: Qtum
- - string: Stellar
- - string: ViaCoin
- - string: Electroneum
- - string: Dash
- - string: Doge
- - string: Monero
- - string: Graft
- - string: Zcash
- - string: Ya.money
- - string: Ya.disc
- - string: Steam
- - string: vk.cc
+ - string: "stratum+tcp://"
+ - string: "xmrig"
+ - string: "xmr-stak"
+ - string: "supportxmr.com:"
+ - string: "dwarfpool.com:"
+ - string: "minergate"
+ - string: "xmr."
+ - string: "monero."
+ - string: "Bitcoin"
+ - string: "Bitcoin"
+ - string: "BitcoinGold"
+ - string: "BtcCash"
+ - string: "Ethereum"
+ - string: "BlackCoin"
+ - string: "ByteCoin"
+ - string: "EmerCoin"
+ - string: "ReddCoin"
+ - string: "Peercoin"
+ - string: "Ripple"
+ - string: "Miota"
+ - string: "Cardano"
+ - string: "Lisk"
+ - string: "Stratis"
+ - string: "Waves"
+ - string: "Qtum"
+ - string: "Stellar"
+ - string: "ViaCoin"
+ - string: "Electroneum"
+ - string: "Dash"
+ - string: "Doge"
+ - string: "Monero"
+ - string: "Graft"
+ - string: "Zcash"
+ - string: "Ya.money"
+ - string: "Ya.disc"
+ - string: "Steam"
+ - string: "vk.cc"
diff --git a/nursery/packaged-as-a-wise-installer.yml b/nursery/packaged-as-a-wise-installer.yml
index 852e36bc..93bbc5c0 100644
--- a/nursery/packaged-as-a-wise-installer.yml
+++ b/nursery/packaged-as-a-wise-installer.yml
@@ -6,5 +6,5 @@ rule:
scope: file
features:
- or:
- - string: WiseMain
+ - string: "WiseMain"
- string: /Wise Installation Wizard/
diff --git a/nursery/packaged-as-an-installshield-installer.yml b/nursery/packaged-as-an-installshield-installer.yml
index d8b0de7e..3a994c04 100644
--- a/nursery/packaged-as-an-installshield-installer.yml
+++ b/nursery/packaged-as-an-installshield-installer.yml
@@ -10,4 +10,4 @@ rule:
# which we want to avoid FP'ing on,
# so do an exact match for this string.
# ok to relax if there are counterexamples.
- - string: InstallShield
+ - string: "InstallShield"
diff --git a/nursery/read-raw-disk-data.yml b/nursery/read-raw-disk-data.yml
index 18e5c6b4..b4de1208 100644
--- a/nursery/read-raw-disk-data.yml
+++ b/nursery/read-raw-disk-data.yml
@@ -6,5 +6,5 @@ rule:
scope: file
features:
- or:
- - string: \\\\.\\PhysicalDrive0
- - string: '\\.\C:'
+ - string: "\\\\.\\PhysicalDrive0"
+ - string: "\\\\.\\C:"
diff --git a/nursery/reference-114dns-dns-server.yml b/nursery/reference-114dns-dns-server.yml
index 7dcc5c05..8c579058 100644
--- a/nursery/reference-114dns-dns-server.yml
+++ b/nursery/reference-114dns-dns-server.yml
@@ -11,9 +11,9 @@ rule:
# - ab57d3c179355bf2bcdb7935483d84d4
features:
- or:
- - string: 114.114.114.114
- - string: 114.114.115.115
- - string: 114.114.114.119
- - string: 114.114.115.119
- - string: 114.114.114.110
- - string: 114.114.115.110
+ - string: "114.114.114.114"
+ - string: "114.114.115.115"
+ - string: "114.114.114.119"
+ - string: "114.114.115.119"
+ - string: "114.114.114.110"
+ - string: "114.114.115.110"
diff --git a/nursery/reference-alidns-dns-server.yml b/nursery/reference-alidns-dns-server.yml
index 12e323af..5833b397 100644
--- a/nursery/reference-alidns-dns-server.yml
+++ b/nursery/reference-alidns-dns-server.yml
@@ -10,7 +10,7 @@ rule:
# - ab57d3c179355bf2bcdb7935483d84d4
features:
- or:
- - string: 223.5.5.5
- - string: 223.6.6.6
- - string: 2400:3200::1
- - string: 2400:3200:baba::1
+ - string: "223.5.5.5"
+ - string: "223.6.6.6"
+ - string: "2400:3200::1"
+ - string: "2400:3200:baba::1"
diff --git a/nursery/reference-cloudflare-dns-server.yml b/nursery/reference-cloudflare-dns-server.yml
index ebea4a16..00becf23 100644
--- a/nursery/reference-cloudflare-dns-server.yml
+++ b/nursery/reference-cloudflare-dns-server.yml
@@ -9,5 +9,5 @@ rule:
examples:
features:
- or:
- - string: 1.1.1.1
- - string: 1.0.0.1
+ - string: "1.1.1.1"
+ - string: "1.0.0.1"
diff --git a/nursery/reference-comodo-secure-dns-server.yml b/nursery/reference-comodo-secure-dns-server.yml
index 775d0adc..c3cf6fa2 100644
--- a/nursery/reference-comodo-secure-dns-server.yml
+++ b/nursery/reference-comodo-secure-dns-server.yml
@@ -9,5 +9,5 @@ rule:
examples:
features:
- or:
- - string: 8.26.56.26
- - string: 8.20.247.20
+ - string: "8.26.56.26"
+ - string: "8.20.247.20"
diff --git a/nursery/reference-google-public-dns-server.yml b/nursery/reference-google-public-dns-server.yml
index 65e0fa39..a704945c 100644
--- a/nursery/reference-google-public-dns-server.yml
+++ b/nursery/reference-google-public-dns-server.yml
@@ -10,7 +10,7 @@ rule:
examples:
features:
- or:
- - string: 8.8.8.8
- - string: 8.8.4.4
- - string: 2001:4860:4860::8888
- - string: 2001:4860:4860::8844
+ - string: "8.8.8.8"
+ - string: "8.8.4.4"
+ - string: "2001:4860:4860::8888"
+ - string: "2001:4860:4860::8844"
diff --git a/nursery/reference-hurricane-electric-dns-server.yml b/nursery/reference-hurricane-electric-dns-server.yml
index e123c23c..a15b494c 100644
--- a/nursery/reference-hurricane-electric-dns-server.yml
+++ b/nursery/reference-hurricane-electric-dns-server.yml
@@ -10,13 +10,13 @@ rule:
examples:
features:
- or:
- - string: 216.218.130.2
+ - string: "216.218.130.2"
description: ns1.he.net
- - string: 216.218.131.2
+ - string: "216.218.131.2"
description: ns2.he.net
- - string: 216.218.132.2
+ - string: "216.218.132.2"
description: ns3.he.net
- - string: 216.66.1.2
+ - string: "216.66.1.2"
description: ns4.he.net
- - string: 216.66.80.18
+ - string: "216.66.80.18"
description: ns5.he.net
diff --git a/nursery/reference-kornet-dns-server.yml b/nursery/reference-kornet-dns-server.yml
index a8f9bfb3..a4aa3ffe 100644
--- a/nursery/reference-kornet-dns-server.yml
+++ b/nursery/reference-kornet-dns-server.yml
@@ -10,5 +10,5 @@ rule:
# - ab57d3c179355bf2bcdb7935483d84d4
features:
- or:
- - string: 168.126.63.1
+ - string: "168.126.63.1"
description: kns.kornet.net
diff --git a/nursery/reference-l3-dns-server.yml b/nursery/reference-l3-dns-server.yml
index 369aa63f..96e28bbe 100644
--- a/nursery/reference-l3-dns-server.yml
+++ b/nursery/reference-l3-dns-server.yml
@@ -9,9 +9,9 @@ rule:
examples:
features:
- or:
- - string: 4.2.2.1
- - string: 4.2.2.2
- - string: 4.2.2.3
- - string: 4.2.2.4
- - string: 4.2.2.5
- - string: 4.2.2.6
+ - string: "4.2.2.1"
+ - string: "4.2.2.2"
+ - string: "4.2.2.3"
+ - string: "4.2.2.4"
+ - string: "4.2.2.5"
+ - string: "4.2.2.6"
diff --git a/nursery/reference-opendns-dns-server.yml b/nursery/reference-opendns-dns-server.yml
index ca8bfe60..047bd273 100644
--- a/nursery/reference-opendns-dns-server.yml
+++ b/nursery/reference-opendns-dns-server.yml
@@ -9,5 +9,5 @@ rule:
examples:
features:
- or:
- - string: 208.67.222.222
- - string: 208.67.220.220
+ - string: "208.67.222.222"
+ - string: "208.67.220.220"
diff --git a/nursery/reference-quad9-dns-server.yml b/nursery/reference-quad9-dns-server.yml
index 4e13a7af..71a743d5 100644
--- a/nursery/reference-quad9-dns-server.yml
+++ b/nursery/reference-quad9-dns-server.yml
@@ -9,5 +9,5 @@ rule:
examples:
features:
- or:
- - string: 9.9.9.9
- - string: 149.112.112.112
+ - string: "9.9.9.9"
+ - string: "149.112.112.112"
diff --git a/nursery/reference-screen-saver-executable.yml b/nursery/reference-screen-saver-executable.yml
index 985d5b25..1c227f46 100644
--- a/nursery/reference-screen-saver-executable.yml
+++ b/nursery/reference-screen-saver-executable.yml
@@ -9,8 +9,8 @@ rule:
- Persistence::Event Triggered Execution::Screensaver [T1546.002]
features:
- and:
- - string: SCRNSAVE.EXE
+ - string: "SCRNSAVE.EXE"
- optional:
- - string: ScreenSaveTimeOut
- - string: Control Panel\Desktop
+ - string: "ScreenSaveTimeOut"
+ - string: "Control Panel\\Desktop"
- match: set registry value
diff --git a/nursery/reference-verisign-dns-server.yml b/nursery/reference-verisign-dns-server.yml
index 899b3370..700442c4 100644
--- a/nursery/reference-verisign-dns-server.yml
+++ b/nursery/reference-verisign-dns-server.yml
@@ -9,5 +9,5 @@ rule:
examples:
features:
- or:
- - string: 64.6.64.6
- - string: 64.6.65.6
+ - string: "64.6.64.6"
+ - string: "64.6.65.6"
diff --git a/targeting/automated-teller-machine/diebold-nixdorf/load-diebold-nixdorf-atm-library.yml b/targeting/automated-teller-machine/diebold-nixdorf/load-diebold-nixdorf-atm-library.yml
index 1c58ea3b..8c47851c 100644
--- a/targeting/automated-teller-machine/diebold-nixdorf/load-diebold-nixdorf-atm-library.yml
+++ b/targeting/automated-teller-machine/diebold-nixdorf/load-diebold-nixdorf-atm-library.yml
@@ -13,7 +13,7 @@ rule:
features:
- or:
- import: cscwcng.dll
- - string: CSCWCNG.dll
+ - string: "CSCWCNG.dll"
- import: cscwcng.CscCngStatusWrite
- import: cscwcng.CscCngCasRefInit
- import: cscwcng.CscCngEncryption
@@ -41,30 +41,30 @@ rule:
- import: cscwcng.CscCngOptimization
- import: cscwcng.CscCngSelftest
- import: cscwcng.CscCngEco
- - string: CscCngStatusWrite
- - string: CscCngCasRefInit
- - string: CscCngEncryption
- - string: CscCngRecovery
- - string: CscCngService
- - string: CscCngOpen
- - string: CscCngReset
- - string: CscCngClose
- - string: CscCngDispense
- - string: CscCngTransport
- - string: CscCngStatusRead
- - string: CscCngInit
- - string: CscCngGetRelease
- - string: CscCngLock
- - string: CscCngUnlock
- - string: CscCngShutter
- - string: CscCngPowerOff
- - string: CscCngSelStatus
- - string: CscCngBim
- - string: CscCngConfigure
- - string: CscCngStatistics
- - string: CscCngControl
- - string: CscCngPsm
- - string: CscCngGetTrace
- - string: CscCngOptimization
- - string: CscCngSelftest
- - string: CscCngEco
+ - string: "CscCngStatusWrite"
+ - string: "CscCngCasRefInit"
+ - string: "CscCngEncryption"
+ - string: "CscCngRecovery"
+ - string: "CscCngService"
+ - string: "CscCngOpen"
+ - string: "CscCngReset"
+ - string: "CscCngClose"
+ - string: "CscCngDispense"
+ - string: "CscCngTransport"
+ - string: "CscCngStatusRead"
+ - string: "CscCngInit"
+ - string: "CscCngGetRelease"
+ - string: "CscCngLock"
+ - string: "CscCngUnlock"
+ - string: "CscCngShutter"
+ - string: "CscCngPowerOff"
+ - string: "CscCngSelStatus"
+ - string: "CscCngBim"
+ - string: "CscCngConfigure"
+ - string: "CscCngStatistics"
+ - string: "CscCngControl"
+ - string: "CscCngPsm"
+ - string: "CscCngGetTrace"
+ - string: "CscCngOptimization"
+ - string: "CscCngSelftest"
+ - string: "CscCngEco"
diff --git a/targeting/automated-teller-machine/diebold-nixdorf/reference-diebold-atm-routines.yml b/targeting/automated-teller-machine/diebold-nixdorf/reference-diebold-atm-routines.yml
index 47aa478e..bfc1313c 100644
--- a/targeting/automated-teller-machine/diebold-nixdorf/reference-diebold-atm-routines.yml
+++ b/targeting/automated-teller-machine/diebold-nixdorf/reference-diebold-atm-routines.yml
@@ -10,5 +10,5 @@ rule:
- b2ad4409323147b63e370745e5209996
features:
- or:
- - string: DBD_AdvFuncDisp # dispenser
- - string: DBD_EPP4 # pin pad
+ - string: "DBD_AdvFuncDisp" # dispenser
+ - string: "DBD_EPP4" # pin pad
diff --git a/targeting/automated-teller-machine/identify-atm-dispenser-service-provider.yml b/targeting/automated-teller-machine/identify-atm-dispenser-service-provider.yml
index 2742f2aa..f0441c5a 100644
--- a/targeting/automated-teller-machine/identify-atm-dispenser-service-provider.yml
+++ b/targeting/automated-teller-machine/identify-atm-dispenser-service-provider.yml
@@ -11,6 +11,6 @@ rule:
- 1f094dd65be477d15d871e72f0fdce5e
features:
- or:
- - string: CurrencyDispenser1 # NCR
- - string: CDM30 # Wincor
- - string: DBD_AdvFuncDisp # Diebold
+ - string: "CurrencyDispenser1" # NCR
+ - string: "CDM30" # Wincor
+ - string: "DBD_AdvFuncDisp" # Diebold
diff --git a/targeting/automated-teller-machine/ncr/load-ncr-atm-library.yml b/targeting/automated-teller-machine/ncr/load-ncr-atm-library.yml
index 13344190..3e31f02e 100644
--- a/targeting/automated-teller-machine/ncr/load-ncr-atm-library.yml
+++ b/targeting/automated-teller-machine/ncr/load-ncr-atm-library.yml
@@ -16,5 +16,5 @@ rule:
features:
- or:
- import: msxfs.dll # Extension for Financial Services (XFS)
- - string: MSXFS.dll
- - string: msxfs.dll
+ - string: "MSXFS.dll"
+ - string: "msxfs.dll"
diff --git a/targeting/automated-teller-machine/ncr/reference-ncr-atm-library-routines.yml b/targeting/automated-teller-machine/ncr/reference-ncr-atm-library-routines.yml
index 5123cf64..389664da 100644
--- a/targeting/automated-teller-machine/ncr/reference-ncr-atm-library-routines.yml
+++ b/targeting/automated-teller-machine/ncr/reference-ncr-atm-library-routines.yml
@@ -11,34 +11,34 @@ rule:
# 971e599e6e707349eccea2fd4c8e5f67 # packed with vmprotect
features:
- or:
- - string: msxfs.dll # Extension for Financial Services (XFS)
+ - string: "msxfs.dll" # Extension for Financial Services (XFS)
- api: msxfs.WFSCleanUp
- - string: WFSCleanUp
+ - string: "WFSCleanUp"
- api: msxfs.WFSClose
- - string: WFSClose
+ - string: "WFSClose"
- api: msxfs.WFSExecute
- - string: WFSExecute
+ - string: "WFSExecute"
- api: msxfs.WFSFreeResult
- - string: WFSFreeResult
+ - string: "WFSFreeResult"
- api: msxfs.WFSGetInfo
- - string: WFSGetInfo
+ - string: "WFSGetInfo"
- api: msxfs.WFSLock
- - string: WFSLock
+ - string: "WFSLock"
- api: msxfs.WFSOpen
- - string: WFSOpen
+ - string: "WFSOpen"
- api: msxfs.WFSRegister
- - string: WFSRegister
+ - string: "WFSRegister"
- api: msxfs.WFSStartUp
- - string: WFSStartUp
+ - string: "WFSStartUp"
- api: msxfs.WFSUnlock
- - string: WFSUnlock
+ - string: "WFSUnlock"