SYMBOLCOMMON_NAMEaka. SYNONYMS
win.icexloader (Back to overview)

win.icexloader

VTCollection    

IceXLoader is a commercial malware used to download and deploy additional malware on infected machines. The latest version is written in Nim, a relatively new language utilized by threat actors the past two years, most notably by the NimzaLoader variant of BazarLoader used by the TrickBot group.

The v1 was written in AutoIT.

References
2022-06-15 ⋅ Joie Salvio, Roy Tay
New IceXLoader 3.0 – Developers Warm Up to Nim
win.icexloader
Yara Rules
[TLP:WHITE] win_icexloader_auto (20260917 | Detects win.icexloader.)
rule win_icexloader_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.icexloader."
        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.icexloader"
        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 = { 8b8550ffffff 29d0 8945b0 8b85ecfeffff 8b55b0 89542404 890424 }
            // n = 7, score = 200
            //   8b8550ffffff         | mov                 eax, dword ptr [ebp - 0xb0]
            //   29d0                 | sub                 eax, edx
            //   8945b0               | mov                 dword ptr [ebp - 0x50], eax
            //   8b85ecfeffff         | mov                 eax, dword ptr [ebp - 0x114]
            //   8b55b0               | mov                 edx, dword ptr [ebp - 0x50]
            //   89542404             | mov                 dword ptr [esp + 4], edx
            //   890424               | mov                 dword ptr [esp], eax

        $sequence_1 = { dec9 dd04c540574200 0f896afcffff def9 e9???????? 83bde0fdffff00 784e }
            // n = 7, score = 200
            //   dec9                 | fmulp               st(1)
            //   dd04c540574200       | fld                 qword ptr [eax*8 + 0x425740]
            //   0f896afcffff         | jns                 0xfffffc70
            //   def9                 | fdivp               st(1)
            //   e9????????           |                     
            //   83bde0fdffff00       | cmp                 dword ptr [ebp - 0x220], 0
            //   784e                 | js                  0x50

        $sequence_2 = { ba08000000 01f8 8945d0 8d45d8 e8???????? b9???????? e8???????? }
            // n = 7, score = 200
            //   ba08000000           | mov                 edx, 8
            //   01f8                 | add                 eax, edi
            //   8945d0               | mov                 dword ptr [ebp - 0x30], eax
            //   8d45d8               | lea                 eax, [ebp - 0x28]
            //   e8????????           |                     
            //   b9????????           |                     
            //   e8????????           |                     

        $sequence_3 = { 8955c0 e8???????? 8b55c0 89c3 e8???????? ba???????? }
            // n = 6, score = 200
            //   8955c0               | mov                 dword ptr [ebp - 0x40], edx
            //   e8????????           |                     
            //   8b55c0               | mov                 edx, dword ptr [ebp - 0x40]
            //   89c3                 | mov                 ebx, eax
            //   e8????????           |                     
            //   ba????????           |                     

        $sequence_4 = { 85ff 7407 8b07 8945d8 eb07 c745d800000000 c745e000000000 }
            // n = 7, score = 200
            //   85ff                 | test                edi, edi
            //   7407                 | je                  9
            //   8b07                 | mov                 eax, dword ptr [edi]
            //   8945d8               | mov                 dword ptr [ebp - 0x28], eax
            //   eb07                 | jmp                 9
            //   c745d800000000       | mov                 dword ptr [ebp - 0x28], 0
            //   c745e000000000       | mov                 dword ptr [ebp - 0x20], 0

        $sequence_5 = { 83bd30ffffff00 7407 ba10000000 eb05 ba20000000 8b8510ffffff 09d0 }
            // n = 7, score = 200
            //   83bd30ffffff00       | cmp                 dword ptr [ebp - 0xd0], 0
            //   7407                 | je                  9
            //   ba10000000           | mov                 edx, 0x10
            //   eb05                 | jmp                 7
            //   ba20000000           | mov                 edx, 0x20
            //   8b8510ffffff         | mov                 eax, dword ptr [ebp - 0xf0]
            //   09d0                 | or                  eax, edx

        $sequence_6 = { 891c24 eb0c 8d45e0 891c24 89f2 89442404 8d4dd8 }
            // n = 7, score = 200
            //   891c24               | mov                 dword ptr [esp], ebx
            //   eb0c                 | jmp                 0xe
            //   8d45e0               | lea                 eax, [ebp - 0x20]
            //   891c24               | mov                 dword ptr [esp], ebx
            //   89f2                 | mov                 edx, esi
            //   89442404             | mov                 dword ptr [esp + 4], eax
            //   8d4dd8               | lea                 ecx, [ebp - 0x28]

        $sequence_7 = { 8d8518fdffff c78504fdfffffdffffff e8???????? ba20000000 8d8538fdffff e8???????? 83bdf4fcffff00 }
            // n = 7, score = 200
            //   8d8518fdffff         | lea                 eax, [ebp - 0x2e8]
            //   c78504fdfffffdffffff     | mov    dword ptr [ebp - 0x2fc], 0xfffffffd
            //   e8????????           |                     
            //   ba20000000           | mov                 edx, 0x20
            //   8d8538fdffff         | lea                 eax, [ebp - 0x2c8]
            //   e8????????           |                     
            //   83bdf4fcffff00       | cmp                 dword ptr [ebp - 0x30c], 0

        $sequence_8 = { 8d8520f0ffff e8???????? 84db 7560 8b85e4e6ffff ba05000000 e8???????? }
            // n = 7, score = 200
            //   8d8520f0ffff         | lea                 eax, [ebp - 0xfe0]
            //   e8????????           |                     
            //   84db                 | test                bl, bl
            //   7560                 | jne                 0x62
            //   8b85e4e6ffff         | mov                 eax, dword ptr [ebp - 0x191c]
            //   ba05000000           | mov                 edx, 5
            //   e8????????           |                     

        $sequence_9 = { 5f 5d c20400 55 d9ee 89e5 }
            // n = 6, score = 200
            //   5f                   | pop                 edi
            //   5d                   | pop                 ebp
            //   c20400               | ret                 4
            //   55                   | push                ebp
            //   d9ee                 | fldz                
            //   89e5                 | mov                 ebp, esp

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