Skip to content

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_MAL_Sindoor_Downloader_Aug25

Detects Sindoor downloader related to APT 36

MalwareSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compiles with YARA-X
Author
Pezier Pierre-Henri
Date
2025-08-29
Modified
2026-05-15
Score / Quality
80 / 85

What this rule detects

Detects Sindoor downloader related to APT 36

Targets: Windows PE, Linux ELF, macOS Mach-O.

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

Summary generated from the rule's metadata and condition.

Rule source

mal-sindoor-downloader-aug25.yarDetection Rule License 1.1
rule SIGNATURE_BASE_MAL_Sindoor_Downloader_Aug25 : FILE
{
	meta:
		description = "Detects Sindoor downloader related to APT 36"
		author = "Pezier Pierre-Henri"
		id = "c1188abc-2bea-5cbc-a39d-9690626c0821"
		date = "2025-08-29"
		modified = "2026-05-15"
		reference = "Internal Research"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_apt36_operation_sindoor.yar#L65-L90"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		hash = "38b6b93a536cbab5c289fe542656d8817d7c1217ad75c7f367b15c65d96a21d4"
		logic_hash = "c55be65cd077cb04b625636dffcb02af74efa06bb49da734c8616da233a34d1a"
		score = 80
		quality = 85
		tags = "FILE"

	strings:
		$s1 = "Go build"
		$s2 = "main.downloadFile.deferwrap"
		$s3 = "main.decrypt"
		$s4 = "main.HiddenHome"
		$s5 = "main.RealCheck"

	condition:
		filesize < 100MB and ( uint16( 0 ) == 0x5a4d or uint32be( 0 ) == 0x7f454c46 or ( uint32be( 0 ) == 0xcafebabe and uint32be( 4 ) < 0x20 ) or uint32( 0 ) == 0xfeedface or uint32( 0 ) == 0xfeedfacf ) and all of them
}

Strings (5 patterns)

IdentifierTypeValueModifiers
$s1text"Go build"
$s2text"main.downloadFile.deferwrap"
$s3text"main.decrypt"
$s4text"main.HiddenHome"
$s5text"main.RealCheck"

Condition

filesize < 100MB and ( uint16( 0 ) == 0x5a4d or uint32be( 0 ) == 0x7f454c46 or ( uint32be( 0 ) == 0xcafebabe and uint32be( 4 ) < 0x20 ) or uint32( 0 ) == 0xfeedface or uint32( 0 ) == 0xfeedfacf ) and all of them

In plain words (Heuristic)

  • The file must start with “MZ” — a Windows executable (PE).
  • The file must start with the ELF header — a Linux/Unix executable.
  • The file must start with a Mach-O / fat binary magic — a macOS executable.
  • The file must be smaller than 100MB (a cheap guard that skips large files).
  • All 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

Sample hashes

Hashes of samples the author lists in the rule's meta (look them up in your threat-intelligence platform).

  • 38b6b93a536cbab5c289fe542656d8817d7c1217ad75c7f367b15c65d96a21d4

Licence & attribution

Author: Pezier Pierre-Henri

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: c1188abc-2bea-5cbc-a39d-9690626c0821

Tags:FILE