Aller au contenu

YARA · Google Cloud Threat Intelligence (GCTI)

GCTI_Cobaltstrike_Resources_Template_X86_Vba_V3_8_To_V4_X

Cobalt Strike's resources/template.x86.vba signature for versions v3.8 to v4.x

Outil offensifCobalt StrikeGoogle Cloud Threat Intelligence (GCTI)Apache License 2.0Compile avec YARA-X
Auteur
gssincla@google.com
Date
2022-11-18
Modifiée
2022-11-19
Score / Qualité
75 / 85

Ce que détecte cette règle

Cobalt Strike's resources/template.x86.vba signature for versions v3.8 to v4.x

Famille de malware associée : Cobalt Strike.

Elle définit 7 motifs (7 texte, 0 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

cobaltstrike-resources-template-x86-vba-v3-8-to-v4-x.yarApache License 2.0
rule GCTI_Cobaltstrike_Resources_Template_X86_Vba_V3_8_To_V4_X
{
	meta:
		description = "Cobalt Strike's resources/template.x86.vba signature for versions v3.8 to v4.x"
		author = "gssincla@google.com"
		id = "11c7758e-93b2-5fe3-873d-b98de579d2b4"
		date = "2022-11-18"
		modified = "2022-11-19"
		reference = "https://cloud.google.com/blog/products/identity-security/making-cobalt-strike-harder-for-threat-actors-to-abuse"
		source_url = "https://github.com/chronicle/GCTI/blob/1c5fd42b1895098527fde00c2d9757edf6b303bb/YARA/CobaltStrike/CobaltStrike__Resources_Template_x86_Vba_v3_8_to_v4_x.yara#L17-L37"
		license_url = "https://github.com/chronicle/GCTI/blob/1c5fd42b1895098527fde00c2d9757edf6b303bb/LICENSE"
		hash = "fc66cb120e7bc9209882620f5df7fdf45394c44ca71701a8662210cf3a40e142"
		logic_hash = "7114515477d82651806eccef34f599f6ffd4614f987dee29417ac6ef7a1a1c38"
		score = 75
		quality = 85
		tags = ""

	strings:
		$createstuff = "Function CreateStuff Lib \"kernel32\" Alias \"CreateRemoteThread\"" nocase
		$allocstuff = "Function AllocStuff Lib \"kernel32\" Alias \"VirtualAllocEx\"" nocase
		$writestuff = "Function WriteStuff Lib \"kernel32\" Alias \"WriteProcessMemory\"" nocase
		$runstuff = "Function RunStuff Lib \"kernel32\" Alias \"CreateProcessA\"" nocase
		$vars = "Dim rwxpage As Long" nocase
		$res = "RunStuff(sNull, sProc, ByVal 0&, ByVal 0&, ByVal 1&, ByVal 4&, ByVal 0&, sNull, sInfo, pInfo)"
		$rwxpage = "AllocStuff(pInfo.hProcess, 0, UBound(myArray), &H1000, &H40)"

	condition:
		all of them and @vars [ 1 ] < @res [ 1 ] and @allocstuff [ 1 ] < @rwxpage [ 1 ]
}

Chaînes (7 motifs)

IdentifiantTypeValeurModificateurs
$createstufftexte"Function CreateStuff Lib \"kernel32\" Alias \"CreateRemoteThread\""nocase
$allocstufftexte"Function AllocStuff Lib \"kernel32\" Alias \"VirtualAllocEx\""nocase
$writestufftexte"Function WriteStuff Lib \"kernel32\" Alias \"WriteProcessMemory\""nocase
$runstufftexte"Function RunStuff Lib \"kernel32\" Alias \"CreateProcessA\""nocase
$varstexte"Dim rwxpage As Long"nocase
$restexte"RunStuff(sNull, sProc, ByVal 0&, ByVal 0&, ByVal 1&, ByVal 4&, ByVal 0&, sNull, sInfo, pInfo)"
$rwxpagetexte"AllocStuff(pInfo.hProcess, 0, UBound(myArray), &H1000, &H40)"

Condition

all of them and @vars [ 1 ] < @res [ 1 ] and @allocstuff [ 1 ] < @rwxpage [ 1 ]

En clair (Heuristique)

  • Tous les motifs de la règle doivent être trouvés.

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

  • fc66cb120e7bc9209882620f5df7fdf45394c44ca71701a8662210cf3a40e142

Licence et attribution

Auteur : gssincla@google.com

Dépôt source : Google Cloud Threat Intelligence (GCTI) @ 1c5fd42b18

Licence : Apache License 2.0 (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: 11c7758e-93b2-5fe3-873d-b98de579d2b4

Plus de règles Cobalt Strike