Skip to content

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_SUSP_PS1_Frombase64String_Content_Indicator

Detects suspicious base64 encoded PowerShell expressions

Suspicious / huntingSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compiles with YARA-X
Author
Florian Roth (Nextron Systems)
Date
2020-01-25
Modified
2024-04-03
Score / Quality
65 / 83

What this rule detects

Detects suspicious base64 encoded PowerShell expressions

It defines 40 patterns (40 text, 0 hex, 0 regex).

Summary generated from the rule's metadata and condition.

Rule source

susp-ps1-frombase64string-content-indicator.yarDetection Rule License 1.1
rule SIGNATURE_BASE_SUSP_PS1_Frombase64String_Content_Indicator : FILE
{
	meta:
		description = "Detects suspicious base64 encoded PowerShell expressions"
		author = "Florian Roth (Nextron Systems)"
		id = "326c83ff-5d21-508f-b935-03ccdab6efa7"
		date = "2020-01-25"
		modified = "2024-04-03"
		reference = "https://gist.github.com/Neo23x0/6af876ee72b51676c82a2db8d2cd3639"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/gen_powershell_susp.yar#L233-L284"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		logic_hash = "a9ec7a00e9faee5cc081a2bc86abf8027fcd3cfe590cdd4f2f99425b6723f23f"
		score = 65
		quality = 83
		tags = "FILE"

	strings:
		$ = "::FromBase64String(\"H4s" ascii wide
		$ = "::FromBase64String(\"TVq" ascii wide
		$ = "::FromBase64String(\"UEs" ascii wide
		$ = "::FromBase64String(\"JAB" ascii wide
		$ = "::FromBase64String(\"SUVY" ascii wide
		$ = "::FromBase64String(\"SQBFAF" ascii wide
		$ = "::FromBase64String(\"SQBuAH" ascii wide
		$ = "::FromBase64String(\"PAA" ascii wide
		$ = "::FromBase64String(\"cwBhA" ascii wide
		$ = "::FromBase64String(\"aWV4" ascii wide
		$ = "::FromBase64String(\"aQBlA" ascii wide
		$ = "::FromBase64String(\"R2V0" ascii wide
		$ = "::FromBase64String(\"dmFy" ascii wide
		$ = "::FromBase64String(\"dgBhA" ascii wide
		$ = "::FromBase64String(\"dXNpbm" ascii wide
		$ = "::FromBase64String(\"H4sIA" ascii wide
		$ = "::FromBase64String(\"Y21k" ascii wide
		$ = "::FromBase64String(\"Qzpc" ascii wide
		$ = "::FromBase64String(\"Yzpc" ascii wide
		$ = "::FromBase64String(\"IAB" ascii wide
		$ = "::FromBase64String('H4s" ascii wide
		$ = "::FromBase64String('TVq" ascii wide
		$ = "::FromBase64String('UEs" ascii wide
		$ = "::FromBase64String('JAB" ascii wide
		$ = "::FromBase64String('SUVY" ascii wide
		$ = "::FromBase64String('SQBFAF" ascii wide
		$ = "::FromBase64String('SQBuAH" ascii wide
		$ = "::FromBase64String('PAA" ascii wide
		$ = "::FromBase64String('cwBhA" ascii wide
		$ = "::FromBase64String('aWV4" ascii wide
		$ = "::FromBase64String('aQBlA" ascii wide
		$ = "::FromBase64String('R2V0" ascii wide
		$ = "::FromBase64String('dmFy" ascii wide
		$ = "::FromBase64String('dgBhA" ascii wide
		$ = "::FromBase64String('dXNpbm" ascii wide
		$ = "::FromBase64String('H4sIA" ascii wide
		$ = "::FromBase64String('Y21k" ascii wide
		$ = "::FromBase64String('Qzpc" ascii wide
		$ = "::FromBase64String('Yzpc" ascii wide
		$ = "::FromBase64String('IAB" ascii wide

	condition:
		filesize < 5000KB and 1 of them
}

Strings (40 patterns)

IdentifierTypeValueModifiers
$text"::FromBase64String(\"H4s"ascii wide
$text"::FromBase64String(\"TVq"ascii wide
$text"::FromBase64String(\"UEs"ascii wide
$text"::FromBase64String(\"JAB"ascii wide
$text"::FromBase64String(\"SUVY"ascii wide
$text"::FromBase64String(\"SQBFAF"ascii wide
$text"::FromBase64String(\"SQBuAH"ascii wide
$text"::FromBase64String(\"PAA"ascii wide
$text"::FromBase64String(\"cwBhA"ascii wide
$text"::FromBase64String(\"aWV4"ascii wide
$text"::FromBase64String(\"aQBlA"ascii wide
$text"::FromBase64String(\"R2V0"ascii wide
$text"::FromBase64String(\"dmFy"ascii wide
$text"::FromBase64String(\"dgBhA"ascii wide
$text"::FromBase64String(\"dXNpbm"ascii wide
$text"::FromBase64String(\"H4sIA"ascii wide
$text"::FromBase64String(\"Y21k"ascii wide
$text"::FromBase64String(\"Qzpc"ascii wide
$text"::FromBase64String(\"Yzpc"ascii wide
$text"::FromBase64String(\"IAB"ascii wide
$text"::FromBase64String('H4s"ascii wide
$text"::FromBase64String('TVq"ascii wide
$text"::FromBase64String('UEs"ascii wide
$text"::FromBase64String('JAB"ascii wide
$text"::FromBase64String('SUVY"ascii wide
$text"::FromBase64String('SQBFAF"ascii wide
$text"::FromBase64String('SQBuAH"ascii wide
$text"::FromBase64String('PAA"ascii wide
$text"::FromBase64String('cwBhA"ascii wide
$text"::FromBase64String('aWV4"ascii wide
$text"::FromBase64String('aQBlA"ascii wide
$text"::FromBase64String('R2V0"ascii wide
$text"::FromBase64String('dmFy"ascii wide
$text"::FromBase64String('dgBhA"ascii wide
$text"::FromBase64String('dXNpbm"ascii wide
$text"::FromBase64String('H4sIA"ascii wide
$text"::FromBase64String('Y21k"ascii wide
$text"::FromBase64String('Qzpc"ascii wide
$text"::FromBase64String('Yzpc"ascii wide
$text"::FromBase64String('IAB"ascii wide

Condition

filesize < 5000KB and 1 of them

In plain words (Heuristic)

  • The file must be smaller than 5000KB (a cheap guard that skips large files).
  • At least 1 patterns in the rule must match.

Test this rule in your browser

Drop a file to scan it with this rule using YARA-X compiled to WebAssembly. Nothing is uploaded.

Drop a file here or click to chooseScanned locally with YARA-X. Files up to 200 MB.

Open in editor

References

Licence & attribution

Author: Florian Roth (Nextron Systems)

Source repository: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a

Licence: Detection Rule License 1.1 (repository licence)

Original rule

Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.

Rule id: 326c83ff-5d21-508f-b935-03ccdab6efa7

Tags:FILE