Skip to content

YARA · SEKOIA.IO Community

SEKOIA_Tool_Ladon_Strings

Detects Ladon based on strings

Hack toolSEKOIA.IO CommunityDetection Rule License 1.1Compiles with YARA-X (with warnings)
Author
Sekoia.io
Date
2024-06-03
Modified
2024-12-19
Score / Quality
75 / 78

What this rule detects

Detects Ladon based on strings

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

YARA-X says: warning[duplicate_pattern_value]: duplicate pattern value

Summary generated from the rule's metadata and condition.

Rule source

tool-ladon-strings.yarDetection Rule License 1.1
rule SEKOIA_Tool_Ladon_Strings : FILE
{
	meta:
		description = "Detects Ladon based on strings"
		author = "Sekoia.io"
		id = "7f06f755-a103-4e74-a9df-136355775233"
		date = "2024-06-03"
		modified = "2024-12-19"
		reference = "https://github.com/SEKOIA-IO/Community"
		source_url = "https://github.com/SEKOIA-IO/Community/blob/a438a5901a211c2abdf75da9c93921ef187473d1/yara_rules/tool_ladon_strings.yar#L1-L61"
		license_url = "https://github.com/SEKOIA-IO/Community/blob/a438a5901a211c2abdf75da9c93921ef187473d1/LICENSE.md"
		logic_hash = "6f2a34bddea2a2370c0a45cde888f51632689973373e3c6ba739a34dc220bfa1"
		score = 75
		quality = 78
		tags = "FILE"
		version = "1.0"
		classification = "TLP:CLEAR"

	strings:
		$a1 = ".GetType('Ladon.Scan')"
		$a2 = "= New-object Byte[]("
		$a3 = "([IO.MemoryStream][Convert]::FromBase64String("
		$b1 = "DeflateStream([IO.MemoryStream][Convert]::FromBase64String("
		$b2 = "))}}}}}}}}}"
		$b3 = "::Main(@($"
		$b4 = "))} else {If("
		$b5 = "= [Reflection.Assembly]::Load("
		$c1 = "ChatLadon.Form1.resources"
		$c2 = "ChatLadon.Properties.Resources.resources"
		$c3 = "WebClientUploadEvent"
		$c4 = "WebClientDownloadEvent"
		$c5 = "K8robot"
		$c6 = "K8IPselect"
		$d1 = "loadASM"
		$d2 = "ConsoleApp1.exe"
		$d3 = "K8Ladon"
		$e1 = "get_network_16px_1219919_easyicon_net"
		$e2 = "K8gege"
		$e3 = "LadonExpBuild"
		$f1 = "Ladon url.txt CitrixVer"
		$f2 = "Ladon MssqlCmd"
		$f3 = "Example: Ladon "
		$f4 = "k8gege.org"
		$f5 = "K8crack"
		$g1 = "LadonStudy.exe"
		$g2 = "LadonStudy.frmMain.resources"
		$g3 = "LadonStudy.Properties.Resources.resources"
		$g4 = "K8gege"
		$h1 = "LadonShell.exe" wide
		$h2 = "ForceRemove"
		$h3 = "GetUserObjectInformationA"

	condition:
		( all of ( $a* ) or all of ( $b* ) or all of ( $c* ) or all of ( $d* ) or all of ( $e* ) or all of ( $f* ) or all of ( $g* ) or all of ( $h* ) ) and filesize < 5MB
}

Strings (32 patterns)

IdentifierTypeValueModifiers
$a1text".GetType('Ladon.Scan')"
$a2text"= New-object Byte[]("
$a3text"([IO.MemoryStream][Convert]::FromBase64String("
$b1text"DeflateStream([IO.MemoryStream][Convert]::FromBase64String("
$b2text"))}}}}}}}}}"
$b3text"::Main(@($"
$b4text"))} else {If("
$b5text"= [Reflection.Assembly]::Load("
$c1text"ChatLadon.Form1.resources"
$c2text"ChatLadon.Properties.Resources.resources"
$c3text"WebClientUploadEvent"
$c4text"WebClientDownloadEvent"
$c5text"K8robot"
$c6text"K8IPselect"
$d1text"loadASM"
$d2text"ConsoleApp1.exe"
$d3text"K8Ladon"
$e1text"get_network_16px_1219919_easyicon_net"
$e2text"K8gege"
$e3text"LadonExpBuild"
$f1text"Ladon url.txt CitrixVer"
$f2text"Ladon MssqlCmd"
$f3text"Example: Ladon "
$f4text"k8gege.org"
$f5text"K8crack"
$g1text"LadonStudy.exe"
$g2text"LadonStudy.frmMain.resources"
$g3text"LadonStudy.Properties.Resources.resources"
$g4text"K8gege"
$h1text"LadonShell.exe"wide
$h2text"ForceRemove"
$h3text"GetUserObjectInformationA"

Condition

( all of ( $a* ) or all of ( $b* ) or all of ( $c* ) or all of ( $d* ) or all of ( $e* ) or all of ( $f* ) or all of ( $g* ) or all of ( $h* ) ) and filesize < 5MB

In plain words (Heuristic)

  • The file must be smaller than 5MB (a cheap guard that skips large files).
  • All patterns in ( $a* ) must match.
  • All patterns in ( $b* ) must match.
  • All patterns in ( $c* ) must match.
  • All patterns in ( $d* ) must match.
  • All patterns in ( $e* ) must match.
  • All patterns in ( $f* ) must match.
  • All patterns in ( $g* ) must match.
  • All patterns in ( $h* ) 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: Sekoia.io

Source repository: SEKOIA.IO Community @ a438a5901a

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: 7f06f755-a103-4e74-a9df-136355775233

Metadata

version1.0
classificationTLP:CLEAR

Tags:FILE