SYMBOLCOMMON_NAMEaka. SYNONYMS
win.sword (Back to overview)

Sword

Actor(s): Comment Crew


There is no description at this point.

References
2018MandiantMandiant
@techreport{mandiant:2018:apt1:b76cc4d, author = {Mandiant}, title = {{APT1}}, date = {2018}, institution = {Mandiant}, url = {https://github.com/securitykitten/malware_references/blob/master/Appendix%20C%20(Digital)%20-%20The%20Malware%20Arsenal.pdf}, language = {English}, urldate = {2020-01-13} } APT1
Auriga Biscuit Bouncer Combos CookieBag Dairy GetMail GlooxMail Goggles Hacksfase Helauto Kurton ManItsMe MAPIget MiniASP NewsReels SeaSalt StarsyPound Sword TabMsgSQL Tarsip WebC2-AdSpace WebC2-Ausov WebC2-Bolid WebC2-Cson WebC2-DIV WebC2-GreenCat WebC2-Head WebC2-Kt3 WebC2-Qbp WebC2-Rave WebC2-Table WebC2-UGX WebC2-Yahoo
Yara Rules
[TLP:WHITE] win_sword_auto (20211008 | Detects win.sword.)
rule win_sword_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2021-10-07"
        version = "1"
        description = "Detects win.sword."
        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.sword"
        malpedia_rule_date = "20211007"
        malpedia_hash = "e5b790e0f888f252d49063a1251ca60ec2832535"
        malpedia_version = "20211008"
        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 = { ffd3 85c0 742f 8b44240c 57 85c0 }
            // n = 6, score = 100
            //   ffd3                 | call                ebx
            //   85c0                 | test                eax, eax
            //   742f                 | je                  0x31
            //   8b44240c             | mov                 eax, dword ptr [esp + 0xc]
            //   57                   | push                edi
            //   85c0                 | test                eax, eax

        $sequence_1 = { 8be8 b940000000 33c0 8dbc2495050000 88942494050000 }
            // n = 5, score = 100
            //   8be8                 | mov                 ebp, eax
            //   b940000000           | mov                 ecx, 0x40
            //   33c0                 | xor                 eax, eax
            //   8dbc2495050000       | lea                 edi, dword ptr [esp + 0x595]
            //   88942494050000       | mov                 byte ptr [esp + 0x594], dl

        $sequence_2 = { 50 8d54241c 51 52 ff15???????? 85c0 0f8488090000 }
            // n = 7, score = 100
            //   50                   | push                eax
            //   8d54241c             | lea                 edx, dword ptr [esp + 0x1c]
            //   51                   | push                ecx
            //   52                   | push                edx
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax
            //   0f8488090000         | je                  0x98e

        $sequence_3 = { f2ae f7d1 49 807c0c275c 7523 8d7c2428 }
            // n = 6, score = 100
            //   f2ae                 | repne scasb         al, byte ptr es:[edi]
            //   f7d1                 | not                 ecx
            //   49                   | dec                 ecx
            //   807c0c275c           | cmp                 byte ptr [esp + ecx + 0x27], 0x5c
            //   7523                 | jne                 0x25
            //   8d7c2428             | lea                 edi, dword ptr [esp + 0x28]

        $sequence_4 = { 8a83e19f4000 2420 3c20 7509 0fb683e09e4000 eb02 8bc3 }
            // n = 7, score = 100
            //   8a83e19f4000         | mov                 al, byte ptr [ebx + 0x409fe1]
            //   2420                 | and                 al, 0x20
            //   3c20                 | cmp                 al, 0x20
            //   7509                 | jne                 0xb
            //   0fb683e09e4000       | movzx               eax, byte ptr [ebx + 0x409ee0]
            //   eb02                 | jmp                 4
            //   8bc3                 | mov                 eax, ebx

        $sequence_5 = { 88840c94060000 7413 3c0d 740f 41 }
            // n = 5, score = 100
            //   88840c94060000       | mov                 byte ptr [esp + ecx + 0x694], al
            //   7413                 | je                  0x15
            //   3c0d                 | cmp                 al, 0xd
            //   740f                 | je                  0x11
            //   41                   | inc                 ecx

        $sequence_6 = { b940000000 33c0 8d7c2419 8894241c010000 f3ab }
            // n = 5, score = 100
            //   b940000000           | mov                 ecx, 0x40
            //   33c0                 | xor                 eax, eax
            //   8d7c2419             | lea                 edi, dword ptr [esp + 0x19]
            //   8894241c010000       | mov                 byte ptr [esp + 0x11c], dl
            //   f3ab                 | rep stosd           dword ptr es:[edi], eax

        $sequence_7 = { 33c0 f2ae f7d1 49 885c0c27 }
            // n = 5, score = 100
            //   33c0                 | xor                 eax, eax
            //   f2ae                 | repne scasb         al, byte ptr es:[edi]
            //   f7d1                 | not                 ecx
            //   49                   | dec                 ecx
            //   885c0c27             | mov                 byte ptr [esp + ecx + 0x27], bl

        $sequence_8 = { f3a5 8bca 83e103 f3a4 8d442428 6a5c }
            // n = 6, score = 100
            //   f3a5                 | rep movsd           dword ptr es:[edi], dword ptr [esi]
            //   8bca                 | mov                 ecx, edx
            //   83e103               | and                 ecx, 3
            //   f3a4                 | rep movsb           byte ptr es:[edi], byte ptr [esi]
            //   8d442428             | lea                 eax, dword ptr [esp + 0x28]
            //   6a5c                 | push                0x5c

        $sequence_9 = { 7506 c6043a20 eb69 0fbec8 51 68???????? e8???????? }
            // n = 7, score = 100
            //   7506                 | jne                 8
            //   c6043a20             | mov                 byte ptr [edx + edi], 0x20
            //   eb69                 | jmp                 0x6b
            //   0fbec8               | movsx               ecx, al
            //   51                   | push                ecx
            //   68????????           |                     
            //   e8????????           |                     

    condition:
        7 of them and filesize < 106496
}
Download all Yara Rules