YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_APT_Backdoor_Win_GORAT_4_1
Verifies that the sample is a Windows PE that is less than 10MB in size and exports numerous functions that are known to be exported by the Gorat implant. This is done in an effort to provide detection for packed samples that may not have other strings but will need to replicate exports to maintain functionality.
- Auteur
- FireEye
- Date
- 2020-12-08
- Modifiée
- 2025-02-12
- Score / Qualité
- 75 / 85
Ce que détecte cette règle
Verifies that the sample is a Windows PE that is less than 10MB in size and exports numerous functions that are known to be exported by the Gorat implant. This is done in an effort to provide detection for packed samples that may not have other strings but will need to replicate exports to maintain functionality.
Cibles : PE Windows.
Elle n’a aucun motif : la condition seule décide (modules, propriétés du fichier ou autres règles). Modules YARA utilisés : pe.
Résumé généré à partir des métadonnées et de la condition de la règle.
Source de la règle
Inclut les imports nécessaires pour la compiler seule.
import "pe"
rule SIGNATURE_BASE_APT_Backdoor_Win_GORAT_4_1 : FILE
{
meta:
= "Verifies that the sample is a Windows PE that is less than 10MB in size and exports numerous functions that are known to be exported by the Gorat implant. This is done in an effort to provide detection for packed samples that may not have other strings but will need to replicate exports to maintain functionality."
= "FireEye"
= "ae67445c-e7fd-5858-be8b-7ee84a16a031"
= "2020-12-08"
= "2025-02-12"
= "https://www.fireeye.com/blog/products-and-services/2020/12/fireeye-shares-details-of-recent-cyber-attack-actions-to-protect-community.html"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/gen_fireeye_redteam_tools.yar#L1706-L1716"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "f59095f0ab15f26a1ead7eed8cdb4902"
= "fa76e994beb2ab1b7950cf9d6391adf4e1ba45586a14a6340fa8a25a904821e4"
= 75
= 85
= "FILE"
condition:
uint16( 0 ) == 0x5A4D and uint32( uint32( 0x3C ) ) == 0x00004550 and filesize < 10MB and pe.exports ( "MemoryCallEntryPoint" ) and pe.exports ( "MemoryDefaultAlloc" ) and pe.exports ( "MemoryDefaultFree" ) and pe.exports ( "MemoryDefaultFreeLibrary" ) and pe.exports ( "MemoryDefaultGetProcAddress" ) and pe.exports ( "MemoryDefaultLoadLibrary" ) and pe.exports ( "MemoryFindResource" ) and pe.exports ( "MemoryFindResourceEx" ) and pe.exports ( "MemoryFreeLibrary" ) and pe.exports ( "MemoryGetProcAddress" ) and pe.exports ( "MemoryLoadLibrary" ) and pe.exports ( "MemoryLoadLibraryEx" ) and pe.exports ( "MemoryLoadResource" ) and pe.exports ( "MemoryLoadString" ) and pe.exports ( "MemoryLoadStringEx" ) and pe.exports ( "MemorySizeofResource" ) and pe.exports ( "callback" ) and pe.exports ( "crosscall2" ) and pe.exports ( "crosscall_386" )
}
Condition
uint16( 0 ) == 0x5A4D and uint32( uint32( 0x3C ) ) == 0x00004550 and filesize < 10MB and pe.exports ( "MemoryCallEntryPoint" ) and pe.exports ( "MemoryDefaultAlloc" ) and pe.exports ( "MemoryDefaultFree" ) and pe.exports ( "MemoryDefaultFreeLibrary" ) and pe.exports ( "MemoryDefaultGetProcAddress" ) and pe.exports ( "MemoryDefaultLoadLibrary" ) and pe.exports ( "MemoryFindResource" ) and pe.exports ( "MemoryFindResourceEx" ) and pe.exports ( "MemoryFreeLibrary" ) and pe.exports ( "MemoryGetProcAddress" ) and pe.exports ( "MemoryLoadLibrary" ) and pe.exports ( "MemoryLoadLibraryEx" ) and pe.exports ( "MemoryLoadResource" ) and pe.exports ( "MemoryLoadString" ) and pe.exports ( "MemoryLoadStringEx" ) and pe.exports ( "MemorySizeofResource" ) and pe.exports ( "callback" ) and pe.exports ( "crosscall2" ) and pe.exports ( "crosscall_386" )En clair (Heuristique)
- Le fichier doit commencer par « MZ » — un exécutable Windows (PE).
- Le fichier doit faire moins de 10MB (garde-fou peu coûteux qui écarte les gros fichiers).
- Utilise le module pe.
- Vérifie des fonctions exportées ou le nom de la DLL.
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é.
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).
- f59095f0ab15f26a1ead7eed8cdb4902
Licence et attribution
Auteur : FireEye
Dépôt source : Signature Base (Florian Roth / Nextron) @ 94a1c48d7a
Licence : Detection Rule License 1.1 (licence du dépôt)
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: ae67445c-e7fd-5858-be8b-7ee84a16a031
Tags:FILE
Règles liées
- APT / acteurSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-14
- APT / acteurSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-14
- APT / acteurSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-14
- APT / acteurSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-14
- APT / acteurSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-01
- APT / acteurSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-14
- APT / acteurSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-14
- APT / acteurSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-08