Skip to content

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_APT_IIS_Config_Proxyshell_Artifacts

Detects virtual directory configured in IIS pointing to a ProgramData folder (as found in attacks against Exchange servers in August 2021)

APT / threat actorSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compiles with YARA-X
Author
Florian Roth (Nextron Systems)
Date
2021-08-25
Modified
2025-11-03
Score / Quality
90 / 85

What this rule detects

Detects virtual directory configured in IIS pointing to a ProgramData folder (as found in attacks against Exchange servers in August 2021)

It defines 10 patterns (10 text, 0 hex, 0 regex).

Summary generated from the rule's metadata and condition.

Rule source

apt-iis-config-proxyshell-artifacts.yarDetection Rule License 1.1
rule SIGNATURE_BASE_APT_IIS_Config_Proxyshell_Artifacts : FILE
{
	meta:
		description = "Detects virtual directory configured in IIS pointing to a ProgramData folder (as found in attacks against Exchange servers in August 2021)"
		author = "Florian Roth (Nextron Systems)"
		id = "21888fc0-82c6-555a-9320-9cbb8332a843"
		date = "2021-08-25"
		modified = "2025-11-03"
		reference = "https://www.huntress.com/blog/rapid-response-microsoft-exchange-servers-still-vulnerable-to-proxyshell-exploit"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/expl_proxyshell.yar#L82-L105"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		logic_hash = "a4557694629448d258b8b2fefc278e059217560e7a0ec3279863a16fb9b3989c"
		score = 90
		quality = 85
		tags = "FILE"

	strings:
		$a1 = "<site name=" ascii
		$a2 = "<sectionGroup name=\"system.webServer\">" ascii
		$sa1 = " physicalPath=\"C:\\ProgramData\\COM" ascii
		$sa2 = " physicalPath=\"C:\\ProgramData\\WHO" ascii
		$sa3 = " physicalPath=\"C:\\ProgramData\\ZING" ascii
		$sa4 = " physicalPath=\"C:\\ProgramData\\ZOO" ascii
		$sa5 = " physicalPath=\"C:\\ProgramData\\XYZ" ascii
		$sa6 = " physicalPath=\"C:\\ProgramData\\AUX" ascii
		$sa7 = " physicalPath=\"C:\\ProgramData\\CON\\" ascii
		$sb1 = " physicalPath=\"C:\\Users\\All Users\\" ascii

	condition:
		filesize < 500KB and all of ( $a* ) and 1 of ( $s* )
}

Strings (10 patterns)

IdentifierTypeValueModifiers
$a1text"<site name="ascii
$a2text"<sectionGroup name=\"system.webServer\">"ascii
$sa1text" physicalPath=\"C:\\ProgramData\\COM"ascii
$sa2text" physicalPath=\"C:\\ProgramData\\WHO"ascii
$sa3text" physicalPath=\"C:\\ProgramData\\ZING"ascii
$sa4text" physicalPath=\"C:\\ProgramData\\ZOO"ascii
$sa5text" physicalPath=\"C:\\ProgramData\\XYZ"ascii
$sa6text" physicalPath=\"C:\\ProgramData\\AUX"ascii
$sa7text" physicalPath=\"C:\\ProgramData\\CON\\"ascii
$sb1text" physicalPath=\"C:\\Users\\All Users\\"ascii

Condition

filesize < 500KB and all of ( $a* ) and 1 of ( $s* )

In plain words (Heuristic)

  • The file must be smaller than 500KB (a cheap guard that skips large files).
  • All patterns in ( $a* ) must match.
  • At least 1 patterns in ( $s* ) 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.

Open in editor

References

Licence & attribution

Author: Florian Roth (Nextron Systems)

Source repository: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a

Licence: Detection Rule License 1.1 (repository licence)

Original rule

Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.

Rule id: 21888fc0-82c6-555a-9320-9cbb8332a843

Tags:FILE