Aller au contenu

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_MAL_CRIME_RAT_WIN_PE_Godrat_Aug25

Detects GodRAT malware targeting Windows systems

MalwareGodRATSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compile avec YARA-X
Auteur
Arda Buyukkaya
Date
2025-08-23
Modifiée
2026-05-15
Score / Qualité
75 / 83

Ce que détecte cette règle

Detects GodRAT malware targeting Windows systems

Famille de malware associée : GodRAT.

Cibles : PE Windows.

Elle définit 9 motifs (1 texte, 8 hex, 0 regex). Modules YARA utilisés : pe.

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

Source de la règle

Inclut les imports nécessaires pour la compiler seule.

mal-crime-rat-win-pe-godrat-aug25.yarDetection Rule License 1.1
import "pe"

rule SIGNATURE_BASE_MAL_CRIME_RAT_WIN_PE_Godrat_Aug25 : GODRAT RAT WINDOWS GH0ST_RAT GETGOD FILE
{
	meta:
		description = "Detects GodRAT malware targeting Windows systems"
		author = "Arda Buyukkaya"
		id = "e6ec0af5-71d3-520a-a671-8634ac2f926f"
		date = "2025-08-23"
		modified = "2026-05-15"
		reference = "https://securelist.com/godrat/117119/"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/mal_crime_win_pe_godrat_aug25.yar#L4-L80"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		hash = "154e800ed1719dbdcb188c00d5822444717c2a89017f2d12b8511eeeda0c2f41"
		logic_hash = "eda3175277bbf9f6408f5d2dd25d6780552aad4104fe62bb92125c734f9fdd98"
		score = 75
		quality = 83
		tags = "GODRAT, RAT, WINDOWS, GH0ST RAT, GETGOD, FILE"
		family = "GodRAT"
		victims = "Financial services"

	strings:
		$winrt_txt = "C++/WinRT version" ascii wide nocase
		$api_blob = {
         4E 74 43 72 65 61 74 65 53 65 63 74 69 6F 6E 00                          // NtCreateSection
         4E 74 4D 61 70 56 69 65 77 4F 66 53 65 63 74 69 6F 6E 00 00              // NtMapViewOfSection
         4E 74 55 6E 6D 61 70 56 69 65 77 4F 66 53 65 63 74 69 6F 6E 00 00 00 00  // NtUnmapViewOfSection
      }
		$ld_movups = { 0F 10 05 ?? ?? ?? ?? }
		$ld_movq = { F3 0F 7E 05 ?? ?? ?? ?? }
		$st_movups = { 0F 11 85 ?? ?? ?? ?? }
		$st_movq = { 66 0F D6 85 ?? ?? ?? ?? }
		$scan_loop = { 8A 01 41 84 C0 75 F9 }
		$cmp_len_770 = { 81 FF 70 07 00 00 0F 82 ?? ?? ?? ?? }
		$cmp_len_76C = { 81 FF 6C 07 00 00 0F 82 ?? ?? ?? ?? }

	condition:
		pe.is_pe and filesize <= 10MB and ( ( $winrt_txt and ( pe.imphash ( ) == "0f4b0270c84616ce594b6a84c47a7717" ) ) or ( ( $ld_movups or $ld_movq ) and ( ( #st_movups >= 2 ) or ( #st_movq >= 2 ) or ( #st_movups >= 1 and #st_movq >= 1 ) ) and $scan_loop and $api_blob and ( $cmp_len_770 or $cmp_len_76C ) ) or pe.imphash ( ) == "ee5ea868d8233000216e7b29bc8cb4e2" )
}

Chaînes (9 motifs)

IdentifiantTypeValeurModificateurs
$winrt_txttexte"C++/WinRT version"ascii wide nocase
$api_blobhex{ 4E 74 43 72 65 61 74 65 53 65 63 74 69 6F 6E 00 // NtCreateSection 4E 74 4D 61 70 56 69 65 77 4F 66 53 65 63 74 69 …
$ld_movupshex{ 0F 10 05 ?? ?? ?? ?? }
$ld_movqhex{ F3 0F 7E 05 ?? ?? ?? ?? }
$st_movupshex{ 0F 11 85 ?? ?? ?? ?? }
$st_movqhex{ 66 0F D6 85 ?? ?? ?? ?? }
$scan_loophex{ 8A 01 41 84 C0 75 F9 }
$cmp_len_770hex{ 81 FF 70 07 00 00 0F 82 ?? ?? ?? ?? }
$cmp_len_76Chex{ 81 FF 6C 07 00 00 0F 82 ?? ?? ?? ?? }

Condition

pe.is_pe and filesize <= 10MB and ( ( $winrt_txt and ( pe.imphash ( ) == "0f4b0270c84616ce594b6a84c47a7717" ) ) or ( ( $ld_movups or $ld_movq ) and ( ( #st_movups >= 2 ) or ( #st_movq >= 2 ) or ( #st_movups >= 1 and #st_movq >= 1 ) ) and $scan_loop and $api_blob and ( $cmp_len_770 or $cmp_len_76C ) ) or pe.imphash ( ) == "ee5ea868d8233000216e7b29bc8cb4e2" )

En clair (Heuristique)

  • Le fichier doit commencer par « MZ » — un exécutable Windows (PE).
  • Le fichier doit faire moins de 10MB (garde-fou peu coûteux qui écarte les gros fichiers).
  • Le motif $st_movups doit apparaître >= 2 fois.
  • Le motif $st_movq doit apparaître >= 2 fois.
  • Le motif $st_movups doit apparaître >= 1 fois.
  • Le motif $st_movq doit apparaître >= 1 fois.
  • Utilise le module pe.
  • Le motif $winrt_txt doit être présent.
  • Le motif $ld_movups doit être présent.
  • Le motif $ld_movq doit être présent.
  • Le motif $scan_loop doit être présent.
  • Le motif $api_blob doit être présent.
  • Le motif $cmp_len_770 doit être présent.
  • Le motif $cmp_len_76C doit être présent.
  • Vérifie le hash des imports PE (imphash).

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).

  • 154e800ed1719dbdcb188c00d5822444717c2a89017f2d12b8511eeeda0c2f41

Licence et attribution

Auteur : Arda Buyukkaya

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: e6ec0af5-71d3-520a-a671-8634ac2f926f

Métadonnées

familyGodRAT
victimsFinancial services

Tags:GODRATRATWINDOWSGH0ST_RATGETGODFILE