YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_MAL_Netfilter_May_2021_1_1
Detects Netfilter rootkit
- Autor
- Arkbird_SOLG
- Fecha
- 2020-06-18
- Modificada
- 2023-12-05
- Puntuación / Calidad
- 75 / 83
Qué detecta esta regla
Detects Netfilter rootkit
Objetivos: PE de Windows.
Define 7 patrones (2 de texto, 5 hex, 0 regex).
YARA-X dice: warning[text_as_hex]: hex pattern could be written as text literal
Resumen generado a partir de los metadatos y la condición de la regla.
Código de la regla
rule SIGNATURE_BASE_MAL_Netfilter_May_2021_1_1 : FILE
{
meta:
= "Detects Netfilter rootkit"
= "Arkbird_SOLG"
= "0ac01eb3-435b-52b0-b8e8-ace2ebb34f60"
= "2020-06-18"
= "2023-12-05"
= "https://twitter.com/struppigel/status/1405483373280235520"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_cn_netfilter.yar#L28-L52"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "63d61549030fcf46ff1dc138122580b4364f0fe99e6b068bc6a3d6903656aff0"
= "8249e9c0ac0840a36d9a5b9ff3e217198a2f533159acd4bf3d9b0132cc079870"
= "d64f906376f21677d0585e93dae8b36248f94be7091b01fd1d4381916a326afe"
= "ba72bbc38c27d0c8d6eea7d513c3ca40276edd929c93abae4098639f7d7649a5"
= 75
= 83
= "FILE"
= "White"
= "Chinese APT Group"
strings:
$seq1 = { 48 8b 05 a9 57 ff ff 45 33 c9 49 b8 32 a2 df 2d 99 2b 00 00 48 85 c0 74 05 49 3b c0 75 38 0f 31 48 c1 e2 20 48 8d 0d 85 57 ff ff 48 0b c2 48 33 c1 48 89 05 78 57 ff ff 66 44 89 0d 76 57 ff ff 48 8b 05 69 57 ff ff 48 85 c0 75 0a 49 8b c0 48 89 05 5a 57 ff ff 48 f7 d0 48 89 05 58 57 }
$seq2 = { 48 83 ec 38 48 83 64 24 20 00 48 8d 05 83 4c 00 00 48 8d 15 24 d1 00 00 48 89 44 24 28 48 8d 4c 24 20 e8 4d 05 00 00 85 c0 78 16 4c 8d 05 22 d1 00 00 83 ca ff 48 8d 0d 00 d1 00 00 e8 39 05 00 00 48 83 c4 }
$seq3 = { 45 33 c0 48 8d 4c 24 40 41 8d 50 01 ff 15 5d 62 00 00 c6 84 24 88 00 00 00 01 48 8d 84 24 88 00 00 00 48 89 46 18 48 8d 0d e2 fe ff ff 48 89 9e c0 00 00 00 48 8d 44 24 40 48 89 46 50 48 8d 44 24 30 48 89 46 48 65 48 8b 04 25 88 01 00 00 48 89 86 98 00 00 00 48 8b 86 b8 00 00 00 40 88 7e 40 c6 40 b8 06 4c 89 78 e0 48 89 58 e8 c7 40 c0 01 00 00 00 c7 40 c8 0d 00 00 00 48 89 58 d0 48 8b 86 b8 00 00 00 48 89 48 f0 48 8d 4c 24 40 48 89 48 f8 c6 40 bb e0 48 8b 43 28 48 85 c0 74 2f 48 8b 48 10 48 85 c9 74 07 48 21 78 10 4c 8b f1 48 8b 08 48 85 c9 74 06 48 21 38 48 8b e9 48 8b 48 08 48 85 c9 74 08 48 83 60 08 00 48 8b f9 48 8b d6 49 8b cf ff 15 74 61 00 00 3d 03 01 00 00 75 19 48 83 64 24 20 00 48 8d 4c 24 40 41 b1 01 45 33 c0 33 d2 ff 15 64 61 00 00 48 8b 43 28 48 85 c0 74 1a 4d }
$seq4 = { 8b 84 24 80 00 00 00 48 8d 54 24 38 48 8b 4c 24 30 44 8b ce 89 44 24 28 45 33 c0 48 89 7c 24 20 ff 15 66 2e 00 00 48 8b 4c 24 30 8b d8 ff 15 49 2e 00 00 48 8b 4c 24 30 ff 15 26 2d 00 00 8b }
$s1 = "%sc=%s" fullword ascii
$s2 = { 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 }
$s3 = "NETIO.SYS" fullword ascii
condition:
uint16( 0 ) == 0x5a4d and filesize > 20KB and filesize < 1000KB and ( 3 of ( $seq* ) or 2 of ( $s* ) )
}
Cadenas (7 patrones)
| Identificador | Tipo | Valor | Modificadores |
|---|---|---|---|
| $seq1 | hex | { 48 8b 05 a9 57 ff ff 45 33 c9 49 b8 32 a2 df 2d 99 2b 00 00 48 85 c0 74 05 49 3b c0 75 38 0f 31 48 c1 e2 20 48 8d 0d 85 57 ff ff 48 0b c2 48 33 c1 48 89 05 78 … | |
| $seq2 | hex | { 48 83 ec 38 48 83 64 24 20 00 48 8d 05 83 4c 00 00 48 8d 15 24 d1 00 00 48 89 44 24 28 48 8d 4c 24 20 e8 4d 05 00 00 85 c0 78 16 4c 8d 05 22 d1 00 00 83 ca ff … | |
| $seq3 | hex | { 45 33 c0 48 8d 4c 24 40 41 8d 50 01 ff 15 5d 62 00 00 c6 84 24 88 00 00 00 01 48 8d 84 24 88 00 00 00 48 89 46 18 48 8d 0d e2 fe ff ff 48 89 9e c0 00 00 00 48 … | |
| $seq4 | hex | { 8b 84 24 80 00 00 00 48 8d 54 24 38 48 8b 4c 24 30 44 8b ce 89 44 24 28 45 33 c0 48 89 7c 24 20 ff 15 66 2e 00 00 48 8b 4c 24 30 8b d8 ff 15 49 2e 00 00 48 8b … | |
| $s1 | texto | "%sc=%s" | fullword ascii |
| $s2 | hex | { 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 30 32 78 25 … | |
| $s3 | texto | "NETIO.SYS" | fullword ascii |
Condición
uint16( 0 ) == 0x5a4d and filesize > 20KB and filesize < 1000KB and ( 3 of ( $seq* ) or 2 of ( $s* ) )En palabras sencillas (Heurística)
- El archivo debe empezar por «MZ»: un ejecutable de Windows (PE).
- El archivo debe ocupar menos de 1000KB (un límite barato que descarta archivos grandes).
- El archivo debe ocupar más de 20KB.
- Deben coincidir al menos 3 patrones de ( $seq* ).
- Deben coincidir al menos 2 patrones de ( $s* ).
Prueba esta regla en tu navegador
Arrastra un archivo para escanearlo con esta regla usando YARA-X compilado a WebAssembly. No se sube nada.
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).
- 63d61549030fcf46ff1dc138122580b4364f0fe99e6b068bc6a3d6903656aff0
- 8249e9c0ac0840a36d9a5b9ff3e217198a2f533159acd4bf3d9b0132cc079870
- d64f906376f21677d0585e93dae8b36248f94be7091b01fd1d4381916a326afe
Licencia y atribución
Autor: Arkbird_SOLG
Repositorio de origen: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a
Licencia: Detection Rule License 1.1 (licencia del repositorio)
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: 0ac01eb3-435b-52b0-b8e8-ace2ebb34f60
Metadatos
| tlp | White |
|---|---|
| adversary | Chinese APT Group |
Etiquetas:FILE
Reglas relacionadas
- MalwareSignature Base (Florian Roth / Nextron)· Arkbird_SOLG· 2020-07-30
- MalwareSignature Base (Florian Roth / Nextron)· Arkbird_SOLG· 2020-06-18
- Herramienta ofensivaSignature Base (Florian Roth / Nextron)· Arkbird_SOLG· 2022-11-22
- APT / actorSignature Base (Florian Roth / Nextron)· Arkbird_SOLG· 2020-08-24
- ExploitSignature Base (Florian Roth / Nextron)· Arkbird_SOLG· 2021-05-04