YARA · SEKOIA.IO Community
SEKOIA_Implant_Macos_Geacon
Finds Geacon samples based on specific strings
- Author
- Sekoia.io
- Date
- 2024-01-11
- Modified
- 2024-12-19
- Score / Quality
- 75 / 80
What this rule detects
Finds Geacon samples based on specific strings
Targets: macOS Mach-O.
It defines 18 patterns (18 text, 0 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
implant-macos-geacon.yarDetection Rule License 1.1
rule SEKOIA_Implant_Macos_Geacon : FILE
{
meta:
= "Finds Geacon samples based on specific strings"
= "Sekoia.io"
= "a7784bfa-66a7-47df-b88b-d98217d8cca5"
= "2024-01-11"
= "2024-12-19"
= "https://www.sentinelone.com/blog/geacon-brings-cobalt-strike-capabilities-to-macos-threat-actors/"
= "https://github.com/SEKOIA-IO/Community/blob/a438a5901a211c2abdf75da9c93921ef187473d1/yara_rules/implant_macos_geacon.yar#L1-L35"
= "https://github.com/SEKOIA-IO/Community/blob/a438a5901a211c2abdf75da9c93921ef187473d1/LICENSE.md"
= "284574d185d3777a373f4a19e0870eec5245fb8ea5ebd6124bc281f8c74e0998"
= 75
= 80
= "FILE"
= "1.0"
= "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* ) )
}
Strings (18 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $gea01 | text | "geacon/config.init" | ascii |
| $gea02 | text | "geacon_pro-master/config/config.go" | ascii |
| $gea03 | text | "geacon_plus-main/config/config.go" | ascii |
| $gea04 | text | "command type %d is not support by geacon now" | ascii |
| $gea05 | text | "main/sysinfo.GeaconID" | ascii |
| $str01 | text | "command.StealToken" | ascii |
| $str02 | text | "command.MakeToken" | ascii |
| $str03 | text | "command/misc.go" | ascii |
| $str04 | text | "config/c2profile.go" | ascii |
| $str05 | text | "crypt.AesCBCDecrypt" | ascii |
| $str06 | text | "packet.File_Browse" | ascii |
| $str07 | text | "packet.FirstBlood" | ascii |
| $str08 | text | "packet.ParseCommandShell" | ascii |
| $str09 | text | "packet.ParseCommandUpload" | ascii |
| $str10 | text | "packet.PushResult" | ascii |
| $str11 | text | "sysinfo.GetComputerName" | ascii |
| $str12 | text | "sysinfo.IsOSX64" | ascii |
| $str13 | text | "util..inittask" | ascii |
Condition
uint32( 0 ) == 0xFEEDFACF and ( ( 1 of ( $gea* ) and 2 of ( $str* ) ) or 8 of ( $str* ) )In plain words (Heuristic)
- The file must start with a Mach-O / fat binary magic — a macOS executable.
- At least 1 patterns in ( $gea* ) must match.
- At least 2 patterns in ( $str* ) must match.
- At least 8 patterns in ( $str* ) 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.
Licence & attribution
Author: Sekoia.io
Source repository: SEKOIA.IO Community @ a438a5901a
Licence: Detection Rule License 1.1 (repository licence)
Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.
Rule id: a7784bfa-66a7-47df-b88b-d98217d8cca5
Metadata
| version | 1.0 |
|---|---|
| classification | TLP:CLEAR |
Tags:FILE
Related rules
- MalwareSEKOIA.IO Community· Sekoia.io· 2024-07-16
- MalwareSEKOIA.IO Community· Sekoia.io· 2024-08-23
- MalwareSEKOIA.IO Community· Sekoia.io· 2024-04-22
- MalwareSEKOIA.IO Community· Sekoia.io· 2024-07-23
- MalwareSEKOIA.IO Community· Sekoia.io· 2024-10-20
- MalwareSEKOIA.IO Community· Sekoia.io· 2024-03-20
- MalwareSEKOIA.IO Community· Sekoia.io· 2024-03-20
- MalwareSEKOIA.IO Community· Sekoia.io· 2024-03-20