YARA · Volexity threat-intel
VOLEXITY_Apt_Malware_Python_Knuckleball
Detects KNUCKLEBALL, a python based injector malware, using string patterns.
- Author
- threatintel@volexity.com
- Date
- 2026-07-06
- Modified
- 2026-07-14
- Score / Quality
- 75 / 80
What this rule detects
Detects KNUCKLEBALL, a python based injector malware, using string patterns.
It defines 9 patterns (9 text, 0 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule VOLEXITY_Apt_Malware_Python_Knuckleball : UTA0533 KNUCKLEBALL FILE MEMORY
{
meta:
= "Detects KNUCKLEBALL, a python based injector malware, using string patterns."
= "threatintel@volexity.com"
= "bceaee99-902b-5e0d-a8e6-f9909fcd3334"
= "2026-07-06"
= "2026-07-14"
= "https://github.com/volexity/threat-intel"
= "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/2026/2026-07-17 SonicWall/rules.yar#L77-L109"
= "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/LICENSE.txt"
= "8c470301dcb7278f73e622f1950073567b34011c64b60cdfbb0f89803923a5a3"
= "306b5e0cc66af163c1dea29f8c55f0dbb396ddcefb63f22d62601d7cf1ea839d"
= 75
= 80
= "UTA0533, KNUCKLEBALL, FILE, MEMORY"
= "linux"
= "all"
= "file,memory"
= "high"
= "TIB-20260714B"
= "See license at https://github.com/volexity/threat-intel/blob/main/LICENSE.txt"
= 13233
= 5
strings:
$s1 = "/tmp/.java_pid{pid}" ascii
$s2 = "/tmp/.attach_pid{pid}" ascii
$s3 = "timeout waiting for JVMTI attach socket" ascii
$s4 = "workplace.startup.CommandStartup" ascii
$s5 = "/var/run/control.unit.sock" ascii
$func1 = "unit_put(" ascii
$func2 = "check_gate(" ascii
$func3 = "inject_jar(" ascii
$func4 = "find_wp_pid(" ascii
condition:
2 of ( $s* ) or 3 of ( $func* )
}
Strings (9 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $s1 | text | "/tmp/.java_pid{pid}" | ascii |
| $s2 | text | "/tmp/.attach_pid{pid}" | ascii |
| $s3 | text | "timeout waiting for JVMTI attach socket" | ascii |
| $s4 | text | "workplace.startup.CommandStartup" | ascii |
| $s5 | text | "/var/run/control.unit.sock" | ascii |
| $func1 | text | "unit_put(" | ascii |
| $func2 | text | "check_gate(" | ascii |
| $func3 | text | "inject_jar(" | ascii |
| $func4 | text | "find_wp_pid(" | ascii |
Condition
2 of ( $s* ) or 3 of ( $func* )In plain words (Heuristic)
- At least 2 patterns in ( $s* ) must match.
- At least 3 patterns in ( $func* ) 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.
References
Sample hashes
Hashes of samples the author lists in the rule's meta (look them up in your threat-intelligence platform).
- 8c470301dcb7278f73e622f1950073567b34011c64b60cdfbb0f89803923a5a3
Licence & attribution
Author: threatintel@volexity.com
Source repository: Volexity threat-intel @ 3a9d0b5245
Licence: BSD 2-Clause License (stated in the rule's own meta)
“See license at https://github.com/volexity/threat-intel/blob/main/LICENSE.txt”
Copyright notice: Copyright 2022 by Volexity, Inc.
Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.
Rule id: bceaee99-902b-5e0d-a8e6-f9909fcd3334
Metadata
| os | linux |
|---|---|
| os_arch | all |
| scan_context | file,memory |
| severity | high |
| report1 | TIB-20260714B |
| rule_id | 13233 |
| version | 5 |
Tags:UTA0533KNUCKLEBALLFILEMEMORY
Related rules
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2026-07-06
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2026-07-06
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2026-07-06
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2024-07-30
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2023-07-21
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2023-08-17
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2023-03-30
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2022-11-03