SYMBOLCOMMON_NAMEaka. SYNONYMS
win.lightrail (Back to overview)

LIGHTRAIL

VTCollection    

According to Mandiant, this is a tunneler, likely based on an open-source Socks4a proxy, that communicates using Azure cloud infrastructure.

References
2024-02-27MandiantChen Evgi, Jonathan Leathery, Ofir Rozmann
When Cats Fly: Suspected Iranian Threat Actor UNC1549 Targets Israeli and Middle East Aerospace and Defense Sectors
LIGHTRAIL MINIBIKE MINIBUS UNC1549
Yara Rules
[TLP:WHITE] win_lightrail_auto (20260504 | Detects win.lightrail.)
rule win_lightrail_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-05-04"
        version = "1"
        description = "Detects win.lightrail."
        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.lightrail"
        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 = { 4883ec20 488bd9 4c8d0dc8af0000 33c9 4c8d05b7af0000 488d15b8af0000 e8???????? }
            // n = 7, score = 100
            //   4883ec20             | test                esi, esi
            //   488bd9               | je                  0x238
            //   4c8d0dc8af0000       | xor                 edx, edx
            //   33c9                 | test                ebp, ebp
            //   4c8d05b7af0000       | je                  0x27d
            //   488d15b8af0000       | dec                 eax
            //   e8????????           |                     

        $sequence_1 = { 0f85b5000000 b931ad0231 e8???????? 4885c0 }
            // n = 4, score = 100
            //   0f85b5000000         | je                  0x123
            //   b931ad0231           | mov                 edx, 0x3025da0
            //   e8????????           |                     
            //   4885c0               | mov                 ecx, 0xd34c7039

        $sequence_2 = { 488bce ff9398020000 8bc7 488b4d50 4833cc }
            // n = 5, score = 100
            //   488bce               | lea                 eax, [0x1470f]
            //   ff9398020000         | dec                 ebx
            //   8bc7                 | dec                 eax
            //   488b4d50             | lea                 ecx, [ebx + ebx*4]
            //   4833cc               | jmp                 0x464

        $sequence_3 = { 4889442430 4533d2 4c8d1de3ef0000 4d85c9 488d3d3b2f0000 488bc2 4c8bfa }
            // n = 7, score = 100
            //   4889442430           | mov                 ecx, 0x3102ad31
            //   4533d2               | dec                 eax
            //   4c8d1de3ef0000       | mov                 dword ptr [ebx + 0x68], eax
            //   4d85c9               | dec                 eax
            //   488d3d3b2f0000       | test                eax, eax
            //   488bc2               | je                  0xf1e
            //   4c8bfa               | mov                 edx, 0x27cd8c6a

        $sequence_4 = { 0f87cf000000 8b8c86b89a0000 4803ce ffe1 660f73f901 660f73d901 e9???????? }
            // n = 7, score = 100
            //   0f87cf000000         | mov                 ebp, edx
            //   8b8c86b89a0000       | dec                 ecx
            //   4803ce               | mov                 eax, dword ptr [edi + edi*8 + 0x1a118]
            //   ffe1                 | nop                 
            //   660f73f901           | dec                 ecx
            //   660f73d901           | cmp                 eax, esi
            //   e9????????           |                     

        $sequence_5 = { c74424647a006900 4533c9 4889442450 4533c0 }
            // n = 4, score = 100
            //   c74424647a006900     | dec                 esp
            //   4533c9               | mov                 dword ptr [edi + eax*8 + 0x10], esi
            //   4889442450           | inc                 dword ptr [edi + 8]
            //   4533c0               | inc                 dword ptr [edi + 0x314]

        $sequence_6 = { 488bcd ff9770020000 85c0 7f23 488b13 488bcf }
            // n = 6, score = 100
            //   488bcd               | mov                 eax, edi
            //   ff9770020000         | jmp                 0x14c3
            //   85c0                 | dec                 eax
            //   7f23                 | arpl                cx, dx
            //   488b13               | dec                 esp
            //   488bcf               | lea                 eax, [0x102d2]

        $sequence_7 = { 8d42ff 41894008 4963c1 498bca 4d899cc018030000 4d899cc0e80a0000 }
            // n = 6, score = 100
            //   8d42ff               | test                eax, eax
            //   41894008             | je                  0xe33
            //   4963c1               | mov                 edx, 0xaa46e0c4
            //   498bca               | mov                 ecx, 0xee63266a
            //   4d899cc018030000     | dec                 eax
            //   4d899cc0e80a0000     | mov                 dword ptr [ebx + 0x28], eax

        $sequence_8 = { b906000000 4c8d05d77d0000 e8???????? 488bd3 }
            // n = 4, score = 100
            //   b906000000           | dec                 esp
            //   4c8d05d77d0000       | lea                 edi, [0xffffbeb3]
            //   e8????????           |                     
            //   488bd3               | dec                 ecx

        $sequence_9 = { 488bd7 4c8d0533e10000 83e23f 488bcf 48c1f906 488d14d2 }
            // n = 6, score = 100
            //   488bd7               | inc                 edx
            //   4c8d0533e10000       | test                byte ptr [eax + edi*8 + 0x38], 0x40
            //   83e23f               | je                  0x1642
            //   488bcf               | dec                 eax
            //   48c1f906             | lea                 eax, [0xffff56d7]
            //   488d14d2             | dec                 edx

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