There is no description at this point.
rule win_citadel_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-12-06" version = "1" description = "Detects win.citadel." 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.citadel" malpedia_rule_date = "20231130" malpedia_hash = "fc8a0e9f343f6d6ded9e7df1a64dac0cc68d7351" malpedia_version = "20230808" 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 = { eb0e 6800800000 53 57 } // n = 4, score = 4900 // eb0e | jmp 0x10 // 6800800000 | push 0x8000 // 53 | push ebx // 57 | push edi $sequence_1 = { 55 8bec ff7508 e8???????? e8???????? 5d } // n = 6, score = 4800 // 55 | push ebp // 8bec | mov ebp, esp // ff7508 | push dword ptr [ebp + 8] // e8???????? | // e8???????? | // 5d | pop ebp $sequence_2 = { eb03 83c002 68???????? 50 ff15???????? } // n = 5, score = 4800 // eb03 | jmp 5 // 83c002 | add eax, 2 // 68???????? | // 50 | push eax // ff15???????? | $sequence_3 = { e8???????? e8???????? 5d ff25???????? 55 8bec ff7508 } // n = 7, score = 4800 // e8???????? | // e8???????? | // 5d | pop ebp // ff25???????? | // 55 | push ebp // 8bec | mov ebp, esp // ff7508 | push dword ptr [ebp + 8] $sequence_4 = { 33c0 5f 5e c20400 55 8bec 8b4d0c } // n = 7, score = 4800 // 33c0 | xor eax, eax // 5f | pop edi // 5e | pop esi // c20400 | ret 4 // 55 | push ebp // 8bec | mov ebp, esp // 8b4d0c | mov ecx, dword ptr [ebp + 0xc] $sequence_5 = { e8???????? 8d7c0201 8bc7 e8???????? } // n = 4, score = 4800 // e8???????? | // 8d7c0201 | lea edi, [edx + eax + 1] // 8bc7 | mov eax, edi // e8???????? | $sequence_6 = { 50 e8???????? 6a44 5a 52 } // n = 5, score = 4800 // 50 | push eax // e8???????? | // 6a44 | push 0x44 // 5a | pop edx // 52 | push edx $sequence_7 = { 50 8d5dfc e8???????? 8b4dfc } // n = 4, score = 4800 // 50 | push eax // 8d5dfc | lea ebx, [ebp - 4] // e8???????? | // 8b4dfc | mov ecx, dword ptr [ebp - 4] $sequence_8 = { 884601 33c0 6689460c ff4df8 } // n = 4, score = 3700 // 884601 | mov byte ptr [esi + 1], al // 33c0 | xor eax, eax // 6689460c | mov word ptr [esi + 0xc], ax // ff4df8 | dec dword ptr [ebp - 8] $sequence_9 = { 8a5602 8b4e10 8a5e14 fec8 32d0 8ac2 3245fe } // n = 7, score = 3700 // 8a5602 | mov dl, byte ptr [esi + 2] // 8b4e10 | mov ecx, dword ptr [esi + 0x10] // 8a5e14 | mov bl, byte ptr [esi + 0x14] // fec8 | dec al // 32d0 | xor dl, al // 8ac2 | mov al, dl // 3245fe | xor al, byte ptr [ebp - 2] $sequence_10 = { 8845fe c645ff00 763c 8a06 } // n = 4, score = 3700 // 8845fe | mov byte ptr [ebp - 2], al // c645ff00 | mov byte ptr [ebp - 1], 0 // 763c | jbe 0x3e // 8a06 | mov al, byte ptr [esi] $sequence_11 = { 3aca 73fa 0fb6c9 8b04c8 ebae 32c0 5f } // n = 7, score = 3700 // 3aca | cmp cl, dl // 73fa | jae 0xfffffffc // 0fb6c9 | movzx ecx, cl // 8b04c8 | mov eax, dword ptr [eax + ecx*8] // ebae | jmp 0xffffffb0 // 32c0 | xor al, al // 5f | pop edi $sequence_12 = { 33c0 6689460e 0fb74606 6685c0 7432 } // n = 5, score = 3700 // 33c0 | xor eax, eax // 6689460e | mov word ptr [esi + 0xe], ax // 0fb74606 | movzx eax, word ptr [esi + 6] // 6685c0 | test ax, ax // 7432 | je 0x34 $sequence_13 = { 85c0 7409 3255fd 8a0f ffd0 8807 } // n = 6, score = 3700 // 85c0 | test eax, eax // 7409 | je 0xb // 3255fd | xor dl, byte ptr [ebp - 3] // 8a0f | mov cl, byte ptr [edi] // ffd0 | call eax // 8807 | mov byte ptr [edi], al $sequence_14 = { 6685c0 7432 66ff460e 6639460e } // n = 4, score = 3700 // 6685c0 | test ax, ax // 7432 | je 0x34 // 66ff460e | inc word ptr [esi + 0xe] // 6639460e | cmp word ptr [esi + 0xe], ax $sequence_15 = { 6639460c 7228 8b4610 8a4e05 8a5614 85c0 } // n = 6, score = 3700 // 6639460c | cmp word ptr [esi + 0xc], ax // 7228 | jb 0x2a // 8b4610 | mov eax, dword ptr [esi + 0x10] // 8a4e05 | mov cl, byte ptr [esi + 5] // 8a5614 | mov dl, byte ptr [esi + 0x14] // 85c0 | test eax, eax condition: 7 of them and filesize < 1236992 }
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