Aller au contenu

YARA · SEKOIA.IO Community

SEKOIA_Manjusaka_Samples

Detects Manjusaka via protobuf struture names (Windows / Linux / implants / C2)

MalwareManjusakaSEKOIA.IO CommunityDetection Rule License 1.1Compile avec YARA-X (avertissements)
Auteur
Sekoia.io
Date
2022-08-04
Modifiée
2024-12-19
Score / Qualité
75 / 78

Ce que détecte cette règle

Detects Manjusaka via protobuf struture names (Windows / Linux / implants / C2)

Famille de malware associée : Manjusaka.

Cibles : PE Windows, ELF Linux.

Elle définit 26 motifs (26 texte, 0 hex, 0 regex).

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

Résumé généré à partir des métadonnées et de la condition de la règle.

Source de la règle

manjusaka-samples.yarDetection Rule License 1.1
rule SEKOIA_Manjusaka_Samples : FILE
{
	meta:
		description = "Detects Manjusaka via protobuf struture names (Windows / Linux / implants / C2)"
		author = "Sekoia.io"
		id = "7aa8edb3-2e67-4632-af68-5b65c9aefe39"
		date = "2022-08-04"
		modified = "2024-12-19"
		reference = "https://github.com/SEKOIA-IO/Community"
		source_url = "https://github.com/SEKOIA-IO/Community/blob/a438a5901a211c2abdf75da9c93921ef187473d1/yara_rules/manjusaka_samples.yar#L1-L41"
		license_url = "https://github.com/SEKOIA-IO/Community/blob/a438a5901a211c2abdf75da9c93921ef187473d1/LICENSE.md"
		logic_hash = "58dcc406c87a8ec66c0904c4cf518cb38bca1aa9058196ce5d496f6269258200"
		score = 75
		quality = 78
		tags = "FILE"
		version = "1.0"
		classification = "TLP:CLEAR"

	strings:
		$ = ".protos.AgentStatusR" ascii wide
		$ = ".protos.AgentsR" ascii wide
		$ = ".protos.FileActionR" ascii wide
		$ = ".protos.FileEntryR" ascii wide
		$ = ".protos.HttpFileActionR" ascii wide
		$ = ".protos.HttpFileEntryR" ascii wide
		$ = ".protos.PassResultR" ascii wide
		$ = ".protos.PortResultR" ascii wide
		$ = ".protos.PortResultR" ascii wide
		$ = ".protos.PortResultR" ascii wide
		$ = ".protos.ConfigH" ascii wide
		$ = ".protos.AgentUpdateH" ascii wide
		$ = ".protos.PluginExecH" ascii wide
		$ = ".protos.PluginLoadH" ascii wide
		$ = ".protos.ReqCwdH" ascii wide
		$ = ".protos.ReqCmdH" ascii wide
		$ = ".protos.ReqListFileH" ascii wide
		$ = ".protos.ReqCatFileH" ascii wide
		$ = ".protos.ReqNetStatH" ascii wide
		$ = ".protos.ReqTaskListH" ascii wide
		$ = ".protos.ReqScreenH" ascii wide
		$ = ".protos.FileEventH" ascii wide
		$ = ".protos.HttpFileEventH" ascii wide
		$ = ".protos.PassGetEventH" ascii wide
		$ = ".protos.FileGetEventH" ascii wide
		$ = ".protos.AgentEventR" ascii wide

	condition:
		( uint32be( 0 ) == 0x7f454c46 or uint16be( 0 ) == 0x4d5a ) and 15 of them
}

Chaînes (26 motifs)

IdentifiantTypeValeurModificateurs
$texte".protos.AgentStatusR"ascii wide
$texte".protos.AgentsR"ascii wide
$texte".protos.FileActionR"ascii wide
$texte".protos.FileEntryR"ascii wide
$texte".protos.HttpFileActionR"ascii wide
$texte".protos.HttpFileEntryR"ascii wide
$texte".protos.PassResultR"ascii wide
$texte".protos.PortResultR"ascii wide
$texte".protos.PortResultR"ascii wide
$texte".protos.PortResultR"ascii wide
$texte".protos.ConfigH"ascii wide
$texte".protos.AgentUpdateH"ascii wide
$texte".protos.PluginExecH"ascii wide
$texte".protos.PluginLoadH"ascii wide
$texte".protos.ReqCwdH"ascii wide
$texte".protos.ReqCmdH"ascii wide
$texte".protos.ReqListFileH"ascii wide
$texte".protos.ReqCatFileH"ascii wide
$texte".protos.ReqNetStatH"ascii wide
$texte".protos.ReqTaskListH"ascii wide
$texte".protos.ReqScreenH"ascii wide
$texte".protos.FileEventH"ascii wide
$texte".protos.HttpFileEventH"ascii wide
$texte".protos.PassGetEventH"ascii wide
$texte".protos.FileGetEventH"ascii wide
$texte".protos.AgentEventR"ascii wide

Condition

( uint32be( 0 ) == 0x7f454c46 or uint16be( 0 ) == 0x4d5a ) and 15 of them

En clair (Heuristique)

  • Le fichier doit commencer par « MZ » — un exécutable Windows (PE).
  • Le fichier doit commencer par l’en-tête ELF — un exécutable Linux/Unix.
  • Au moins 15 motifs de la règle doivent être trouvés.

Tester cette règle dans votre navigateur

Déposez un fichier pour le scanner avec cette règle grâce à YARA-X compilé en WebAssembly. Rien n’est envoyé.

Déposez un fichier ici ou cliquez pour choisirScanné localement avec YARA-X. Fichiers jusqu’à 200 Mo.

Ouvrir dans l’éditeur

Références

Licence et attribution

Auteur : Sekoia.io

Dépôt source : SEKOIA.IO Community @ a438a5901a

Licence : Detection Rule License 1.1 (licence du dépôt)

Règle d’origine

Reprise via YARA Forge 20260927, qui préfixe les noms de règles par la source et ajoute des champs meta normalisés.

Identifiant de règle: 7aa8edb3-2e67-4632-af68-5b65c9aefe39

Métadonnées

version1.0
classificationTLP:CLEAR

Tags:FILE

Plus de règles Manjusaka