YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_MAL_CRIME_RAT_WIN_PE_Godrat_Aug25
Detects GodRAT malware targeting Windows systems
- Autor
- Arda Buyukkaya
- Fecha
- 2025-08-23
- Modificada
- 2026-05-15
- Puntuación / Calidad
- 75 / 83
Qué detecta esta regla
Detects GodRAT malware targeting Windows systems
Familia de malware asociada: GodRAT.
Objetivos: PE de Windows.
Define 9 patrones (1 de texto, 8 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.
import "pe"
rule SIGNATURE_BASE_MAL_CRIME_RAT_WIN_PE_Godrat_Aug25 : GODRAT RAT WINDOWS GH0ST_RAT GETGOD FILE
{
meta:
= "Detects GodRAT malware targeting Windows systems"
= "Arda Buyukkaya"
= "e6ec0af5-71d3-520a-a671-8634ac2f926f"
= "2025-08-23"
= "2026-05-15"
= "https://securelist.com/godrat/117119/"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/mal_crime_win_pe_godrat_aug25.yar#L4-L80"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "154e800ed1719dbdcb188c00d5822444717c2a89017f2d12b8511eeeda0c2f41"
= "eda3175277bbf9f6408f5d2dd25d6780552aad4104fe62bb92125c734f9fdd98"
= 75
= 83
= "GODRAT, RAT, WINDOWS, GH0ST RAT, GETGOD, FILE"
= "GodRAT"
= "Financial services"
strings:
$winrt_txt = "C++/WinRT version" ascii wide nocase
$api_blob = {
4E 74 43 72 65 61 74 65 53 65 63 74 69 6F 6E 00 // NtCreateSection
4E 74 4D 61 70 56 69 65 77 4F 66 53 65 63 74 69 6F 6E 00 00 // NtMapViewOfSection
4E 74 55 6E 6D 61 70 56 69 65 77 4F 66 53 65 63 74 69 6F 6E 00 00 00 00 // NtUnmapViewOfSection
}
$ld_movups = { 0F 10 05 ?? ?? ?? ?? }
$ld_movq = { F3 0F 7E 05 ?? ?? ?? ?? }
$st_movups = { 0F 11 85 ?? ?? ?? ?? }
$st_movq = { 66 0F D6 85 ?? ?? ?? ?? }
$scan_loop = { 8A 01 41 84 C0 75 F9 }
$cmp_len_770 = { 81 FF 70 07 00 00 0F 82 ?? ?? ?? ?? }
$cmp_len_76C = { 81 FF 6C 07 00 00 0F 82 ?? ?? ?? ?? }
condition:
pe.is_pe and filesize <= 10MB and ( ( $winrt_txt and ( pe.imphash ( ) == "0f4b0270c84616ce594b6a84c47a7717" ) ) or ( ( $ld_movups or $ld_movq ) and ( ( #st_movups >= 2 ) or ( #st_movq >= 2 ) or ( #st_movups >= 1 and #st_movq >= 1 ) ) and $scan_loop and $api_blob and ( $cmp_len_770 or $cmp_len_76C ) ) or pe.imphash ( ) == "ee5ea868d8233000216e7b29bc8cb4e2" )
}
Cadenas (9 patrones)
| Identificador | Tipo | Valor | Modificadores |
|---|---|---|---|
| $winrt_txt | texto | "C++/WinRT version" | ascii wide nocase |
| $api_blob | hex | { 4E 74 43 72 65 61 74 65 53 65 63 74 69 6F 6E 00 // NtCreateSection 4E 74 4D 61 70 56 69 65 77 4F 66 53 65 63 74 69 … | |
| $ld_movups | hex | { 0F 10 05 ?? ?? ?? ?? } | |
| $ld_movq | hex | { F3 0F 7E 05 ?? ?? ?? ?? } | |
| $st_movups | hex | { 0F 11 85 ?? ?? ?? ?? } | |
| $st_movq | hex | { 66 0F D6 85 ?? ?? ?? ?? } | |
| $scan_loop | hex | { 8A 01 41 84 C0 75 F9 } | |
| $cmp_len_770 | hex | { 81 FF 70 07 00 00 0F 82 ?? ?? ?? ?? } | |
| $cmp_len_76C | hex | { 81 FF 6C 07 00 00 0F 82 ?? ?? ?? ?? } |
Condición
pe.is_pe and filesize <= 10MB and ( ( $winrt_txt and ( pe.imphash ( ) == "0f4b0270c84616ce594b6a84c47a7717" ) ) or ( ( $ld_movups or $ld_movq ) and ( ( #st_movups >= 2 ) or ( #st_movq >= 2 ) or ( #st_movups >= 1 and #st_movq >= 1 ) ) and $scan_loop and $api_blob and ( $cmp_len_770 or $cmp_len_76C ) ) or pe.imphash ( ) == "ee5ea868d8233000216e7b29bc8cb4e2" )En palabras sencillas (Heurística)
- El archivo debe empezar por «MZ»: un ejecutable de Windows (PE).
- El archivo debe ocupar menos de 10MB (un límite barato que descarta archivos grandes).
- El patrón $st_movups debe aparecer >= 2 veces.
- El patrón $st_movq debe aparecer >= 2 veces.
- El patrón $st_movups debe aparecer >= 1 veces.
- El patrón $st_movq debe aparecer >= 1 veces.
- Usa el módulo pe.
- El patrón $winrt_txt debe estar presente.
- El patrón $ld_movups debe estar presente.
- El patrón $ld_movq debe estar presente.
- El patrón $scan_loop debe estar presente.
- El patrón $api_blob debe estar presente.
- El patrón $cmp_len_770 debe estar presente.
- El patrón $cmp_len_76C debe estar presente.
- Comprueba el hash de importaciones PE (imphash).
Prueba esta regla en tu navegador
Arrastra un archivo para escanearlo con esta regla usando YARA-X compilado a WebAssembly. No se sube nada.
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).
- 154e800ed1719dbdcb188c00d5822444717c2a89017f2d12b8511eeeda0c2f41
Licencia y atribución
Autor: Arda Buyukkaya
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: e6ec0af5-71d3-520a-a671-8634ac2f926f
Metadatos
| family | GodRAT |
|---|---|
| victims | Financial services |
Etiquetas:GODRATRATWINDOWSGH0ST_RATGETGODFILE
Reglas relacionadas
- MalwareSignature Base (Florian Roth / Nextron)· Arda Buyukkaya (modified by Florian Roth)· 2025-01-23