Aller au contenu

YARA · SEKOIA.IO Community

SEKOIA_Implant_Macos_Geacon

Finds Geacon samples based on specific strings

MalwareSEKOIA.IO CommunityDetection Rule License 1.1Compile avec YARA-X
Auteur
Sekoia.io
Date
2024-01-11
Modifiée
2024-12-19
Score / Qualité
75 / 80

Ce que détecte cette règle

Finds Geacon samples based on specific strings

Cibles : Mach-O macOS.

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

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

Source de la règle

implant-macos-geacon.yarDetection Rule License 1.1
rule SEKOIA_Implant_Macos_Geacon : FILE
{
	meta:
		description = "Finds Geacon samples based on specific strings"
		author = "Sekoia.io"
		id = "a7784bfa-66a7-47df-b88b-d98217d8cca5"
		date = "2024-01-11"
		modified = "2024-12-19"
		reference = "https://www.sentinelone.com/blog/geacon-brings-cobalt-strike-capabilities-to-macos-threat-actors/"
		source_url = "https://github.com/SEKOIA-IO/Community/blob/a438a5901a211c2abdf75da9c93921ef187473d1/yara_rules/implant_macos_geacon.yar#L1-L35"
		license_url = "https://github.com/SEKOIA-IO/Community/blob/a438a5901a211c2abdf75da9c93921ef187473d1/LICENSE.md"
		logic_hash = "284574d185d3777a373f4a19e0870eec5245fb8ea5ebd6124bc281f8c74e0998"
		score = 75
		quality = 80
		tags = "FILE"
		version = "1.0"
		classification = "TLP:CLEAR"

	strings:
		$gea01 = "geacon/config.init" ascii
		$gea02 = "geacon_pro-master/config/config.go" ascii
		$gea03 = "geacon_plus-main/config/config.go" ascii
		$gea04 = "command type %d is not support by geacon now" ascii
		$gea05 = "main/sysinfo.GeaconID" ascii
		$str01 = "command.StealToken" ascii
		$str02 = "command.MakeToken" ascii
		$str03 = "command/misc.go" ascii
		$str04 = "config/c2profile.go" ascii
		$str05 = "crypt.AesCBCDecrypt" ascii
		$str06 = "packet.File_Browse" ascii
		$str07 = "packet.FirstBlood" ascii
		$str08 = "packet.ParseCommandShell" ascii
		$str09 = "packet.ParseCommandUpload" ascii
		$str10 = "packet.PushResult" ascii
		$str11 = "sysinfo.GetComputerName" ascii
		$str12 = "sysinfo.IsOSX64" ascii
		$str13 = "util..inittask" ascii

	condition:
		uint32( 0 ) == 0xFEEDFACF and ( ( 1 of ( $gea* ) and 2 of ( $str* ) ) or 8 of ( $str* ) )
}

Chaînes (18 motifs)

IdentifiantTypeValeurModificateurs
$gea01texte"geacon/config.init"ascii
$gea02texte"geacon_pro-master/config/config.go"ascii
$gea03texte"geacon_plus-main/config/config.go"ascii
$gea04texte"command type %d is not support by geacon now"ascii
$gea05texte"main/sysinfo.GeaconID"ascii
$str01texte"command.StealToken"ascii
$str02texte"command.MakeToken"ascii
$str03texte"command/misc.go"ascii
$str04texte"config/c2profile.go"ascii
$str05texte"crypt.AesCBCDecrypt"ascii
$str06texte"packet.File_Browse"ascii
$str07texte"packet.FirstBlood"ascii
$str08texte"packet.ParseCommandShell"ascii
$str09texte"packet.ParseCommandUpload"ascii
$str10texte"packet.PushResult"ascii
$str11texte"sysinfo.GetComputerName"ascii
$str12texte"sysinfo.IsOSX64"ascii
$str13texte"util..inittask"ascii

Condition

uint32( 0 ) == 0xFEEDFACF and ( ( 1 of ( $gea* ) and 2 of ( $str* ) ) or 8 of ( $str* ) )

En clair (Heuristique)

  • Le fichier doit commencer par une signature Mach-O / fat — un exécutable macOS.
  • Au moins 1 motifs de ( $gea* ) doivent être trouvés.
  • Au moins 2 motifs de ( $str* ) doivent être trouvés.
  • Au moins 8 motifs de ( $str* ) 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: a7784bfa-66a7-47df-b88b-d98217d8cca5

Métadonnées

version1.0
classificationTLP:CLEAR

Tags:FILE