BastionGuard/data/yara/voidlink.yara
specialworld83 d34e319fbe Public release
2026-02-27 21:37:06 +01:00

55 lines
2 KiB
Text

import "hash"
import "elf"
rule VoidLink_Implant_Hash_Conosciuti
{
meta:
description = "Rileva i sample noti di VoidLink (implant principali)"
author = "Basato su Check Point Research IOC"
date = "2026-01"
condition:
uint32(0) == 0x7f454c46 and // È un file ELF Linux
filesize < 5MB and
(
hash.sha256(0, filesize) == "05eac3663d47a29da0d32f67e10d161f831138e10958dcd88b9dc97038948f69" or
hash.sha256(0, filesize) == "15cb93d38b0a4bd931434a501d8308739326ce482da5158eb657b0af0fa7ba49" or
hash.sha256(0, filesize) == "6850788b9c76042e0e29a318f65fceb574083ed3ec39a34bc64a1292f4586b41" or
hash.sha256(0, filesize) == "6dcfe9f66d3aef1efd7007c588a59f69e5cd61b7a8eca1fb89a84b8ccef13a2b" or
hash.sha256(0, filesize) == "28c4a4df27f7ce8ced69476cc7923cf56625928a7b4530bc7b484eec67fe3943" or
hash.sha256(0, filesize) == "e990a39e479e0750d2320735444b6c86cc26822d86a40d37d6e163d0fe058896" or
hash.sha256(0, filesize) == "4c4201cc1278da615bacf48deef461bf26c343f8cbb2d8596788b41829a39f3f"
)
}
rule VoidLink_Stringhe_Core
{
meta:
description = "Trova le stringhe principali di VoidLink"
author = "Basato su analisi Check Point"
strings:
$s1 = "VoidLink" ascii fullword
$s2 = "VoidStream" ascii fullword // nome del protocollo C2
condition:
uint32(0) == 0x7f454c46 and
filesize < 5MB and
any of them
}
rule VoidLink_Plugin_Sospetti
{
meta:
description = "Rileva i plugin / moduli di VoidLink (es. _v3.o)"
author = "Basato su IOC Check Point"
strings:
$p1 = "_v3.o" ascii
$p2 = "ssh_harvester_stealth" ascii
$p3 = "port_scan_stealth" ascii
$p4 = "k8s_privesc" ascii
$p5 = "docker_escape" ascii
$p6 = "passwd_dump" ascii
$p7 = "ld_preload" ascii
condition:
uint32(0) == 0x7f454c46 and
filesize < 2MB and
any of ($p*)
}