YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_MAL_Ransom_Ragnarlocker_July_2020_1
Detects Ragnarlocker by strings (July 2020)
- Author
- Arkbird_SOLG
- Date
- 2020-07-30
- Modified
- 2023-12-05
- Score / Quality
- 75 / 83
What this rule detects
Detects Ragnarlocker by strings (July 2020)
Associated malware family: Ragnarlocker.
Targets: Windows PE.
It defines 21 patterns (21 text, 0 hex, 0 regex). YARA modules used: pe.
Summary generated from the rule's metadata and condition.
Rule source
Includes the imports needed to compile it on its own.
import "pe"
rule SIGNATURE_BASE_MAL_Ransom_Ragnarlocker_July_2020_1 : FILE
{
meta:
= "Detects Ragnarlocker by strings (July 2020)"
= "Arkbird_SOLG"
= "60e09057-d9f8-5e89-8f47-c5dda32806c6"
= "2020-07-30"
= "2023-12-05"
= "https://twitter.com/JAMESWT_MHT/status/1288797666688851969"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/crime_ransom_ragna_locker.yar#L38-L70"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "04c9cc0d1577d5ee54a4e2d4dd12f17011d13703cdd0e6efd46718d14fd9aa87"
= "dc44da2f9023e0702afa8081e85ba817ebfde15f449261fae9de729d51262b04"
= 75
= 83
= "FILE"
strings:
$f1 = "bootfont.bin" fullword wide
$f2 = "bootmgr.efi" fullword wide
$f3 = "bootsect.bak" fullword wide
$r1 = "$!.txt" fullword wide
$r2 = "---BEGIN KEY R_R---" fullword ascii
$r3 = "!$R4GN4R_" wide
$r4 = "RAGNRPW" fullword ascii
$r5 = "---END KEY R_R---" fullword ascii
$a1 = "+RhRR!-uD8'O&Wjq1_P#Rw<9Oy?n^qSP6N{BngxNK!:TG*}\\|W]o?/]H*8z;26X0" fullword ascii
$a2 = "\\\\.\\PHYSICALDRIVE%d" fullword wide
$a3 = "WinSta0\\Default" fullword wide
$a4 = "%s-%s-%s-%s-%s" fullword wide
$a5 = "SOFTWARE\\Microsoft\\Cryptography" fullword wide
$c1 = "-backup" fullword wide
$c2 = "-force" fullword wide
$c3 = "-vmback" fullword wide
$c4 = "-list" fullword wide
$s1 = ".ragn@r_" wide
$s2 = "\\notepad.exe" wide
$s3 = "Opera Software" fullword wide
$s4 = "Tor browser" fullword wide
condition:
uint16( 0 ) == 0x5a4d and filesize < 30KB and ( pe.imphash ( ) == "2c2aab89a4cba444cf2729e2ed61ed4f" and ( ( 2 of ( $f* ) ) and ( 3 of ( $r* ) ) and ( 4 of ( $a* ) ) and ( 2 of ( $c* ) ) and ( 2 of ( $s* ) ) ) )
}
Strings (21 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $f1 | text | "bootfont.bin" | fullword wide |
| $f2 | text | "bootmgr.efi" | fullword wide |
| $f3 | text | "bootsect.bak" | fullword wide |
| $r1 | text | "$!.txt" | fullword wide |
| $r2 | text | "---BEGIN KEY R_R---" | fullword ascii |
| $r3 | text | "!$R4GN4R_" | wide |
| $r4 | text | "RAGNRPW" | fullword ascii |
| $r5 | text | "---END KEY R_R---" | fullword ascii |
| $a1 | text | "+RhRR!-uD8'O&Wjq1_P#Rw<9Oy?n^qSP6N{BngxNK!:TG*}\\|W]o?/]H*8z;26X0" | fullword ascii |
| $a2 | text | "\\\\.\\PHYSICALDRIVE%d" | fullword wide |
| $a3 | text | "WinSta0\\Default" | fullword wide |
| $a4 | text | "%s-%s-%s-%s-%s" | fullword wide |
| $a5 | text | "SOFTWARE\\Microsoft\\Cryptography" | fullword wide |
| $c1 | text | "-backup" | fullword wide |
| $c2 | text | "-force" | fullword wide |
| $c3 | text | "-vmback" | fullword wide |
| $c4 | text | "-list" | fullword wide |
| $s1 | text | ".ragn@r_" | wide |
| $s2 | text | "\\notepad.exe" | wide |
| $s3 | text | "Opera Software" | fullword wide |
| $s4 | text | "Tor browser" | fullword wide |
Condition
uint16( 0 ) == 0x5a4d and filesize < 30KB and ( pe.imphash ( ) == "2c2aab89a4cba444cf2729e2ed61ed4f" and ( ( 2 of ( $f* ) ) and ( 3 of ( $r* ) ) and ( 4 of ( $a* ) ) and ( 2 of ( $c* ) ) and ( 2 of ( $s* ) ) ) )In plain words (Heuristic)
- The file must start with “MZ” — a Windows executable (PE).
- The file must be smaller than 30KB (a cheap guard that skips large files).
- At least 2 patterns in ( $f* ) must match.
- At least 3 patterns in ( $r* ) must match.
- At least 4 patterns in ( $a* ) must match.
- At least 2 patterns in ( $c* ) must match.
- At least 2 patterns in ( $s* ) must match.
- Uses the pe module.
- Checks the PE import hash (imphash).
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).
- 04c9cc0d1577d5ee54a4e2d4dd12f17011d13703cdd0e6efd46718d14fd9aa87
Licence & attribution
Author: Arkbird_SOLG
Source repository: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a
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: 60e09057-d9f8-5e89-8f47-c5dda32806c6
Tags:FILE
Related rules
- MalwareMalpedia signator rules· Felix Bilstein - yara-signator at cocacoding dot com· 2026-05-04
- MalwareTrellix Advanced Research Center· McAfee ATR team· 2020-06-14
- MalwareSignature Base (Florian Roth / Nextron)· Arkbird_SOLG· 2020-06-18
- MalwareSignature Base (Florian Roth / Nextron)· Arkbird_SOLG· 2020-06-18
- Hack toolSignature Base (Florian Roth / Nextron)· Arkbird_SOLG· 2022-11-22
- APT / threat actorSignature Base (Florian Roth / Nextron)· Arkbird_SOLG· 2020-08-24
- ExploitSignature Base (Florian Roth / Nextron)· Arkbird_SOLG· 2021-05-04