Actor(s): APT28
There is no description at this point.
rule win_computrace_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-05-04" version = "1" description = "Detects win.computrace." 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.computrace" 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 = { 8d45cc 50 ff75dc 8d8540f2ffff 50 ff75d8 53 } // n = 7, score = 200 // 8d45cc | lea eax, [ebp - 0x34] // 50 | push eax // ff75dc | push dword ptr [ebp - 0x24] // 8d8540f2ffff | lea eax, [ebp - 0xdc0] // 50 | push eax // ff75d8 | push dword ptr [ebp - 0x28] // 53 | push ebx $sequence_1 = { 53 53 56 e8???????? ebd5 } // n = 5, score = 200 // 53 | push ebx // 53 | push ebx // 56 | push esi // e8???????? | // ebd5 | jmp 0xffffffd7 $sequence_2 = { 0f85fbfeffff 8d8558ffffff 50 e8???????? 397de4 7420 } // n = 6, score = 200 // 0f85fbfeffff | jne 0xffffff01 // 8d8558ffffff | lea eax, [ebp - 0xa8] // 50 | push eax // e8???????? | // 397de4 | cmp dword ptr [ebp - 0x1c], edi // 7420 | je 0x22 $sequence_3 = { 7433 817de413010000 750b 8b8658440000 3b45e8 741f 8d45e0 } // n = 7, score = 200 // 7433 | je 0x35 // 817de413010000 | cmp dword ptr [ebp - 0x1c], 0x113 // 750b | jne 0xd // 8b8658440000 | mov eax, dword ptr [esi + 0x4458] // 3b45e8 | cmp eax, dword ptr [ebp - 0x18] // 741f | je 0x21 // 8d45e0 | lea eax, [ebp - 0x20] $sequence_4 = { 3bf3 7505 83f8ff 750f 53 53 } // n = 6, score = 200 // 3bf3 | cmp esi, ebx // 7505 | jne 7 // 83f8ff | cmp eax, -1 // 750f | jne 0x11 // 53 | push ebx // 53 | push ebx $sequence_5 = { 8d7e20 e8???????? 8d83401b0000 8bc8 2b8b481b0000 } // n = 5, score = 200 // 8d7e20 | lea edi, [esi + 0x20] // e8???????? | // 8d83401b0000 | lea eax, [ebx + 0x1b40] // 8bc8 | mov ecx, eax // 2b8b481b0000 | sub ecx, dword ptr [ebx + 0x1b48] $sequence_6 = { 56 e8???????? 56 e8???????? 0fb64e18 c1e904 80e107 } // n = 7, score = 200 // 56 | push esi // e8???????? | // 56 | push esi // e8???????? | // 0fb64e18 | movzx ecx, byte ptr [esi + 0x18] // c1e904 | shr ecx, 4 // 80e107 | and cl, 7 $sequence_7 = { 48 7407 035d0c 8a1b eb19 8a5e1a eb1e } // n = 7, score = 200 // 48 | dec eax // 7407 | je 9 // 035d0c | add ebx, dword ptr [ebp + 0xc] // 8a1b | mov bl, byte ptr [ebx] // eb19 | jmp 0x1b // 8a5e1a | mov bl, byte ptr [esi + 0x1a] // eb1e | jmp 0x20 $sequence_8 = { 894104 8b5004 85d2 7504 8901 } // n = 5, score = 200 // 894104 | mov dword ptr [ecx + 4], eax // 8b5004 | mov edx, dword ptr [eax + 4] // 85d2 | test edx, edx // 7504 | jne 6 // 8901 | mov dword ptr [ecx], eax $sequence_9 = { 897dfc 397dd8 7507 57 53 } // n = 5, score = 200 // 897dfc | mov dword ptr [ebp - 4], edi // 397dd8 | cmp dword ptr [ebp - 0x28], edi // 7507 | jne 9 // 57 | push edi // 53 | push ebx condition: 7 of them and filesize < 73728 }
rule win_computrace_w0 { meta: author = "ASERT" description = "Absolute Computrace Agent Executable" reference = "https://asert.arbornetworks.com/lojack-becomes-a-double-agent/#Yara" malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.computrace" malpedia_version = "20180503" malpedia_sharing = "TLP:WHITE" malpedia_license = "" strings: $a = { D1 E0 F5 8B 4D 0C 83 D1 00 8B EC FF 33 83 C3 04 } $b1 = { 72 70 63 6E 65 74 70 2E 65 78 65 00 72 70 63 6E 65 74 70 00 } $b2 = { 54 61 67 49 64 00 } condition: $a or ($b1 and $b2) }
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