Skip to content

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_APT_MAL_Sandworm_Exaramel_Strings

Detects Strings used by Exaramel malware

APT / threat actorExaramelSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compiles with YARA-X
Author
FR/ANSSI/SDO (composed from 4 saparate rules by Florian Roth)
Date
2021-02-15
Modified
2024-05-25
Score / Quality
80 / 85

What this rule detects

Detects Strings used by Exaramel malware

Associated malware family: Exaramel.

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

Summary generated from the rule's metadata and condition.

Rule source

apt-mal-sandworm-exaramel-strings.yarDetection Rule License 1.1
rule SIGNATURE_BASE_APT_MAL_Sandworm_Exaramel_Strings
{
	meta:
		description = "Detects Strings used by Exaramel malware"
		author = "FR/ANSSI/SDO (composed from 4 saparate rules by Florian Roth)"
		id = "fdc79b87-eb9e-5751-9474-ff653b073165"
		date = "2021-02-15"
		modified = "2024-05-25"
		reference = "https://www.cert.ssi.gouv.fr/uploads/CERTFR-2021-CTI-005.pdf"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_sandworm_centreon.yar#L204-L232"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		logic_hash = "9d2790e60184ed973b2735263d0a997f32af0beacc9ea8ef65926fe6507011d5"
		score = 80
		quality = 85
		tags = ""

	strings:
		$persistence1 = "systemd"
		$persistence2 = "upstart"
		$persistence3 = "systemV"
		$persistence4 = "freebsd rc"
		$report1 = "systemdupdate.rep"
		$report2 = "upstartupdate.rep"
		$report3 = "remove.rep"
		$url1 = "/tasks.get/"
		$url2 = "/time.get/"
		$url3 = "/time.set"
		$url4 = "/tasks.report"
		$url5 = "/attachment.get/"
		$url6 = "/auth/app"

	condition:
		(5 of ( $url* ) and all of ( $persistence* ) ) or ( all of ( $persistence* ) and all of ( $report* ) ) or ( 5 of ( $url* ) and all of ( $report* ) )
}

Strings (13 patterns)

IdentifierTypeValueModifiers
$persistence1text"systemd"
$persistence2text"upstart"
$persistence3text"systemV"
$persistence4text"freebsd rc"
$report1text"systemdupdate.rep"
$report2text"upstartupdate.rep"
$report3text"remove.rep"
$url1text"/tasks.get/"
$url2text"/time.get/"
$url3text"/time.set"
$url4text"/tasks.report"
$url5text"/attachment.get/"
$url6text"/auth/app"

Condition

(5 of ( $url* ) and all of ( $persistence* ) ) or ( all of ( $persistence* ) and all of ( $report* ) ) or ( 5 of ( $url* ) and all of ( $report* ) )

In plain words (Heuristic)

  • All patterns in ( $persistence* ) must match.
  • All patterns in ( $report* ) must match.
  • At least 5 patterns in ( $url* ) 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: FR/ANSSI/SDO (composed from 4 saparate rules by 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: fdc79b87-eb9e-5751-9474-ff653b073165

More Exaramel rules