Actor(s): Hacking Team, APT-C-34
There is no description at this point.
rule win_rcs_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-05-04" version = "1" description = "Detects win.rcs." info = "autogenerated rule brought to you by yara-signator" tool = "yara-signator v0.6.0" signator_config = "callsandjumps;datarefs;binvalue" malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.rcs" malpedia_rule_date = "20260422" malpedia_hash = "a182e35da64e6d71cb55f125c4d4225196523f14" malpedia_version = "20260504" malpedia_license = "CC BY-SA 4.0" malpedia_sharing = "TLP:WHITE" /* DISCLAIMER * The strings used in this rule have been automatically selected from the * disassembly of memory dumps and unpacked files, using YARA-Signator. * The code and documentation is published here: * https://github.com/fxb-cocacoding/yara-signator * As Malpedia is used as data source, please note that for a given * number of families, only single samples are documented. * This likely impacts the degree of generalization these rules will offer. * Take the described generation method also into consideration when you * apply the rules in your use cases and assign them confidence levels. */ strings: $sequence_0 = { 8944245a 8944245e 89442462 89442466 8944246a } // n = 5, score = 200 // 8944245a | mov dword ptr [esp + 0x5a], eax // 8944245e | mov dword ptr [esp + 0x5e], eax // 89442462 | mov dword ptr [esp + 0x62], eax // 89442466 | mov dword ptr [esp + 0x66], eax // 8944246a | mov dword ptr [esp + 0x6a], eax $sequence_1 = { 85ff 0f84d4000000 57 e8???????? } // n = 4, score = 200 // 85ff | test edi, edi // 0f84d4000000 | je 0xda // 57 | push edi // e8???????? | $sequence_2 = { 6a00 6880000000 6a01 6a00 6a05 6800000040 } // n = 6, score = 200 // 6a00 | push 0 // 6880000000 | push 0x80 // 6a01 | push 1 // 6a00 | push 0 // 6a05 | push 5 // 6800000040 | push 0x40000000 $sequence_3 = { e8???????? 83c430 6aff 68???????? } // n = 4, score = 200 // e8???????? | // 83c430 | add esp, 0x30 // 6aff | push -1 // 68???????? | $sequence_4 = { ff15???????? 5f 5e 5d 5b 33c0 } // n = 6, score = 200 // ff15???????? | // 5f | pop edi // 5e | pop esi // 5d | pop ebp // 5b | pop ebx // 33c0 | xor eax, eax $sequence_5 = { 40 68???????? 50 e8???????? 83c40c eb0d } // n = 6, score = 200 // 40 | inc eax // 68???????? | // 50 | push eax // e8???????? | // 83c40c | add esp, 0xc // eb0d | jmp 0xf $sequence_6 = { 8b37 81c604010000 56 ff75fc ff5704 } // n = 5, score = 100 // 8b37 | mov esi, dword ptr [edi] // 81c604010000 | add esi, 0x104 // 56 | push esi // ff75fc | push dword ptr [ebp - 4] // ff5704 | call dword ptr [edi + 4] $sequence_7 = { 0508070000 50 ff96b8000000 898554f4fbff 85c0 } // n = 5, score = 100 // 0508070000 | add eax, 0x708 // 50 | push eax // ff96b8000000 | call dword ptr [esi + 0xb8] // 898554f4fbff | mov dword ptr [ebp - 0x40bac], eax // 85c0 | test eax, eax $sequence_8 = { 83fb03 7413 83fb0c 740e } // n = 4, score = 100 // 83fb03 | cmp ebx, 3 // 7413 | je 0x15 // 83fb0c | cmp ebx, 0xc // 740e | je 0x10 $sequence_9 = { 8b86dc000000 ffb06c020000 ff5658 8b86dc000000 833800 0f94c0 } // n = 6, score = 100 // 8b86dc000000 | mov eax, dword ptr [esi + 0xdc] // ffb06c020000 | push dword ptr [eax + 0x26c] // ff5658 | call dword ptr [esi + 0x58] // 8b86dc000000 | mov eax, dword ptr [esi + 0xdc] // 833800 | cmp dword ptr [eax], 0 // 0f94c0 | sete al $sequence_10 = { 81f2ab278738 6681f90e53 8d92d531ed6c a94c72b42b 85fe 33da } // n = 6, score = 100 // 81f2ab278738 | xor edx, 0x388727ab // 6681f90e53 | cmp cx, 0x530e // 8d92d531ed6c | lea edx, [edx + 0x6ced31d5] // a94c72b42b | test eax, 0x2bb4724c // 85fe | test esi, edi // 33da | xor ebx, edx $sequence_11 = { 81f2b716590f f8 f5 33da } // n = 4, score = 100 // 81f2b716590f | xor edx, 0xf5916b7 // f8 | clc // f5 | cmc // 33da | xor ebx, edx $sequence_12 = { ff5670 ffb58cf4fbff 50 ff5604 } // n = 4, score = 100 // ff5670 | call dword ptr [esi + 0x70] // ffb58cf4fbff | push dword ptr [ebp - 0x40b74] // 50 | push eax // ff5604 | call dword ptr [esi + 4] $sequence_13 = { c1e704 8b8d48f4fbff 83c103 0fb78c8870020000 } // n = 4, score = 100 // c1e704 | shl edi, 4 // 8b8d48f4fbff | mov ecx, dword ptr [ebp - 0x40bb8] // 83c103 | add ecx, 3 // 0fb78c8870020000 | movzx ecx, word ptr [eax + ecx*4 + 0x270] $sequence_14 = { 8b75f0 8b3cbe 037df8 897ddc 6a0e 6a00 } // n = 6, score = 100 // 8b75f0 | mov esi, dword ptr [ebp - 0x10] // 8b3cbe | mov edi, dword ptr [esi + edi*4] // 037df8 | add edi, dword ptr [ebp - 8] // 897ddc | mov dword ptr [ebp - 0x24], edi // 6a0e | push 0xe // 6a00 | push 0 $sequence_15 = { f7e1 898530f4fbff 8b8534f4fbff 8b9530f4fbff 8b0402 8945f8 8945f0 } // n = 7, score = 100 // f7e1 | mul ecx // 898530f4fbff | mov dword ptr [ebp - 0x40bd0], eax // 8b8534f4fbff | mov eax, dword ptr [ebp - 0x40bcc] // 8b9530f4fbff | mov edx, dword ptr [ebp - 0x40bd0] // 8b0402 | mov eax, dword ptr [edx + eax] // 8945f8 | mov dword ptr [ebp - 8], eax // 8945f0 | mov dword ptr [ebp - 0x10], eax $sequence_16 = { 47 81ffe8030000 72d7 68a00f0000 } // n = 4, score = 100 // 47 | inc edi // 81ffe8030000 | cmp edi, 0x3e8 // 72d7 | jb 0xffffffd9 // 68a00f0000 | push 0xfa0 $sequence_17 = { 83fb03 5b 7516 68???????? } // n = 4, score = 100 // 83fb03 | cmp ebx, 3 // 5b | pop ebx // 7516 | jne 0x18 // 68???????? | condition: 7 of them and filesize < 11501568 }
rule win_rcs_w0 { meta: author = "Florian Roth" description = "Hacking Team Disclosure Sample - file elevator.exe" reference = "Hacking Team Disclosure elevator.c" date = "2015-07-07" hash = "40a10420b9d49f87527bc0396b19ec29e55e9109e80b52456891243791671c1c" hash = "92aec56a859679917dffa44bd4ffeb5a8b2ee2894c689abbbcbe07842ec56b8d" hash = "9261693b67b6e379ad0e57598602712b8508998c0cb012ca23139212ae0009a1" malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.rcs" malpedia_version = "20170521" malpedia_license = "CC BY-NC-SA 4.0" malpedia_sharing = "TLP:WHITE" strings: $x1 = "CRTDLL.DLL" fullword ascii $x2 = "\\sysnative\\CI.dll" fullword ascii $x3 = "\\SystemRoot\\system32\\CI.dll" fullword ascii $x4 = "C:\\\\Windows\\\\Sysnative\\\\ntoskrnl.exe" fullword ascii /* PEStudio Blacklist: strings */ $s1 = "[*] traversing processes" fullword ascii /* PEStudio Blacklist: strings */ $s2 = "_getkprocess" fullword ascii /* PEStudio Blacklist: strings */ $s3 = "[*] LoaderConfig %p" fullword ascii /* PEStudio Blacklist: strings */ $s4 = "loader.obj" fullword ascii /* PEStudio Blacklist: strings */ $s5 = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3" ascii /* PEStudio Blacklist: strings */ $s6 = "[*] token restore" fullword ascii /* PEStudio Blacklist: strings */ $s7 = "elevator.obj" fullword ascii $s8 = "_getexport" fullword ascii /* PEStudio Blacklist: strings */ condition: uint16(0) == 0x5a4d and filesize < 3000KB and all of ($x*) and 3 of ($s*) }
rule win_rcs_w1 { meta: description = "Hacking Team Disclosure Sample - file ndisk.sys" author = "Florian Roth" reference = "https://www.virustotal.com/en/file/a03a6ed90b89945a992a8c69f716ec3c743fa1d958426f4c50378cca5bef0a01/analysis/1436184181/" date = "2015-07-07" hash = "cf5089752ba51ae827971272a5b761a4ab0acd84" malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.rcs" malpedia_version = "20170521" malpedia_license = "CC BY-NC-SA 4.0" malpedia_sharing = "TLP:WHITE" strings: $s1 = "\\Registry\\Machine\\System\\ControlSet00%d\\services\\ndisk.sys" fullword wide $s2 = "\\Registry\\Machine\\System\\ControlSet00%d\\Enum\\Root\\LEGACY_NDISK.SYS" fullword wide $s3 = "\\Driver\\DeepFrz" fullword wide $s4 = "Microsoft Kernel Disk Manager" fullword wide $s5 = "ndisk.sys" fullword wide $s6 = "\\Device\\MSH4DEV1" fullword wide $s7 = "\\DosDevices\\MSH4DEV1" fullword wide $s8 = "built by: WinDDK" fullword wide condition: uint16(0) == 0x5a4d and filesize < 30KB and 6 of them }
If your designated proposal does not fit in any other category, feel free to write a free-text in the comment field below. Changes regarding references should be proposed on the Malpedia library page.
Your suggestion will be reviewed before being published. Thank you for contributing!
YYYY-MM-DD
YYYY-MM
YYYY