SYMBOLCOMMON_NAMEaka. SYNONYMS
win.dyre (Back to overview)

Dyre

aka: Dyreza

Actor(s): WIZARD SPIDER

VTCollection    

The Dyre Banking Trojan, discovered in June 2014, targets online banking websites for credential theft and fraud. It uses a man-in-the-browser approach, encryption, and spam emails for distribution.

Dyre's architecture includes a dropper and main DLL module, with techniques for persistence and evasion. Its command and control infrastructure is hidden through proxies, and it can adapt using a domain generation algorithm and I2P integration. Researchers have linked Dyre to the Gozi and Neverquest families.

References
2021-01-01SecureworksSecureWorks
Threat Profile: GOLD BLACKBURN
Buer Dyre TrickBot WIZARD SPIDER
2020-10-26CheckpointEyal Itkin, Itay Cohen
Exploit Developer Spotlight: The Story of PlayBit
Dyre Maze PyLocky Ramnit REvil
2020-08-09F5 LabsDebbie Walkowski, Remi Cohen
Banking Trojans: A Reference Guide to the Malware Family Tree
BackSwap Carberp Citadel DanaBot Dridex Dyre Emotet Gozi Kronos PandaBanker Ramnit Shylock SpyEye Tinba TrickBot Vawtrak Zeus
2020-01-01SecureworksSecureWorks
GOLD BLACKBURN
Dyre TrickBot
2019-09-09McAfeeChintan Shah, Marc Rivero López, Thomas Roccia
Evolution of Malware Sandbox Evasion Tactics – A Retrospective Study
Cutwail Dridex Dyre Kovter Locky Phorpiex Simda
2019-02-15CrowdStrikeBex Hartley, Brendon Feeley
“Sin”-ful SPIDERS: WIZARD SPIDER and LUNAR SPIDER Sharing the Same Web
Dyre IcedID TrickBot Vawtrak LUNAR SPIDER WIZARD SPIDER
2017-05-15SecureworksCounter Threat Unit ResearchTeam
Evolution of the GOLD EVERGREEN Threat Group
CryptoLocker Dridex Dyre Gameover P2P Murofet TrickBot Zeus GOLD EVERGREEN
2017-05-04ForbesThomas Brewster
Behind The Mystery Of Russia's 'Dyre' Hackers Who Stole Millions From American Business
Dyre
2015-11-04Malwarebyteshasherezade
A Technical Look At Dyreza
Dyre
2015-10-26BluelivBlueliv
Chasing cybercrime: network insights of Dyre and Dridex Trojan bankers
Dridex Dyre
2015-07-07FireEyeSudeep Singh, Yu Wang
Dyre Banking Trojan Exploits CVE-2015-0057
Dyre
2014-12-17SecureworksBrett Stone-Gross, Pallav Khandhar
Dyre Banking Trojan
Dyre Vawtrak WIZARD SPIDER
Yara Rules
[TLP:WHITE] win_dyre_auto (20260504 | Detects win.dyre.)
rule win_dyre_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-05-04"
        version = "1"
        description = "Detects win.dyre."
        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.dyre"
        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 = { 6800004000 6800000400 ff15???????? a3???????? }
            // n = 4, score = 700
            //   6800004000           | push                0x400000
            //   6800000400           | push                0x40000
            //   ff15????????         |                     
            //   a3????????           |                     

        $sequence_1 = { 32c0 5d c3 55 8bec 56 8bf0 }
            // n = 7, score = 600
            //   32c0                 | xor                 al, al
            //   5d                   | pop                 ebp
            //   c3                   | ret                 
            //   55                   | push                ebp
            //   8bec                 | mov                 ebp, esp
            //   56                   | push                esi
            //   8bf0                 | mov                 esi, eax

        $sequence_2 = { 6801010000 ff15???????? 8b4d18 663901 }
            // n = 4, score = 600
            //   6801010000           | push                0x101
            //   ff15????????         |                     
            //   8b4d18               | mov                 ecx, dword ptr [ebp + 0x18]
            //   663901               | cmp                 word ptr [ecx], ax

        $sequence_3 = { 7707 0fbec0 2bc1 eb1e 8d58bf }
            // n = 5, score = 600
            //   7707                 | ja                  9
            //   0fbec0               | movsx               eax, al
            //   2bc1                 | sub                 eax, ecx
            //   eb1e                 | jmp                 0x20
            //   8d58bf               | lea                 ebx, [eax - 0x41]

        $sequence_4 = { 0540060000 c3 8d440064 c3 55 8bec }
            // n = 6, score = 600
            //   0540060000           | add                 eax, 0x640
            //   c3                   | ret                 
            //   8d440064             | lea                 eax, [eax + eax + 0x64]
            //   c3                   | ret                 
            //   55                   | push                ebp
            //   8bec                 | mov                 ebp, esp

        $sequence_5 = { 50 ff75f8 ff75f4 ff36 }
            // n = 4, score = 600
            //   50                   | push                eax
            //   ff75f8               | push                dword ptr [ebp - 8]
            //   ff75f4               | push                dword ptr [ebp - 0xc]
            //   ff36                 | push                dword ptr [esi]

        $sequence_6 = { 32c0 5e 5d c3 8bc6 }
            // n = 5, score = 600
            //   32c0                 | xor                 al, al
            //   5e                   | pop                 esi
            //   5d                   | pop                 ebp
            //   c3                   | ret                 
            //   8bc6                 | mov                 eax, esi

        $sequence_7 = { 0fb7c0 0bc1 c9 c3 }
            // n = 4, score = 600
            //   0fb7c0               | movzx               eax, ax
            //   0bc1                 | or                  eax, ecx
            //   c9                   | leave               
            //   c3                   | ret                 

        $sequence_8 = { 4433c0 418bc4 418bd3 c1c806 4433c0 8bc5 }
            // n = 6, score = 500
            //   4433c0               | dec                 esp
            //   418bc4               | mov                 esp, ecx
            //   418bd3               | dec                 eax
            //   c1c806               | mov                 dword ptr [esp + 0x30], edi
            //   4433c0               | inc                 ebp
            //   8bc5                 | xor                 ecx, ecx

        $sequence_9 = { 4883ec40 488bc2 33ff 4c8be1 48897c2430 4533c9 }
            // n = 6, score = 500
            //   4883ec40             | je                  0x34
            //   488bc2               | dec                 eax
            //   33ff                 | sub                 esp, 0x40
            //   4c8be1               | dec                 eax
            //   48897c2430           | mov                 eax, edx
            //   4533c9               | xor                 edi, edi

        $sequence_10 = { 6689442444 33c0 498bf8 488bf2 }
            // n = 4, score = 500
            //   6689442444           | ror                 eax, 6
            //   33c0                 | mov                 edx, ebx
            //   498bf8               | inc                 esp
            //   488bf2               | xor                 eax, eax

        $sequence_11 = { 488bd9 83fa04 763b 0f1f00 0fb74b02 ff15???????? 440fb7d8 }
            // n = 7, score = 500
            //   488bd9               | mov                 edx, ebx
            //   83fa04               | ror                 eax, 6
            //   763b                 | inc                 esp
            //   0f1f00               | xor                 eax, eax
            //   0fb74b02             | inc                 ecx
            //   ff15????????         |                     
            //   440fb7d8             | mov                 eax, esp

        $sequence_12 = { 23cd 418bc5 c1c806 8bd3 4433c0 }
            // n = 5, score = 500
            //   23cd                 | inc                 esp
            //   418bc5               | xor                 eax, eax
            //   c1c806               | inc                 ecx
            //   8bd3                 | mov                 eax, esp
            //   4433c0               | inc                 ecx

        $sequence_13 = { 488bd9 b910270000 ff15???????? 488bcb }
            // n = 4, score = 500
            //   488bd9               | ror                 eax, 6
            //   b910270000           | inc                 esp
            //   ff15????????         |                     
            //   488bcb               | xor                 eax, eax

        $sequence_14 = { 4433c0 418bc4 4123c5 33c8 8bc3 4403c1 418bcb }
            // n = 7, score = 500
            //   4433c0               | mov                 eax, ebp
            //   418bc4               | inc                 esp
            //   4123c5               | xor                 eax, eax
            //   33c8                 | inc                 ecx
            //   8bc3                 | mov                 eax, esp
            //   4403c1               | inc                 ecx
            //   418bcb               | mov                 edx, ebx

        $sequence_15 = { 443bdf 7725 663933 7432 }
            // n = 4, score = 500
            //   443bdf               | inc                 esp
            //   7725                 | cmp                 ebx, edi
            //   663933               | ja                  0x27
            //   7432                 | cmp                 word ptr [ebx], si

        $sequence_16 = { 668b1401 668910 83c002 4e 75f3 }
            // n = 5, score = 400
            //   668b1401             | mov                 dx, word ptr [ecx + eax]
            //   668910               | mov                 word ptr [eax], dx
            //   83c002               | add                 eax, 2
            //   4e                   | dec                 esi
            //   75f3                 | jne                 0xfffffff5

        $sequence_17 = { 90 ff15???????? 8a0437 8806 46 4b }
            // n = 6, score = 200
            //   90                   | nop                 
            //   ff15????????         |                     
            //   8a0437               | mov                 al, byte ptr [edi + esi]
            //   8806                 | mov                 byte ptr [esi], al
            //   46                   | inc                 esi
            //   4b                   | dec                 ebx

        $sequence_18 = { 56 8bf1 85db 7416 }
            // n = 4, score = 200
            //   56                   | push                esi
            //   8bf1                 | mov                 esi, ecx
            //   85db                 | test                ebx, ebx
            //   7416                 | je                  0x18

        $sequence_19 = { 57 8bfa 2bfe 90 ff15???????? 8a0437 }
            // n = 6, score = 200
            //   57                   | push                edi
            //   8bfa                 | mov                 edi, edx
            //   2bfe                 | sub                 edi, esi
            //   90                   | nop                 
            //   ff15????????         |                     
            //   8a0437               | mov                 al, byte ptr [edi + esi]

        $sequence_20 = { 85db 7416 57 8bfa }
            // n = 4, score = 200
            //   85db                 | test                ebx, ebx
            //   7416                 | je                  0x18
            //   57                   | push                edi
            //   8bfa                 | mov                 edi, edx

        $sequence_21 = { 751b 6a00 6800004000 6800000400 }
            // n = 4, score = 200
            //   751b                 | jne                 0x1d
            //   6a00                 | push                0
            //   6800004000           | push                0x400000
            //   6800000400           | push                0x40000

        $sequence_22 = { a1???????? 6a08 50 ff15???????? 8bd8 }
            // n = 5, score = 200
            //   a1????????           |                     
            //   6a08                 | push                8
            //   50                   | push                eax
            //   ff15????????         |                     
            //   8bd8                 | mov                 ebx, eax

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