SYMBOLCOMMON_NAMEaka. SYNONYMS
win.wm_rat (Back to overview)

WmRAT

Actor(s): HAZY TIGER

VTCollection    

According to Proofpoint, WmRAT is a remote access trojan (RAT) written in C++ that uses sockets for communications and has standard RAT functionality. The RAT can gather basic host information, upload or download files, take screenshots, get geolocation data of the target machine, enumerate directories and files, and run arbitrary commands via cmd or PowerShell. The malware also generates a number of junk threads, potentially to mislead researchers or responders investigating the samples.

References
2025-06-04 ⋅ Threatray ⋅ Abdallah Elshinbary, Jonas Wagner, Konstantin Klinger, Nick Attfield
The Bitter End: Unraveling Eight Years of Espionage Antics – Part Two
AlmondRAT AlmondRAT Artra Downloader BDarkRAT Havoc KiwiStealer KugelBlitz MiyaRAT ORPCBackdoor WmRAT ZxxZ
2025-05-28 ⋅ EclecticIQ ⋅ Alon Gal, Arda Büyükkaya
Pakistan Telecommunication Company (PTCL) Targeted by Bitter APT During Heightened Regional Conflict
WmRAT
2024-12-17 ⋅ Proofpoint ⋅ David Galazin, Konstantin Klinger, Nick Attfield, Pim Trouerbach
Hidden in Plain Sight: TA397’s New Attack Chain Delivers Espionage RATs
MiyaRAT WmRAT HAZY TIGER
Yara Rules
[TLP:WHITE] win_wm_rat_auto (20260917 | Detects win.wm_rat.)
rule win_wm_rat_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.wm_rat."
        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.wm_rat"
        malpedia_rule_date = "20260916"
        malpedia_hash = "53a643781c18e08f4a50949af60172d837a0b6f6"
        malpedia_version = "20260917"
        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 = { 6a00 ffd6 8d942490020000 52 6802010000 ff15???????? 85c0 }
            // n = 7, score = 100
            //   6a00                 | push                0
            //   ffd6                 | call                esi
            //   8d942490020000       | lea                 edx, [esp + 0x290]
            //   52                   | push                edx
            //   6802010000           | push                0x102
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax

        $sequence_1 = { 8db4247c0d0000 e8???????? 83c41c 84c0 0f8489000000 83bc24780d000010 8b8424640d0000 }
            // n = 7, score = 100
            //   8db4247c0d0000       | lea                 esi, [esp + 0xd7c]
            //   e8????????           |                     
            //   83c41c               | add                 esp, 0x1c
            //   84c0                 | test                al, al
            //   0f8489000000         | je                  0x8f
            //   83bc24780d000010     | cmp                 dword ptr [esp + 0xd78], 0x10
            //   8b8424640d0000       | mov                 eax, dword ptr [esp + 0xd64]

        $sequence_2 = { 50 8d84242c050000 898c242c050000 e8???????? 8d542418 c684247c31020028 8b8c2424050000 }
            // n = 7, score = 100
            //   50                   | push                eax
            //   8d84242c050000       | lea                 eax, [esp + 0x52c]
            //   898c242c050000       | mov                 dword ptr [esp + 0x52c], ecx
            //   e8????????           |                     
            //   8d542418             | lea                 edx, [esp + 0x18]
            //   c684247c31020028     | mov                 byte ptr [esp + 0x2317c], 0x28
            //   8b8c2424050000       | mov                 ecx, dword ptr [esp + 0x524]

        $sequence_3 = { 51 dd15???????? e8???????? 8b35???????? 50 ffd6 83c40c }
            // n = 7, score = 100
            //   51                   | push                ecx
            //   dd15????????         |                     
            //   e8????????           |                     
            //   8b35????????         |                     
            //   50                   | push                eax
            //   ffd6                 | call                esi
            //   83c40c               | add                 esp, 0xc

        $sequence_4 = { 8d8c247c010000 ff15???????? 8d942494010000 52 8d8c247c010000 ff15???????? }
            // n = 6, score = 100
            //   8d8c247c010000       | lea                 ecx, [esp + 0x17c]
            //   ff15????????         |                     
            //   8d942494010000       | lea                 edx, [esp + 0x194]
            //   52                   | push                edx
            //   8d8c247c010000       | lea                 ecx, [esp + 0x17c]
            //   ff15????????         |                     

        $sequence_5 = { 8944242c 89442414 a1???????? c744240c00000000 c744241801000000 c744241c06000000 7305 }
            // n = 7, score = 100
            //   8944242c             | mov                 dword ptr [esp + 0x2c], eax
            //   89442414             | mov                 dword ptr [esp + 0x14], eax
            //   a1????????           |                     
            //   c744240c00000000     | mov                 dword ptr [esp + 0xc], 0
            //   c744241801000000     | mov                 dword ptr [esp + 0x18], 1
            //   c744241c06000000     | mov                 dword ptr [esp + 0x1c], 6
            //   7305                 | jae                 7

        $sequence_6 = { bf10000000 393d???????? 7305 be???????? 6a00 6800040000 }
            // n = 6, score = 100
            //   bf10000000           | mov                 edi, 0x10
            //   393d????????         |                     
            //   7305                 | jae                 7
            //   be????????           |                     
            //   6a00                 | push                0
            //   6800040000           | push                0x400

        $sequence_7 = { 8d8c24f00d0000 ff15???????? 6a1a 83ec1c 8bd4 c784249c31020046000000 89642454 }
            // n = 7, score = 100
            //   8d8c24f00d0000       | lea                 ecx, [esp + 0xdf0]
            //   ff15????????         |                     
            //   6a1a                 | push                0x1a
            //   83ec1c               | sub                 esp, 0x1c
            //   8bd4                 | mov                 edx, esp
            //   c784249c31020046000000     | mov    dword ptr [esp + 0x2319c], 0x46
            //   89642454             | mov                 dword ptr [esp + 0x54], esp

        $sequence_8 = { a3???????? ff15???????? 85c0 7427 8b0d???????? 51 }
            // n = 6, score = 100
            //   a3????????           |                     
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax
            //   7427                 | je                  0x29
            //   8b0d????????         |                     
            //   51                   | push                ecx

        $sequence_9 = { 83c420 8d480c 83caff f00fc111 4a 85d2 }
            // n = 6, score = 100
            //   83c420               | add                 esp, 0x20
            //   8d480c               | lea                 ecx, [eax + 0xc]
            //   83caff               | or                  edx, 0xffffffff
            //   f00fc111             | lock xadd           dword ptr [ecx], edx
            //   4a                   | dec                 edx
            //   85d2                 | test                edx, edx

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