YARA · Volexity threat-intel
VOLEXITY_Apt_Webshell_Aspx_Sportsball
The SPORTSBALL webshell, observed in targeted Microsoft Exchange attacks in 2021. SPORTSBALL was later discovered to be a variant of HYPERSHELL, a publicly available webshell.
- Author
- threatintel@volexity.com
- Date
- 2021-03-01
- Modified
- 2025-07-24
- Score / Quality
- 75 / 80
What this rule detects
The SPORTSBALL webshell, observed in targeted Microsoft Exchange attacks in 2021. SPORTSBALL was later discovered to be a variant of HYPERSHELL, a publicly available webshell.
It defines 8 patterns (8 text, 0 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule VOLEXITY_Apt_Webshell_Aspx_Sportsball : FILE MEMORY
{
meta:
= "The SPORTSBALL webshell, observed in targeted Microsoft Exchange attacks in 2021. SPORTSBALL was later discovered to be a variant of HYPERSHELL, a publicly available webshell."
= "threatintel@volexity.com"
= "25b23a4c-8fc7-5d6f-b4b5-46fe2c1546d8"
= "2021-03-01"
= "2025-07-24"
= "https://github.com/misterch0c/APT34/blob/e62f3d14ec78bea5c98d3c895162ca1e47676c18/Webshells_and_Panel/HyperShell/HyperShell/Shell/simple.aspx"
= "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/2021/2021-03-02 - Operation Exchange Marauder/indicators/yara.yar#L57-L89"
= "https://github.com/volexity/threat-intel/blob/3a9d0b52459877ee866a9a0ba06e60059b778c77/LICENSE.txt"
= "2fa06333188795110bba14a482020699a96f76fb1ceb80cbfa2df9d3008b5b0a"
= "5ec5e52922e97a3080d397b69b2f42f09daa995271e218ea085fa2ec4e3abad2"
= 75
= 80
= "FILE, MEMORY"
= "win"
= "all"
= "file,memory"
= "critical"
= "See license at https://github.com/volexity/threat-intel/blob/main/LICENSE.txt"
= 4968
= 6
strings:
$uniq1 = "HttpCookie newcook = new HttpCookie(\"fqrspt\", HttpContext.Current.Request.Form"
$uniq2 = "ZN2aDAB4rXsszEvCLrzgcvQ4oi5J1TuiRULlQbYwldE="
$s1 = "Result.InnerText = string.Empty;"
$s2 = "newcook.Expires = DateTime.Now.AddDays("
$s3 = "System.Diagnostics.Process process = new System.Diagnostics.Process();"
$s4 = "process.StandardInput.WriteLine(HttpContext.Current.Request.Form[\""
$s5 = "else if (!string.IsNullOrEmpty(HttpContext.Current.Request.Form[\""
$s6 = "<input type=\"submit\" value=\"Upload\" />"
condition:
any of ( $uniq* ) or all of ( $s* )
}
Strings (8 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $uniq1 | text | "HttpCookie newcook = new HttpCookie(\"fqrspt\", HttpContext.Current.Request.Form" | |
| $uniq2 | text | "ZN2aDAB4rXsszEvCLrzgcvQ4oi5J1TuiRULlQbYwldE=" | |
| $s1 | text | "Result.InnerText = string.Empty;" | |
| $s2 | text | "newcook.Expires = DateTime.Now.AddDays(" | |
| $s3 | text | "System.Diagnostics.Process process = new System.Diagnostics.Process();" | |
| $s4 | text | "process.StandardInput.WriteLine(HttpContext.Current.Request.Form[\"" | |
| $s5 | text | "else if (!string.IsNullOrEmpty(HttpContext.Current.Request.Form[\"" | |
| $s6 | text | "<input type=\"submit\" value=\"Upload\" />" |
Condition
any of ( $uniq* ) or all of ( $s* )In plain words (Heuristic)
- All patterns in ( $s* ) must match.
- At least one pattern in ( $uniq* ) 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).
- 2fa06333188795110bba14a482020699a96f76fb1ceb80cbfa2df9d3008b5b0a
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: 25b23a4c-8fc7-5d6f-b4b5-46fe2c1546d8
Metadata
| os | win |
|---|---|
| os_arch | all |
| scan_context | file,memory |
| severity | critical |
| rule_id | 4968 |
| version | 6 |
Related rules
- 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
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2022-11-02
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2022-11-03
- APT / threat actorVolexity threat-intel· threatintel@volexity.com· 2022-11-03