YARA · Cod3nym detection-rules
COD3NYM_MAL_NET_Niximports_Loader_Jan24
Detects open-source NixImports .NET malware loader. A stealthy loader using dynamic import resolving to evade static detection
- Author
- Jonathan Peters
- Date
- 2024-01-12
- Score / Quality
- 80 / 80
What this rule detects
Detects open-source NixImports .NET malware loader. A stealthy loader using dynamic import resolving to evade static detection
Targets: Windows PE.
It defines 7 patterns (3 text, 4 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule COD3NYM_MAL_NET_Niximports_Loader_Jan24 : FILE
{
meta:
= "Detects open-source NixImports .NET malware loader. A stealthy loader using dynamic import resolving to evade static detection"
= "Jonathan Peters"
= "f36ad127-4c4b-5b7e-a13c-bfb9d222a438"
= "2024-01-12"
= "2024-01-12"
= "https://github.com/dr4k0nia/NixImports/tree/master"
= "https://github.com/cod3nym/detection-rules//blob/86a04c4594cb48895192aad4af164f21f568c136/yara/dotnet/mal/mal_net_niximports_loader.yar#L1-L22"
= "https://github.com/cod3nym/detection-rules//blob/86a04c4594cb48895192aad4af164f21f568c136/LICENSE.md"
= "dd3f22871879b0bc4990c96d1de957848c7ed0714635bb036c73d8a989fb0b39"
= "e41d7f4cb46aa0baa87d3024e0550efe5058ca49d908bbd34197431c7c054e58"
= 80
= 80
= "FILE"
strings:
$op1 = { 1F 0A 64 06 1F 11 62 60 }
$op2 = { 03 20 4D 5A 90 00 94 4B 2A }
$op3 = { 20 DE 7A 1F F3 20 F7 1B 18 BC }
$op4 = { 20 CE 1F BE 70 20 DF 1F 3E F8 14 }
$sa1 = "OffsetToStringData" ascii
$sa2 = "GetRuntimeMethods" ascii
$sa3 = "netstandard" ascii
condition:
uint16( 0 ) == 0x5a4d and all of ( $sa* ) and 2 of ( $op* )
}
Strings (7 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $op1 | hex | { 1F 0A 64 06 1F 11 62 60 } | |
| $op2 | hex | { 03 20 4D 5A 90 00 94 4B 2A } | |
| $op3 | hex | { 20 DE 7A 1F F3 20 F7 1B 18 BC } | |
| $op4 | hex | { 20 CE 1F BE 70 20 DF 1F 3E F8 14 } | |
| $sa1 | text | "OffsetToStringData" | ascii |
| $sa2 | text | "GetRuntimeMethods" | ascii |
| $sa3 | text | "netstandard" | ascii |
Condition
uint16( 0 ) == 0x5a4d and all of ( $sa* ) and 2 of ( $op* )In plain words (Heuristic)
- The file must start with “MZ” — a Windows executable (PE).
- All patterns in ( $sa* ) must match.
- At least 2 patterns in ( $op* ) must match.
Test this rule in your browser
Drop a file to scan it with this rule using YARA-X compiled to WebAssembly. Nothing is uploaded.
Sample hashes
Hashes of samples the author lists in the rule's meta (look them up in your threat-intelligence platform).
- dd3f22871879b0bc4990c96d1de957848c7ed0714635bb036c73d8a989fb0b39
Licence & attribution
Author: Jonathan Peters
Source repository: Cod3nym detection-rules @ 86a04c4594
Licence: Detection Rule License 1.1 (repository licence)
Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.
Rule id: f36ad127-4c4b-5b7e-a13c-bfb9d222a438
Tags:FILE
Related rules
- MalwareCod3nym detection-rules· Jonathan Peters· 2024-01-16
- GenericCod3nym detection-rules· Jonathan Peters· 2024-01-02
- Suspicious / huntingCod3nym detection-rules· Jonathan Peters· 2024-01-09
- Suspicious / huntingCod3nym detection-rules· Jonathan Peters· 2024-01-14
- Suspicious / huntingCod3nym detection-rules· Jonathan Peters· 2024-01-11
- Suspicious / huntingCod3nym detection-rules· Jonathan Peters· 2024-01-09
- Suspicious / huntingCod3nym detection-rules· Jonathan Peters· 2024-01-05