YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_HKTL_Venom_LIB_Dec22
Detects Venom - a library that meant to perform evasive communication using stolen browser socket
- Author
- Ido Veltzman, Florian Roth
- Date
- 2022-12-17
- Modified
- 2023-12-05
- Score / Quality
- 75 / 85
What this rule detects
Detects Venom - a library that meant to perform evasive communication using stolen browser socket
Targets: Windows PE.
It defines 11 patterns (8 text, 3 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule SIGNATURE_BASE_HKTL_Venom_LIB_Dec22 : FILE
{
meta:
= "Detects Venom - a library that meant to perform evasive communication using stolen browser socket"
= "Ido Veltzman, Florian Roth"
= "b13b8a9c-52a4-53ac-817e-9f729fbf17c2"
= "2022-12-17"
= "2023-12-05"
= "https://github.com/Idov31/Venom"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/gen_hktl_venom_lib.yar#L2-L30"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "fa143946479a45b272d507c3aa2b17026bfdcbb4abefd833f95ff78537568ec1"
= 75
= 85
= "FILE"
strings:
$x1 = "[ + ] Created detached hidden msedge process: " fullword ascii
$ss1 = "WS2_32.dll" fullword ascii
$ss2 = "WSASocketW" fullword ascii
$ss3 = "WSADuplicateSocketW" fullword ascii
$ss5 = "\\Device\\Afd" wide fullword
$sx1 = "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe --no-startup-window" fullword wide
$sx2 = "[ + ] Data sent!" fullword ascii
$sx3 = "[ + ] Socket obtained!" fullword ascii
$op1 = { 4c 8b f0 48 3b c1 48 b8 ff ff ff ff ff ff ff 7f }
$op2 = { 48 8b cf e8 1c 34 00 00 48 8b 5c 24 30 48 8b c7 }
$op3 = { 48 8b da 48 8b f9 45 33 f6 48 85 c9 0f 84 34 01 }
condition:
uint16( 0 ) == 0x5a4d and filesize < 500KB and ( ( 3 of ( $ss* ) and all of ( $op* ) ) or 2 of ( $sx* ) ) or $x1 or all of ( $sx* )
}
Strings (11 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $x1 | text | "[ + ] Created detached hidden msedge process: " | fullword ascii |
| $ss1 | text | "WS2_32.dll" | fullword ascii |
| $ss2 | text | "WSASocketW" | fullword ascii |
| $ss3 | text | "WSADuplicateSocketW" | fullword ascii |
| $ss5 | text | "\\Device\\Afd" | wide fullword |
| $sx1 | text | "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe --no-startup-window" | fullword wide |
| $sx2 | text | "[ + ] Data sent!" | fullword ascii |
| $sx3 | text | "[ + ] Socket obtained!" | fullword ascii |
| $op1 | hex | { 4c 8b f0 48 3b c1 48 b8 ff ff ff ff ff ff ff 7f } | |
| $op2 | hex | { 48 8b cf e8 1c 34 00 00 48 8b 5c 24 30 48 8b c7 } | |
| $op3 | hex | { 48 8b da 48 8b f9 45 33 f6 48 85 c9 0f 84 34 01 } |
Condition
uint16( 0 ) == 0x5a4d and filesize < 500KB and ( ( 3 of ( $ss* ) and all of ( $op* ) ) or 2 of ( $sx* ) ) or $x1 or all of ( $sx* )In plain words (Heuristic)
- The file must start with “MZ” — a Windows executable (PE).
- The file must be smaller than 500KB (a cheap guard that skips large files).
- All patterns in ( $op* ) must match.
- All patterns in ( $sx* ) must match.
- At least 3 patterns in ( $ss* ) must match.
- At least 2 patterns in ( $sx* ) must match.
- Pattern $x1 must be present.
Test this rule in your browser
Drop a file to scan it with this rule using YARA-X compiled to WebAssembly. Nothing is uploaded.
References
Licence & attribution
Author: Ido Veltzman, Florian Roth
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: b13b8a9c-52a4-53ac-817e-9f729fbf17c2
Tags:FILE