YARA · ditekSHen detection
DITEKSHEN_MALWARE_Win_Protonbot
Detects ProtonBot loader
- Author
- ditekSHen
- Date
- 2020-11-06
- Modified
- 2024-11-01
- Score / Quality
- 75 / 75
What this rule detects
Detects ProtonBot loader
Associated malware family: Protonbot.
Targets: Windows PE.
It defines 9 patterns (9 text, 0 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
malware-win-protonbot.yarBSD 2-Clause License
rule DITEKSHEN_MALWARE_Win_Protonbot : FILE
{
meta:
= "Detects ProtonBot loader"
= "ditekSHen"
= "b0d08378-0297-5e70-99f1-1dc0fec6fa01"
= "2020-11-06"
= "2024-11-01"
= "https://github.com/ditekshen/detection"
= "https://github.com/ditekshen/detection/blob/e76c93dcdedff04076380ffc60ea54e45b313635/yara/malware.yar#L2952-L2969"
= "https://github.com/ditekshen/detection/blob/e76c93dcdedff04076380ffc60ea54e45b313635/LICENSE.txt"
= "b511dfd47109d36ffc7fcb23b49779e1164d50a28061ab724d7a2c744ac23ac8"
= 75
= 75
= "FILE"
= "MALWARE.Win.Trojan.ProtonBot"
strings:
$x1 = "\\PROTON\\Release\\build.pdb" ascii
$x2 = "\\proton\\proton bot\\json.hpp" wide
$x3 = "proton bot" ascii wide
$s1 = "endptr == token_buffer.data() + token_buffer.size()" fullword wide
$s2 = "ranges.size() == 2 or ranges.size() == 4 or ranges.size() == 6" fullword wide
$s3 = "ref_stack.back()->is_array() or ref_stack.back()->is_object()" fullword wide
$s4 = "ktmw32.dll" fullword ascii
$s5 = "@detail@nlohmann@@" ascii
$s6 = "urlmon.dll" fullword ascii
condition:
uint16( 0 ) == 0x5a4d and ( 2 of ( $x* ) or ( all of ( $s* ) and 1 of ( $x* ) ) )
}
Strings (9 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $x1 | text | "\\PROTON\\Release\\build.pdb" | ascii |
| $x2 | text | "\\proton\\proton bot\\json.hpp" | wide |
| $x3 | text | "proton bot" | ascii wide |
| $s1 | text | "endptr == token_buffer.data() + token_buffer.size()" | fullword wide |
| $s2 | text | "ranges.size() == 2 or ranges.size() == 4 or ranges.size() == 6" | fullword wide |
| $s3 | text | "ref_stack.back()->is_array() or ref_stack.back()->is_object()" | fullword wide |
| $s4 | text | "ktmw32.dll" | fullword ascii |
| $s5 | text | "@detail@nlohmann@@" | ascii |
| $s6 | text | "urlmon.dll" | fullword ascii |
Condition
uint16( 0 ) == 0x5a4d and ( 2 of ( $x* ) or ( all of ( $s* ) and 1 of ( $x* ) ) )In plain words (Heuristic)
- The file must start with “MZ” — a Windows executable (PE).
- All patterns in ( $s* ) must match.
- At least 2 patterns in ( $x* ) must match.
- At least 1 patterns in ( $x* ) 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.
Drop a file here or click to chooseScanned locally with YARA-X. Files up to 200 MB.
References
Licence & attribution
Author: ditekSHen
Source repository: ditekSHen detection @ e76c93dcde
Licence: BSD 2-Clause License (repository licence)
Copyright notice: Copyright 2021 by ditekSHen (https://github.com/ditekshen/detection).
Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.
Rule id: b0d08378-0297-5e70-99f1-1dc0fec6fa01
Metadata
| clamav_sig | MALWARE.Win.Trojan.ProtonBot |
|---|
Tags:FILE
Related rules
- MalwareMalpedia signator rules· Felix Bilstein - yara-signator at cocacoding dot com· 2026-05-04
- MalwareditekSHen detection· ditekSHen· 2034-02-17
- MalwareditekSHen detection· ditekSHen· 2020-11-06
- MalwareditekSHen detection· ditekSHen· 2020-11-06
- MalwareditekSHen detection· ditekSHen· 2020-11-06
- MalwareditekSHen detection· ditekSHen· 2020-11-06
- MalwareditekSHen detection· ditekSHen· 2020-11-06
- MalwareditekSHen detection· ditekSHen· 2020-11-06