SYMBOLCOMMON_NAMEaka. SYNONYMS
win.zerot (Back to overview)

ZeroT

VTCollection    

There is no description at this point.

References
2017-02-02ProofpointAxel F, Darien Huss, Pierre T, Proofpoint Staff
Oops, they did it again: APT Targets Russia and Belarus with ZeroT and PlugX
ZeroT
Yara Rules
[TLP:WHITE] win_zerot_auto (20230808 | Detects win.zerot.)
rule win_zerot_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-12-06"
        version = "1"
        description = "Detects win.zerot."
        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.zerot"
        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 = { ff15???????? 46 81e6ff000080 7908 }
            // n = 4, score = 200
            //   ff15????????         |                     
            //   46                   | inc                 esi
            //   81e6ff000080         | and                 esi, 0x800000ff
            //   7908                 | jns                 0xa

        $sequence_1 = { 50 68???????? ff15???????? 8b3d???????? 8d85bcfbffff 50 }
            // n = 6, score = 200
            //   50                   | push                eax
            //   68????????           |                     
            //   ff15????????         |                     
            //   8b3d????????         |                     
            //   8d85bcfbffff         | lea                 eax, [ebp - 0x444]
            //   50                   | push                eax

        $sequence_2 = { 6a00 ff760c ff15???????? 85c0 7430 6a00 8d85ccf9ffff }
            // n = 7, score = 200
            //   6a00                 | push                0
            //   ff760c               | push                dword ptr [esi + 0xc]
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax
            //   7430                 | je                  0x32
            //   6a00                 | push                0
            //   8d85ccf9ffff         | lea                 eax, [ebp - 0x634]

        $sequence_3 = { 8bf8 6a59 ff15???????? 85c0 b9???????? 0f45cf }
            // n = 6, score = 200
            //   8bf8                 | mov                 edi, eax
            //   6a59                 | push                0x59
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax
            //   b9????????           |                     
            //   0f45cf               | cmovne              ecx, edi

        $sequence_4 = { 8b8ef2050000 8d96fa050000 e8???????? 8d8534cdffff 50 6802020000 ff15???????? }
            // n = 7, score = 200
            //   8b8ef2050000         | mov                 ecx, dword ptr [esi + 0x5f2]
            //   8d96fa050000         | lea                 edx, [esi + 0x5fa]
            //   e8????????           |                     
            //   8d8534cdffff         | lea                 eax, [ebp - 0x32cc]
            //   50                   | push                eax
            //   6802020000           | push                0x202
            //   ff15????????         |                     

        $sequence_5 = { 85c0 740c 81bd34fcffffc8000000 7421 8b8530fcffff 40 898530fcffff }
            // n = 7, score = 200
            //   85c0                 | test                eax, eax
            //   740c                 | je                  0xe
            //   81bd34fcffffc8000000     | cmp    dword ptr [ebp - 0x3cc], 0xc8
            //   7421                 | je                  0x23
            //   8b8530fcffff         | mov                 eax, dword ptr [ebp - 0x3d0]
            //   40                   | inc                 eax
            //   898530fcffff         | mov                 dword ptr [ebp - 0x3d0], eax

        $sequence_6 = { 8d7001 75da 8b35???????? 8d857cffffff 50 ffd6 83c002 }
            // n = 7, score = 200
            //   8d7001               | lea                 esi, [eax + 1]
            //   75da                 | jne                 0xffffffdc
            //   8b35????????         |                     
            //   8d857cffffff         | lea                 eax, [ebp - 0x84]
            //   50                   | push                eax
            //   ffd6                 | call                esi
            //   83c002               | add                 eax, 2

        $sequence_7 = { 6800020000 8d85bcfdffff 6a00 50 e8???????? 68???????? }
            // n = 6, score = 200
            //   6800020000           | push                0x200
            //   8d85bcfdffff         | lea                 eax, [ebp - 0x244]
            //   6a00                 | push                0
            //   50                   | push                eax
            //   e8????????           |                     
            //   68????????           |                     

        $sequence_8 = { 880c32 8a47f8 c0e005 02c1 880432 }
            // n = 5, score = 200
            //   880c32               | mov                 byte ptr [edx + esi], cl
            //   8a47f8               | mov                 al, byte ptr [edi - 8]
            //   c0e005               | shl                 al, 5
            //   02c1                 | add                 al, cl
            //   880432               | mov                 byte ptr [edx + esi], al

        $sequence_9 = { 0f84b6000000 80bd53fcffff00 0f84a9000000 0fb74214 }
            // n = 4, score = 200
            //   0f84b6000000         | je                  0xbc
            //   80bd53fcffff00       | cmp                 byte ptr [ebp - 0x3ad], 0
            //   0f84a9000000         | je                  0xaf
            //   0fb74214             | movzx               eax, word ptr [edx + 0x14]

    condition:
        7 of them and filesize < 303104
}
[TLP:WHITE] win_zerot_w0   (20180301 | Detects malware from the Proofpoint CN APT ZeroT incident)
rule win_zerot_w0 {
    meta:
        description = "Detects malware from the Proofpoint CN APT ZeroT incident"
        author = "Florian Roth"
        reference = "https://www.proofpoint.com/us/threat-insight/post/APT-targets-russia-belarus-zerot-plugx"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.zerot"
        malpedia_version = "20180301"
        malpedia_license = "CC BY-NC-SA 4.0"
        malpedia_sharing = "TLP:WHITE"
    strings:
        $s6 = "jGetgQ|0h9=" fullword ascii
    condition:
        ( 10 of ($s*) ) or ( all of them )
}
Download all Yara Rules