YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_M_Hunting_Dropper_WIREFIRE_1
This rule detects WIREFIRE, a web shell written in Python that exists as trojanized logic to a component of the pulse secure appliance.
- Author
- Mandiant
- Date
- 2024-01-11
- Modified
- 2024-04-24
- Score / Quality
- 75 / 85
What this rule detects
This rule detects WIREFIRE, a web shell written in Python that exists as trojanized logic to a component of the pulse secure appliance.
It defines 5 patterns (5 text, 0 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule SIGNATURE_BASE_M_Hunting_Dropper_WIREFIRE_1 : FILE
{
meta:
= "This rule detects WIREFIRE, a web shell written in Python that exists as trojanized logic to a component of the pulse secure appliance."
= "Mandiant"
= "051244f0-00b1-5a4b-8c81-f4ce6f1aa22a"
= "2024-01-11"
= "2024-04-24"
= "https://www.mandiant.com/resources/blog/suspected-apt-targets-ivanti-zero-day"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_report_ivanti_mandiant_jan24.yar#L40-L58"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "6de651357a15efd01db4e658249d4981"
= "c389a666bd093cdd7700385da43c8fa58b9f3d899e658c516df0f3aca439401d"
= 75
= 85
= "FILE"
strings:
$s1 = "zlib.decompress(aes.decrypt(base64.b64decode(" ascii
$s2 = "aes.encrypt(t+('\\x00'*(16-len(t)%16))" ascii
$s3 = "Handles DELETE request to delete an existing visits data." ascii
$s4 = "request.data.decode().startswith('GIF'):" ascii
$s5 = "Utils.api_log_admin" ascii
condition:
filesize < 10KB and all of them
}
Strings (5 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $s1 | text | "zlib.decompress(aes.decrypt(base64.b64decode(" | ascii |
| $s2 | text | "aes.encrypt(t+('\\x00'*(16-len(t)%16))" | ascii |
| $s3 | text | "Handles DELETE request to delete an existing visits data." | ascii |
| $s4 | text | "request.data.decode().startswith('GIF'):" | ascii |
| $s5 | text | "Utils.api_log_admin" | ascii |
Condition
filesize < 10KB and all of themIn plain words (Heuristic)
- The file must be smaller than 10KB (a cheap guard that skips large files).
- All patterns in the rule 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).
- 6de651357a15efd01db4e658249d4981
Licence & attribution
Author: Mandiant
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: 051244f0-00b1-5a4b-8c81-f4ce6f1aa22a
Tags:FILE
Related rules
- Suspicious / huntingSignature Base (Florian Roth / Nextron)· Mandiant· 2023-04-20
- Suspicious / huntingSignature Base (Florian Roth / Nextron)· Mandiant· 2024-01-11
- Suspicious / huntingSignature Base (Florian Roth / Nextron)· Mandiant· 2024-01-11
- Suspicious / huntingSignature Base (Florian Roth / Nextron)· Mandiant· 2024-01-11
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2022-04-28
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2023-04-20
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2023-04-20
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2023-04-20