Aller au contenu

YARA · Volexity threat-intel

VOLEXITY_Apt_Malware_Js_Sharpext

A malicious Chrome browser extension used by the SharpPine threat actor to steal Gmail data from a victim.

APT / acteurVolexity threat-intelBSD 2-Clause LicenseCompile avec YARA-X
Auteur
threatintel@volexity.com
Date
2021-09-14
Modifiée
2025-05-21
Score / Qualité
75 / 80

Ce que détecte cette règle

A malicious Chrome browser extension used by the SharpPine threat actor to steal Gmail data from a victim.

Elle définit 19 motifs (19 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

apt-malware-js-sharpext.yarBSD 2-Clause License
rule VOLEXITY_Apt_Malware_Js_Sharpext : SHARPPINE FILE MEMORY
{
	meta:
		description = "A malicious Chrome browser extension used by the SharpPine threat actor to steal Gmail data from a victim."
		author = "threatintel@volexity.com"
		id = "61b5176a-ff73-5fce-bc70-c9e09bb5afed"
		date = "2021-09-14"
		modified = "2025-05-21"
		reference = "https://github.com/volexity/threat-intel"
		source_url = "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/2022/2022-07-28 SharpTongue SharpTongue Deploys Clever Mail-Stealing Browser Extension SHARPEXT/yara.yar#L1-L52"
		license_url = "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/LICENSE.txt"
		hash = "1c9664513fe226beb53268b58b11dacc35b80a12c50c22b76382304badf4eb00"
		hash = "6025c66c2eaae30c0349731beb8a95f8a5ba1180c5481e9a49d474f4e1bb76a4"
		hash = "6594b75939bcdab4253172f0fa9066c8aee2fa4911bd5a03421aeb7edcd9c90c"
		logic_hash = "0ed58c8646582ee36aeac650fac02d1e4962d45c0f6a24783c021d9267bed192"
		score = 75
		quality = 80
		tags = "SHARPPINE, FILE, MEMORY"
		os = "all"
		os_arch = "all"
		scan_context = "file,memory"
		severity = "critical"
		license = "See license at https://github.com/volexity/threat-intel/blob/main/LICENSE.txt"
		rule_id = 5916
		version = 5

	strings:
		$s1 = "\"mode=attach&name=\"" ascii
		$s2 = "\"mode=new&mid=\"" ascii
		$s3 = "\"mode=attlist\"" ascii
		$s4 = "\"mode=list\"" ascii
		$s5 = "\"mode=domain\"" ascii
		$s6 = "\"mode=black\"" ascii
		$s7 = "\"mode=newD&d=\"" ascii
		$mark1 = "chrome.runtime.onMessage.addListener" ascii
		$mark2 = "chrome.webNavigation.onCompleted.addListener" ascii
		$enc1 = "function BSue(string){" ascii
		$enc2 = "function BSE(input){" ascii
		$enc3 = "function bin2hex(byteArray)" ascii
		$xhr1 = ".send(\"mode=cd1" ascii
		$xhr2 = ".send(\"mode=black" ascii
		$xhr3 = ".send(\"mode=domain" ascii
		$xhr4 = ".send(\"mode=list" ascii
		$manifest1 = "\"description\":\"advanced font\"," ascii
		$manifest2 = "\"scripts\":[\"bg.js\"]" ascii
		$manifest3 = "\"devtools_page\":\"dev.html\"" ascii

	condition:
		(5 of ( $s* ) and all of ( $mark* ) ) or all of ( $enc* ) or 3 of ( $xhr* ) or 2 of ( $manifest* )
}

Chaînes (19 motifs)

IdentifiantTypeValeurModificateurs
$s1texte"\"mode=attach&name=\""ascii
$s2texte"\"mode=new&mid=\""ascii
$s3texte"\"mode=attlist\""ascii
$s4texte"\"mode=list\""ascii
$s5texte"\"mode=domain\""ascii
$s6texte"\"mode=black\""ascii
$s7texte"\"mode=newD&d=\""ascii
$mark1texte"chrome.runtime.onMessage.addListener"ascii
$mark2texte"chrome.webNavigation.onCompleted.addListener"ascii
$enc1texte"function BSue(string){"ascii
$enc2texte"function BSE(input){"ascii
$enc3texte"function bin2hex(byteArray)"ascii
$xhr1texte".send(\"mode=cd1"ascii
$xhr2texte".send(\"mode=black"ascii
$xhr3texte".send(\"mode=domain"ascii
$xhr4texte".send(\"mode=list"ascii
$manifest1texte"\"description\":\"advanced font\","ascii
$manifest2texte"\"scripts\":[\"bg.js\"]"ascii
$manifest3texte"\"devtools_page\":\"dev.html\""ascii

Condition

(5 of ( $s* ) and all of ( $mark* ) ) or all of ( $enc* ) or 3 of ( $xhr* ) or 2 of ( $manifest* )

En clair (Heuristique)

  • Tous les motifs de ( $mark* ) doivent être trouvés.
  • Tous les motifs de ( $enc* ) doivent être trouvés.
  • Au moins 5 motifs de ( $s* ) doivent être trouvés.
  • Au moins 3 motifs de ( $xhr* ) doivent être trouvés.
  • Au moins 2 motifs de ( $manifest* ) 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).

  • 1c9664513fe226beb53268b58b11dacc35b80a12c50c22b76382304badf4eb00
  • 6025c66c2eaae30c0349731beb8a95f8a5ba1180c5481e9a49d474f4e1bb76a4
  • 6594b75939bcdab4253172f0fa9066c8aee2fa4911bd5a03421aeb7edcd9c90c

Licence et attribution

Auteur : threatintel@volexity.com

Dépôt source : Volexity threat-intel @ 3a9d0b5245

Licence : BSD 2-Clause License (indiquée dans les métadonnées de la règle)

“See license at https://github.com/volexity/threat-intel/blob/main/LICENSE.txt”

Mention de copyright : Copyright 2022 by Volexity, Inc.

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: 61b5176a-ff73-5fce-bc70-c9e09bb5afed

Métadonnées

osall
os_archall
scan_contextfile,memory
severitycritical
rule_id5916
version5

Tags:SHARPPINEFILEMEMORY