Saltar al contenido

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 / actorVolexity threat-intelBSD 2-Clause LicenseCompila con YARA-X
Autor
threatintel@volexity.com
Fecha
2021-09-14
Modificada
2025-05-21
Puntuación / Calidad
75 / 80

Qué detecta esta regla

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

Define 19 patrones (19 de texto, 0 hex, 0 regex).

Resumen generado a partir de los metadatos y la condición de la regla.

Código de la regla

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* )
}

Cadenas (19 patrones)

IdentificadorTipoValorModificadores
$s1texto"\"mode=attach&name=\""ascii
$s2texto"\"mode=new&mid=\""ascii
$s3texto"\"mode=attlist\""ascii
$s4texto"\"mode=list\""ascii
$s5texto"\"mode=domain\""ascii
$s6texto"\"mode=black\""ascii
$s7texto"\"mode=newD&d=\""ascii
$mark1texto"chrome.runtime.onMessage.addListener"ascii
$mark2texto"chrome.webNavigation.onCompleted.addListener"ascii
$enc1texto"function BSue(string){"ascii
$enc2texto"function BSE(input){"ascii
$enc3texto"function bin2hex(byteArray)"ascii
$xhr1texto".send(\"mode=cd1"ascii
$xhr2texto".send(\"mode=black"ascii
$xhr3texto".send(\"mode=domain"ascii
$xhr4texto".send(\"mode=list"ascii
$manifest1texto"\"description\":\"advanced font\","ascii
$manifest2texto"\"scripts\":[\"bg.js\"]"ascii
$manifest3texto"\"devtools_page\":\"dev.html\""ascii

Condición

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

En palabras sencillas (Heurística)

  • Deben coincidir todos los patrones de ( $mark* ).
  • Deben coincidir todos los patrones de ( $enc* ).
  • Deben coincidir al menos 5 patrones de ( $s* ).
  • Deben coincidir al menos 3 patrones de ( $xhr* ).
  • Deben coincidir al menos 2 patrones de ( $manifest* ).

Prueba esta regla en tu navegador

Arrastra un archivo para escanearlo con esta regla usando YARA-X compilado a WebAssembly. No se sube nada.

Arrastra un archivo aquí o haz clic para elegirSe escanea en local con YARA-X. Archivos de hasta 200 MB.

Abrir en el editor

Referencias

Hashes de muestras

Hashes de las muestras que el autor lista en los metadatos de la regla (búscalos en tu plataforma de threat intelligence).

  • 1c9664513fe226beb53268b58b11dacc35b80a12c50c22b76382304badf4eb00
  • 6025c66c2eaae30c0349731beb8a95f8a5ba1180c5481e9a49d474f4e1bb76a4
  • 6594b75939bcdab4253172f0fa9066c8aee2fa4911bd5a03421aeb7edcd9c90c

Licencia y atribución

Autor: threatintel@volexity.com

Repositorio de origen: Volexity threat-intel @ 3a9d0b5245

Licencia: BSD 2-Clause License (indicada en los metadatos de la regla)

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

Aviso de copyright: Copyright 2022 by Volexity, Inc.

Regla original

Obtenida a través de YARA Forge 20260927, que añade a los nombres el prefijo de la fuente y campos meta normalizados.

Id de la regla: 61b5176a-ff73-5fce-bc70-c9e09bb5afed

Metadatos

osall
os_archall
scan_contextfile,memory
severitycritical
rule_id5916
version5

Etiquetas:SHARPPINEFILEMEMORY