mirror of
https://github.com/mandiant/capa-rules
synced 2026-06-08 15:41:20 +00:00
30 lines
1.5 KiB
YAML
30 lines
1.5 KiB
YAML
rule:
|
|
meta:
|
|
name: encode data using Base64 via WinAPI
|
|
namespace: data-manipulation/encoding/base64
|
|
authors:
|
|
- moritz.raabe@mandiant.com
|
|
scopes:
|
|
static: basic block
|
|
dynamic: call
|
|
att&ck:
|
|
- Defense Evasion::Obfuscated Files or Information [T1027]
|
|
examples:
|
|
- mimikatz.exe_:0x40622D
|
|
features:
|
|
- and:
|
|
- or:
|
|
# number: 0x0 = CRYPT_STRING_BASE64HEADER (with certificate beginning and ending headers), FPs too likely for 0
|
|
- number: 0x1 = dwFlags=CRYPT_STRING_BASE64 # without headers
|
|
- number: 0x3 = dwFlags=CRYPT_STRING_BASE64REQUESTHEADER # with request beginning and ending headers
|
|
- number: 0x9 = dwFlags=CRYPT_STRING_BASE64X509CRLHEADER # with X.509 CRL beginning and ending headers
|
|
# CRYPT_STRING_NOCRLF = 0x40000000, do not append any new line characters to the encoded string
|
|
- number: 0x40000001 = dwFlags=CRYPT_STRING_BASE64 | CRYPT_STRING_NOCRLF
|
|
- number: 0x40000003 = dwFlags=CRYPT_STRING_BASE64REQUESTHEADER | CRYPT_STRING_NOCRLF
|
|
- number: 0x40000009 = dwFlags=CRYPT_STRING_BASE64X509CRLHEADER | CRYPT_STRING_NOCRLF
|
|
# CRYPT_STRING_NOCR = 0x80000000, only use the line feed (LF) character
|
|
- number: 0x80000001 = dwFlags=CRYPT_STRING_BASE64 | CRYPT_STRING_NOCR
|
|
- number: 0x80000003 = dwFlags=CRYPT_STRING_BASE64REQUESTHEADER | CRYPT_STRING_NOCR
|
|
- number: 0x80000009 = dwFlags=CRYPT_STRING_BASE64X509CRLHEADER | CRYPT_STRING_NOCR
|
|
- api: CryptBinaryToString
|