Aller au contenu

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_APT_CN_Twistedpanda_SPINNER_2

Detects an older variant of SPINNER payload used by TwistedPanda

APT / acteurSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compile avec YARA-X
Auteur
Check Point Research
Date
2022-04-14
Modifiée
2025-07-01
Score / Qualité
80 / 85

Ce que détecte cette règle

Detects an older variant of SPINNER payload used by TwistedPanda

Cibles : PE Windows.

Elle définit 7 motifs (0 texte, 7 hex, 0 regex).

Résumé généré à partir des métadonnées et de la condition de la règle.

Source de la règle

apt-cn-twistedpanda-spinner-2.yarDetection Rule License 1.1
rule SIGNATURE_BASE_APT_CN_Twistedpanda_SPINNER_2 : FILE
{
	meta:
		description = "Detects an older variant of SPINNER payload used by TwistedPanda"
		author = "Check Point Research"
		id = "bbbf3af1-127f-5d32-967f-bdb94311d1d6"
		date = "2022-04-14"
		modified = "2025-07-01"
		reference = "https://research.checkpoint.com/2022/twisted-panda-chinese-apt-espionage-operation-against-russians-state-owned-defense-institutes/"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_cn_twisted_panda.yar#L82-L118"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		hash = "28ecd1127bac08759d018787484b1bd16213809a2cc414514dc1ea87eb4c5ab8"
		logic_hash = "d1e34903e58fb76671a076acbb9f26e10d511c8f00be90b4901d61b73b90a9a7"
		score = 80
		quality = 85
		tags = "FILE"

	strings:
		$config_init = { C7 [3] 00 00 00 C7 [3] 00 00 00 C6 }
		$c2_cmd_1 = { 01 00 03 10 }
		$c2_cmd_2 = { 02 00 01 10 }
		$c2_cmd_3 = { 01 00 01 10 }
		$c2_cmd_4 = { 01 00 00 10 }
		$c2_cmd_5 = { 02 00 00 10 }
		$decryption = { 80 B3 [5] 8D BB [4] 8B 56 14 8B C2 8B 4E 10 2B C1 83 F8 01 }

	condition:
		uint16( 0 ) == 0x5A4D and uint32( uint32( 0x3C ) ) == 0x00004550 and filesize < 3000KB and #config_init > 10 and 2 of ( $c2_cmd_* ) and $decryption
}

Chaînes (7 motifs)

IdentifiantTypeValeurModificateurs
$config_inithex{ C7 [3] 00 00 00 C7 [3] 00 00 00 C6 }
$c2_cmd_1hex{ 01 00 03 10 }
$c2_cmd_2hex{ 02 00 01 10 }
$c2_cmd_3hex{ 01 00 01 10 }
$c2_cmd_4hex{ 01 00 00 10 }
$c2_cmd_5hex{ 02 00 00 10 }
$decryptionhex{ 80 B3 [5] 8D BB [4] 8B 56 14 8B C2 8B 4E 10 2B C1 83 F8 01 }

Condition

uint16( 0 ) == 0x5A4D and uint32( uint32( 0x3C ) ) == 0x00004550 and filesize < 3000KB and #config_init > 10 and 2 of ( $c2_cmd_* ) and $decryption

En clair (Heuristique)

  • Le fichier doit commencer par « MZ » — un exécutable Windows (PE).
  • Le fichier doit faire moins de 3000KB (garde-fou peu coûteux qui écarte les gros fichiers).
  • Au moins 2 motifs de ( $c2_cmd_* ) doivent être trouvés.
  • Le motif $config_init doit apparaître > 10 fois.
  • Le motif $decryption doit être présent.

Tester cette règle dans votre navigateur

Déposez un fichier pour le scanner avec cette règle grâce à YARA-X compilé en WebAssembly. Rien n’est envoyé.

Déposez un fichier ici ou cliquez pour choisirScanné localement avec YARA-X. Fichiers jusqu’à 200 Mo.

Ouvrir dans l’éditeur

Références

Hashes d’échantillons

Hashes des échantillons listés par l’auteur dans les métadonnées de la règle (à rechercher dans votre plateforme de threat intelligence).

  • 28ecd1127bac08759d018787484b1bd16213809a2cc414514dc1ea87eb4c5ab8

Licence et attribution

Auteur : Check Point Research

Dépôt source : Signature Base (Florian Roth / Nextron) @ 94a1c48d7a

Licence : Detection Rule License 1.1 (licence du dépôt)

Règle d’origine

Reprise via YARA Forge 20260927, qui préfixe les noms de règles par la source et ajoute des champs meta normalisés.

Identifiant de règle: bbbf3af1-127f-5d32-967f-bdb94311d1d6

Tags:FILE