Sliver_Implant_32bit
Description
Sliver 32-bit implant (with and without --debug flag at compile)
Query · yara
strings:
// We look for the specific switch/case statement case values.
// case "tcppivot":
/*
81 ?? 74 63 70 70 cmp dword ptr [ecx], 70706374h
.
.
.
81 ?? 04 69 76 6F 74 cmp dword ptr [ecx+4], 746F7669h
*/
$s_tcppivot = { 81 ?? 74 63 70 70 [2-20] 81 ?? 04 69 76 6F 74 }
// case "wg":
/*
66 81 ?? 77 67 cmp word ptr [eax], 6777h // "gw"
*/
$s_wg = { 66 81 ?? 77 67 }
// case "dns":
/*
66 81 ?? 64 6E cmp word ptr [eax], 6E64h // "nd"
.
.
.
80 ?? 02 73 cmp byte ptr [eax+2], 73h ; 's'
*/
$s_dns = { 66 81 ?? 64 6E [2-20] 80 ?? 02 73 }
// case "http":
/*
81 ?? 68 74 74 70 cmp dword ptr [eax], 70747468h // "ptth"
*/
$s_http = { 81 ?? 68 74 74 70 }
// case "https":
/*
81 ?? 68 74 74 70 cmp dword ptr [ecx], 70747468h // "ptth"
.
.
.
80 ?? 04 73 cmp byte ptr [ecx+4], 73h ; 's'
*/
$s_https = { 81 ?? 68 74 74 70 [2-20] 80 ?? 04 73 }
// case "mtls": NOTE: this one can be missing due to compilate time config
/*
81 ?? 6D 74 6C 73 cmp dword ptr [eax], 736C746Dh // "sltm"
*/
$s_mtls = { 81 ?? 6D 74 6C 73 }
$fp1 = "cloudfoundry" ascii fullword
$fp2 = "googleapi.Error" ascii
condition:
4 of ($s*)
and not 1 of ($fp*)
and not pe.number_of_signatures > 0