Skip to content

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_SUSP_Screenconnect_Exploitation_Artefacts_Feb24

Detects post exploitation indicators observed by HuntressLabs in relation to the ConnectWise ScreenConnect (versions prior to 23.9.8) vulnerability that allows an Authentication Bypass

Suspicious / huntingSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compiles with YARA-X
Author
Florian Roth
Date
2024-02-23
Modified
2024-04-24
Score / Quality
75 / 83

What this rule detects

Detects post exploitation indicators observed by HuntressLabs in relation to the ConnectWise ScreenConnect (versions prior to 23.9.8) vulnerability that allows an Authentication Bypass

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

Summary generated from the rule's metadata and condition.

Rule source

susp-screenconnect-exploitation-artefacts-feb24.yarDetection Rule License 1.1
rule SIGNATURE_BASE_SUSP_Screenconnect_Exploitation_Artefacts_Feb24 : SCRIPT
{
	meta:
		description = "Detects post exploitation indicators observed by HuntressLabs in relation to the ConnectWise ScreenConnect (versions prior to 23.9.8) vulnerability that allows an Authentication Bypass"
		author = "Florian Roth"
		id = "079f4153-8bc7-574f-b6fa-af5536b842ab"
		date = "2024-02-23"
		modified = "2024-04-24"
		reference = "https://www.huntress.com/blog/slashandgrab-screen-connect-post-exploitation-in-the-wild-cve-2024-1709-cve-2024-1708"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/expl_connectwise_screenconnect_vuln_feb24.yar#L62-L103"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		logic_hash = "6f0d5f878847da1afb0d7b83e84bd337cfa67c36da2cbb33af712ed4ffad490a"
		score = 75
		quality = 83
		tags = "SCRIPT"

	strings:
		$x01 = "-c foreach ($disk in Get-WmiObject Win32_Logicaldisk){Add-MpPreference -ExclusionPath $disk.deviceid}"
		$x02 = ".msi c:\\mpyutd.msi"
		$x03 = "/MyUserName_$env:UserName"
		$x04 = " -OutFile C:\\Windows\\Help\\"
		$x05 = "/Create /TN \\\\Microsoft\\\\Windows\\\\Wininet\\\\UserCache_"
		$x06 = "$e = $r + \"ssh.exe\""
		$x07 = "Start-Process -f $e -a $args -PassThru -WindowStyle Hidden).Id"
		$x08 = "-R 9595:localhost:3389 -p 443 -N -oStrictHostKeyChecking=no "
		$x09 = "chromeremotedesktophost.msi', $env:ProgramData+"
		$x10 = "9595; iwr -UseBasicParsing "
		$x11 = "curl  https://cmctt.]com/pub/media/wysiwyg/"
		$x12 = ":8080/servicetest2.dll"
		$x13 = "/msappdata.msi c:\\mpyutd.msi"
		$x14 = "/svchost.exe -OutFile "
		$x15 = "curl http://minish.wiki.gd"
		$x16 = " -Headers @{'ngrok-skip-browser-warning'='true'} -OutFile "
		$x17 = "rundll32.exe' -Headers @"
		$x18 = "/nssm.exe' -Headers @"
		$x19 = "c:\\programdata\\update.dat UpdateSystem"
		$x20 = "::size -eq 4){\\\"TVqQAA" ascii wide
		$x21 = "::size -eq 4){\"TVqQAA" ascii wide
		$x22 = "-nop -c [System.Reflection.Assembly]::Load(([WmiClass]'root\\cimv2:System_"
		$xp0 = "/add default test@2021! /domain"
		$xp1 = "/add default1 test@2021! /domain"
		$xp2 = "oldadmin Pass8080!!"
		$xp3 = "temp 123123qwE /add "
		$xp4 = "oldadmin \"Pass8080!!\""
		$xp5 = "nssm set xmrig AppDirectory "

	condition:
		1 of ( $x* )
}

Strings (28 patterns)

IdentifierTypeValueModifiers
$x01text"-c foreach ($disk in Get-WmiObject Win32_Logicaldisk){Add-MpPreference -ExclusionPath $disk.deviceid}"
$x02text".msi c:\\mpyutd.msi"
$x03text"/MyUserName_$env:UserName"
$x04text" -OutFile C:\\Windows\\Help\\"
$x05text"/Create /TN \\\\Microsoft\\\\Windows\\\\Wininet\\\\UserCache_"
$x06text"$e = $r + \"ssh.exe\""
$x07text"Start-Process -f $e -a $args -PassThru -WindowStyle Hidden).Id"
$x08text"-R 9595:localhost:3389 -p 443 -N -oStrictHostKeyChecking=no "
$x09text"chromeremotedesktophost.msi', $env:ProgramData+"
$x10text"9595; iwr -UseBasicParsing "
$x11text"curl https://cmctt.]com/pub/media/wysiwyg/"
$x12text":8080/servicetest2.dll"
$x13text"/msappdata.msi c:\\mpyutd.msi"
$x14text"/svchost.exe -OutFile "
$x15text"curl http://minish.wiki.gd"
$x16text" -Headers @{'ngrok-skip-browser-warning'='true'} -OutFile "
$x17text"rundll32.exe' -Headers @"
$x18text"/nssm.exe' -Headers @"
$x19text"c:\\programdata\\update.dat UpdateSystem"
$x20text"::size -eq 4){\\\"TVqQAA"ascii wide
$x21text"::size -eq 4){\"TVqQAA"ascii wide
$x22text"-nop -c [System.Reflection.Assembly]::Load(([WmiClass]'root\\cimv2:System_"
$xp0text"/add default test@2021! /domain"
$xp1text"/add default1 test@2021! /domain"
$xp2text"oldadmin Pass8080!!"
$xp3text"temp 123123qwE /add "
$xp4text"oldadmin \"Pass8080!!\""
$xp5text"nssm set xmrig AppDirectory "

Condition

1 of ( $x* )

In plain words (Heuristic)

  • At least 1 patterns in ( $x* ) 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

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: 079f4153-8bc7-574f-b6fa-af5536b842ab

Tags:SCRIPT