Saltar al contenido

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_APT_Webshell_SUPERNOVA_1

SUPERNOVA is a .NET web shell backdoor masquerading as a legitimate SolarWinds web service handler. SUPERNOVA inspects and responds to HTTP requests with the appropriate HTTP query strings, Cookies, and/or HTML form values (e.g. named codes, class, method, and args). This rule is looking for specific strings and attributes related to SUPERNOVA.

APT / actorSupernovaSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compila con YARA-X
Autor
FireEye
Fecha
2020-12-14
Modificada
2023-12-05
Puntuación / Calidad
85 / 81

Qué detecta esta regla

SUPERNOVA is a .NET web shell backdoor masquerading as a legitimate SolarWinds web service handler. SUPERNOVA inspects and responds to HTTP requests with the appropriate HTTP query strings, Cookies, and/or HTML form values (e.g. named codes, class, method, and args). This rule is looking for specific strings and attributes related to SUPERNOVA.

Familia de malware asociada: Supernova.

Objetivos: PE de Windows.

Define 7 patrones (7 de texto, 0 hex, 0 regex). Módulos YARA usados: pe.

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

Código de la regla

Incluye los imports necesarios para compilarla por sí sola.

apt-webshell-supernova-1.yarDetection Rule License 1.1
import "pe"

rule SIGNATURE_BASE_APT_Webshell_SUPERNOVA_1 : FILE
{
	meta:
		description = "SUPERNOVA is a .NET web shell backdoor masquerading as a legitimate SolarWinds web service handler. SUPERNOVA inspects and responds to HTTP requests with the appropriate HTTP query strings, Cookies, and/or HTML form values (e.g. named codes, class, method, and args). This rule is looking for specific strings and attributes related to SUPERNOVA."
		author = "FireEye"
		id = "73a27fa2-a846-5f4b-8182-064ac06c71a8"
		date = "2020-12-14"
		modified = "2023-12-05"
		reference = "https://www.fireeye.com/blog/threat-research/2020/12/evasive-attacker-leverages-solarwinds-supply-chain-compromises-with-sunburst-backdoor.html"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_solarwinds_sunburst.yar#L80-L99"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		logic_hash = "8471e6b3675e7e9ccfe5b81ab4c599668f2de528f3b179a675f50aa1fd7814b2"
		score = 85
		quality = 81
		tags = "FILE"

	strings:
		$compile1 = "CompileAssemblyFromSource"
		$compile2 = "CreateCompiler"
		$context = "ProcessRequest"
		$httpmodule = "IHttpHandler" ascii
		$string1 = "clazz"
		$string2 = "//NetPerfMon//images//NoLogo.gif" wide
		$string3 = "SolarWinds" ascii nocase wide

	condition:
		uint16( 0 ) == 0x5a4d and uint32( uint32( 0x3C ) ) == 0x00004550 and filesize < 10KB and pe.imports ( "mscoree.dll" , "_CorDllMain" ) and $httpmodule and $context and all of ( $compile* ) and all of ( $string* )
}

Cadenas (7 patrones)

IdentificadorTipoValorModificadores
$compile1texto"CompileAssemblyFromSource"
$compile2texto"CreateCompiler"
$contexttexto"ProcessRequest"
$httpmoduletexto"IHttpHandler"ascii
$string1texto"clazz"
$string2texto"//NetPerfMon//images//NoLogo.gif"wide
$string3texto"SolarWinds"ascii nocase wide

Condición

uint16( 0 ) == 0x5a4d and uint32( uint32( 0x3C ) ) == 0x00004550 and filesize < 10KB and pe.imports ( "mscoree.dll" , "_CorDllMain" ) and $httpmodule and $context and all of ( $compile* ) and all of ( $string* )

En palabras sencillas (Heurística)

  • El archivo debe empezar por «MZ»: un ejecutable de Windows (PE).
  • El archivo debe ocupar menos de 10KB (un límite barato que descarta archivos grandes).
  • Deben coincidir todos los patrones de ( $compile* ).
  • Deben coincidir todos los patrones de ( $string* ).
  • Usa el módulo pe.
  • El patrón $httpmodule debe estar presente.
  • El patrón $context debe estar presente.
  • Comprueba funciones o bibliotecas importadas.

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

Licencia y atribución

Autor: FireEye

Repositorio de origen: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a

Licencia: Detection Rule License 1.1 (licencia del repositorio)

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: 73a27fa2-a846-5f4b-8182-064ac06c71a8

Etiquetas:FILE

Más reglas de Supernova