win.dridex (Back to overview)

Dridex

Actor(s): TA505, INDRIK SPIDER

URLhaus    

OxCERT blog describes Dridex as "an evasive, information-stealing malware variant; its goal is to acquire as many credentials as possible and return them via an encrypted tunnel to a Command-and-Control (C&C) server. These C&C servers are numerous and scattered all over the Internet, if the malware cannot reach one server it will try another. For this reason, network-based measures such as blocking the C&C IPs is effective only in the short-term."
According to MalwareBytes, "Dridex uses an older tactic of infection by attaching a Word document that utilizes macros to install malware. However, once new versions of Microsoft Office came out and users generally updated, such a threat subsided because it was no longer simple to infect a user with this method."
IBM X-Force discovered "a new version of the Dridex banking Trojan that takes advantage of a code injection technique called AtomBombing to infect systems. AtomBombing is a technique for injecting malicious code into the 'atom tables' that almost all versions of Windows uses to store certain application data. It is a variation of typical code injection attacks that take advantage of input validation errors to insert and to execute malicious code in a legitimate process or application. Dridex v4 is the first malware that uses the AtomBombing process to try and infect systems."

References
2019-09-09 ⋅ McAfeeThomas Roccia, Marc Rivero López, Chintan Shah
@online{roccia:20190909:evolution:baf3b6c, author = {Thomas Roccia and Marc Rivero López and Chintan Shah}, title = {{Evolution of Malware Sandbox Evasion Tactics – A Retrospective Study}}, date = {2019-09-09}, organization = {McAfee}, url = {https://securingtomorrow.mcafee.com/other-blogs/mcafee-labs/evolution-of-malware-sandbox-evasion-tactics-a-retrospective-study/}, language = {English}, urldate = {2020-01-10} } Evolution of Malware Sandbox Evasion Tactics – A Retrospective Study
Cutwail Dridex Dyre Kovter Locky Phorpiex Simda
2019-08-13 ⋅ AdalogicsDavid Korczynski
@online{korczynski:20190813:state:a4ad074, author = {David Korczynski}, title = {{The state of advanced code injections}}, date = {2019-08-13}, organization = {Adalogics}, url = {https://adalogics.com/blog/the-state-of-advanced-code-injections}, language = {English}, urldate = {2020-01-13} } The state of advanced code injections
Dridex Emotet Tinba
2019-07-12 ⋅ CrowdStrikeBrett Stone-Gross, Sergei Frankoff, Bex Hartley
@online{stonegross:20190712:bitpaymer:113a037, author = {Brett Stone-Gross and Sergei Frankoff and Bex Hartley}, title = {{BitPaymer Source Code Fork: Meet DoppelPaymer Ransomware and Dridex 2.0}}, date = {2019-07-12}, organization = {CrowdStrike}, url = {https://www.crowdstrike.com/blog/doppelpaymer-ransomware-and-dridex-2/}, language = {English}, urldate = {2019-12-20} } BitPaymer Source Code Fork: Meet DoppelPaymer Ransomware and Dridex 2.0
DoppelPaymer Dridex FriedEx
2019-05-14 ⋅ GovCERT.chGovCERT.ch
@online{govcertch:20190514:rise:8fd8ef4, author = {GovCERT.ch}, title = {{The Rise of Dridex and the Role of ESPs}}, date = {2019-05-14}, organization = {GovCERT.ch}, url = {https://www.govcert.admin.ch/blog/28/the-rise-of-dridex-and-the-role-of-esps}, language = {English}, urldate = {2020-01-09} } The Rise of Dridex and the Role of ESPs
Dridex
2018-12-18 ⋅ Trend MicroTrendmicro
@online{trendmicro:20181218:ursnif:cc5ce31, author = {Trendmicro}, title = {{URSNIF, EMOTET, DRIDEX and BitPaymer Gangs Linked by a Similar Loader}}, date = {2018-12-18}, organization = {Trend Micro}, url = {https://blog.trendmicro.com/trendlabs-security-intelligence/ursnif-emotet-dridex-and-bitpaymer-gangs-linked-by-a-similar-loader/}, language = {English}, urldate = {2020-01-07} } URSNIF, EMOTET, DRIDEX and BitPaymer Gangs Linked by a Similar Loader
Dridex Emotet FriedEx ISFB
2018-01-26 ⋅ ESET ResearchMichal Poslušný
@online{poslun:20180126:friedex:3c3f46b, author = {Michal Poslušný}, title = {{FriedEx: BitPaymer ransomware the work of Dridex authors}}, date = {2018-01-26}, organization = {ESET Research}, url = {https://www.welivesecurity.com/2018/01/26/friedex-bitpaymer-ransomware-work-dridex-authors/}, language = {English}, urldate = {2019-11-14} } FriedEx: BitPaymer ransomware the work of Dridex authors
Dridex FriedEx
2017-07-25 ⋅ Github (viql)Johannes Bader
@online{bader:20170725:dridex:44f64d8, author = {Johannes Bader}, title = {{Dridex Loot}}, date = {2017-07-25}, organization = {Github (viql)}, url = {https://viql.github.io/dridex/}, language = {English}, urldate = {2020-01-07} } Dridex Loot
Dridex
2017-02-28 ⋅ Security IntelligenceMagal Baz, Or Safran
@online{baz:20170228:dridexs:f72a5ec, author = {Magal Baz and Or Safran}, title = {{Dridex’s Cold War: Enter AtomBombing}}, date = {2017-02-28}, organization = {Security Intelligence}, url = {https://securityintelligence.com/dridexs-cold-war-enter-atombombing/}, language = {English}, urldate = {2019-12-16} } Dridex’s Cold War: Enter AtomBombing
Dridex
2017-01-26 ⋅ FlashpointFlashpoint
@online{flashpoint:20170126:dridex:2ca4920, author = {Flashpoint}, title = {{Dridex Banking Trojan Returns, Leverages New UAC Bypass Method}}, date = {2017-01-26}, organization = {Flashpoint}, url = {https://www.flashpoint-intel.com/blog-dridex-banking-trojan-returns/}, language = {English}, urldate = {2020-01-08} } Dridex Banking Trojan Returns, Leverages New UAC Bypass Method
Dridex
2016-02-16 ⋅ SymantecDick O'Brien
@techreport{obrien:20160216:dridex:7abdc31, author = {Dick O'Brien}, title = {{Dridex: Tidal waves of spam pushing dangerous financial Trojan}}, date = {2016-02-16}, institution = {Symantec}, url = {https://www.symantec.com/content/en/us/enterprise/media/security_response/whitepapers/dridex-financial-trojan.pdf}, language = {English}, urldate = {2020-01-08} } Dridex: Tidal waves of spam pushing dangerous financial Trojan
Dridex
2015-11-10 ⋅ CERT.PLCERT.PL
@online{certpl:20151110:talking:d93cf24, author = {CERT.PL}, title = {{Talking to Dridex (part 0) – inside the dropper}}, date = {2015-11-10}, organization = {CERT.PL}, url = {https://www.cert.pl/en/news/single/talking-dridex-part-0-inside-the-dropper/}, language = {English}, urldate = {2020-01-06} } Talking to Dridex (part 0) – inside the dropper
Dridex
2015-10-26 ⋅ BluelivBlueliv
@techreport{blueliv:20151026:chasing:975ef1a, author = {Blueliv}, title = {{Chasing cybercrime: network insights of Dyre and Dridex Trojan bankers}}, date = {2015-10-26}, institution = {Blueliv}, url = {https://www.blueliv.com/downloads/documentation/reports/Network_insights_of_Dyre_and_Dridex_Trojan_bankers.pdf}, language = {English}, urldate = {2020-01-13} } Chasing cybercrime: network insights of Dyre and Dridex Trojan bankers
Dridex Dyre
2015-10-13 ⋅ SecureworksBrett Stone-Gross
@online{stonegross:20151013:dridex:46d9a58, author = {Brett Stone-Gross}, title = {{Dridex (Bugat v5) Botnet Takeover Operation}}, date = {2015-10-13}, organization = {Secureworks}, url = {https://www.secureworks.com/research/dridex-bugat-v5-botnet-takeover-operation}, language = {English}, urldate = {2020-01-08} } Dridex (Bugat v5) Botnet Takeover Operation
Dridex
Yara Rules
[TLP:WHITE] win_dridex_auto (20190204 | autogenerated rule brought to you by yara-signator)
rule win_dridex_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2019-11-26"
        version = "1"
        description = "autogenerated rule brought to you by yara-signator"
        tool = "yara-signator 0.1a"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.dridex"
        malpedia_version = "20190204"
        malpedia_license = "CC BY-NC-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 / approach will be published in the near future 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 = { ffd0 85c0 7512 e8???????? eb03 }
            // n = 5, score = 4100
            //   ffd0                 | call                eax
            //   85c0                 | test                eax, eax
            //   7512                 | jne                 0x14
            //   e8????????           |                     
            //   eb03                 | jmp                 5

        $sequence_1 = { e8???????? b910270000 e8???????? e8???????? }
            // n = 4, score = 4000
            //   e8????????           |                     
            //   b910270000           | mov                 ecx, 0x2710
            //   e8????????           |                     
            //   e8????????           |                     

        $sequence_2 = { 83f8ff 7505 e8???????? 3d34270000 }
            // n = 4, score = 3900
            //   83f8ff               | cmp                 eax, -1
            //   7505                 | jne                 7
            //   e8????????           |                     
            //   3d34270000           | cmp                 eax, 0x2734

        $sequence_3 = { ffd0 e8???????? 85c0 74de }
            // n = 4, score = 3800
            //   ffd0                 | call                eax
            //   e8????????           |                     
            //   85c0                 | test                eax, eax
            //   74de                 | je                  0xffffffe0

        $sequence_4 = { 84c0 740c b9e8030000 e8???????? b301 }
            // n = 5, score = 3800
            //   84c0                 | test                al, al
            //   740c                 | je                  0xe
            //   b9e8030000           | mov                 ecx, 0x3e8
            //   e8????????           |                     
            //   b301                 | mov                 bl, 1

        $sequence_5 = { e8???????? b988130000 e8???????? e8???????? }
            // n = 4, score = 3800
            //   e8????????           |                     
            //   b988130000           | mov                 ecx, 0x1388
            //   e8????????           |                     
            //   e8????????           |                     

        $sequence_6 = { ffd0 85c0 751f e8???????? }
            // n = 4, score = 3800
            //   ffd0                 | call                eax
            //   85c0                 | test                eax, eax
            //   751f                 | jne                 0x21
            //   e8????????           |                     

        $sequence_7 = { 7503 33c0 c3 8a01 }
            // n = 4, score = 3800
            //   7503                 | jne                 5
            //   33c0                 | xor                 eax, eax
            //   c3                   | ret                 
            //   8a01                 | mov                 al, byte ptr [ecx]

        $sequence_8 = { 53 53 53 6a01 53 ffd0 }
            // n = 6, score = 2700
            //   53                   | add                 eax, 0xffff
            //   53                   | and                 eax, 0xffff
            //   53                   | add                 eax, 1
            //   6a01                 | mov                 ecx, dword ptr [ebp - 0x14]
            //   53                   | add                 ecx, eax
            //   ffd0                 | mov                 dword ptr [ebp - 0x20], ecx

        $sequence_9 = { eb0a e8???????? eb03 6a7f }
            // n = 4, score = 2500
            //   eb0a                 | push                ebx
            //   e8????????           |                     
            //   eb03                 | push                ebx
            //   6a7f                 | push                ebx

        $sequence_10 = { e9???????? b801000000 c3 31c0 c3 50 }
            // n = 6, score = 2500
            //   e9????????           |                     
            //   b801000000           | test                eax, eax
            //   c3                   | jne                 0x1a
            //   31c0                 | jmp                 5
            //   c3                   | mov                 ecx, 0x1388
            //   50                   | xor                 ecx, ecx

        $sequence_11 = { e8???????? 85c0 7405 6a00 55 }
            // n = 5, score = 2300
            //   e8????????           |                     
            //   85c0                 | je                  0x11
            //   7405                 | push                ebx
            //   6a00                 | push                ebx
            //   55                   | push                ebx

        $sequence_12 = { 807c242000 7409 8d4c241c e8???????? }
            // n = 4, score = 2300
            //   807c242000           | test                eax, eax
            //   7409                 | je                  0x11
            //   8d4c241c             | push                ebx
            //   e8????????           |                     

        $sequence_13 = { e8???????? 8be8 85ed 7410 }
            // n = 4, score = 2200
            //   e8????????           |                     
            //   8be8                 | xor                 esi, esi
            //   85ed                 | test                eax, eax
            //   7410                 | je                  5

        $sequence_14 = { e8???????? eb0a b9d0070000 e8???????? }
            // n = 4, score = 2200
            //   e8????????           |                     
            //   eb0a                 | jmp                 0xc
            //   b9d0070000           | mov                 ecx, 0x7d0
            //   e8????????           |                     

        $sequence_15 = { 7403 56 ffd0 33f6 }
            // n = 4, score = 2200
            //   7403                 | push                0
            //   56                   | push                eax
            //   ffd0                 | call                eax
            //   33f6                 | jmp                 4

        $sequence_16 = { 7406 42 803a00 75fa }
            // n = 4, score = 2200
            //   7406                 | pop                 eax
            //   42                   | jmp                 0xc
            //   803a00               | jmp                 5
            //   75fa                 | push                0x7f

        $sequence_17 = { ffd0 eb02 33c0 6a00 50 }
            // n = 5, score = 2200
            //   ffd0                 | push                0
            //   eb02                 | push                ebp
            //   33c0                 | je                  7
            //   6a00                 | push                0
            //   50                   | push                ebp

        $sequence_18 = { e8???????? 8bf0 8bcd e8???????? }
            // n = 4, score = 2200
            //   e8????????           |                     
            //   8bf0                 | cmp                 byte ptr [esp + 0x20], 0
            //   8bcd                 | je                  0xb
            //   e8????????           |                     

        $sequence_19 = { ff36 ffd0 8bf8 85ff }
            // n = 4, score = 2200
            //   ff36                 | push                0x7f
            //   ffd0                 | pop                 eax
            //   8bf8                 | jne                 0x17
            //   85ff                 | jmp                 5

        $sequence_20 = { 55 8bec 837d0800 7422 }
            // n = 4, score = 2100
            //   55                   | push                0x7f
            //   8bec                 | pop                 eax
            //   837d0800             | push                dword ptr [esi]
            //   7422                 | call                eax

        $sequence_21 = { e8???????? 6880000000 53 53 }
            // n = 4, score = 2100
            //   e8????????           |                     
            //   6880000000           | je                  0x14
            //   53                   | test                eax, eax
            //   53                   | je                  5

        $sequence_22 = { e8???????? 85c0 7408 6a00 ffd0 }
            // n = 5, score = 2100
            //   e8????????           |                     
            //   85c0                 | push                0
            //   7408                 | call                eax
            //   6a00                 | jmp                 4
            //   ffd0                 | xor                 eax, eax

        $sequence_23 = { eb08 6a64 59 e8???????? }
            // n = 4, score = 2100
            //   eb08                 | jmp                 0xa
            //   6a64                 | push                0x64
            //   59                   | pop                 ecx
            //   e8????????           |                     

        $sequence_24 = { e8???????? 85c0 7407 56 ffd0 }
            // n = 5, score = 2100
            //   e8????????           |                     
            //   85c0                 | push                esi
            //   7407                 | call                eax
            //   56                   | xor                 esi, esi
            //   ffd0                 | push                0x80

        $sequence_25 = { e8???????? 84c0 7516 8bd3 }
            // n = 4, score = 2100
            //   e8????????           |                     
            //   84c0                 | xor                 eax, eax
            //   7516                 | ret                 
            //   8bd3                 | mov                 al, byte ptr [ecx]

        $sequence_26 = { e8???????? e9???????? 807c245000 740a }
            // n = 4, score = 2100
            //   e8????????           |                     
            //   e9????????           |                     
            //   807c245000           | cmp                 byte ptr [esp + 0x50], 0
            //   740a                 | je                  0xc

        $sequence_27 = { 807c241400 7409 8d4c2410 e8???????? }
            // n = 4, score = 2100
            //   807c241400           | lea                 ecx, [esp + 0x1c]
            //   7409                 | push                dword ptr [esi]
            //   8d4c2410             | call                eax
            //   e8????????           |                     

        $sequence_28 = { c70350000000 eb0d 3da665f63e 7506 c703bb010000 }
            // n = 5, score = 2100
            //   c70350000000         | jne                 0x2c
            //   eb0d                 | jmp                 0x1f
            //   3da665f63e           | push                0x7f
            //   7506                 | test                eax, eax
            //   c703bb010000         | jne                 0x34

        $sequence_29 = { e8???????? 3db20d7897 7508 c70350000000 }
            // n = 4, score = 2100
            //   e8????????           |                     
            //   3db20d7897           | test                eax, eax
            //   7508                 | jne                 0x2a
            //   c70350000000         | call                esi

        $sequence_30 = { eb08 83ca20 eb03 83ca10 }
            // n = 4, score = 2100
            //   eb08                 | jmp                 0xa
            //   83ca20               | or                  edx, 0x20
            //   eb03                 | jmp                 5
            //   83ca10               | or                  edx, 0x10

        $sequence_31 = { ffd0 33c0 40 5d }
            // n = 4, score = 2000
            //   ffd0                 | mov                 ecx, ebx
            //   33c0                 | push                eax
            //   40                   | push                eax
            //   5d                   | push                esi

        $sequence_32 = { 8b442428 6689c1 66894c2458 66894c245a }
            // n = 4, score = 2000
            //   8b442428             | xor                 eax, eax
            //   6689c1               | mov                 ecx, eax
            //   66894c2458           | mov                 ecx, eax
            //   66894c245a           | mov                 eax, dword ptr [esp + 0x24]

        $sequence_33 = { eb00 8b442404 89c1 89ca }
            // n = 4, score = 2000
            //   eb00                 | mov                 al, byte ptr [esp + 7]
            //   8b442404             | test                al, 1
            //   89c1                 | je                  0x16
            //   89ca                 | xor                 eax, eax

        $sequence_34 = { 8954242c 8b44242c 89c1 89ca }
            // n = 4, score = 2000
            //   8954242c             | jne                 0x38
            //   8b44242c             | jmp                 6
            //   89c1                 | mov                 dword ptr [esp], eax
            //   89ca                 | mov                 dword ptr [esp + 4], ecx

        $sequence_35 = { 885c2407 89442408 7598 8a442407 a801 }
            // n = 5, score = 2000
            //   885c2407             | mov                 dl, al
            //   89442408             | mov                 byte ptr [esp + 0xf], dl
            //   7598                 | jne                 0x36
            //   8a442407             | jmp                 2
            //   a801                 | xor                 eax, eax

        $sequence_36 = { ffd0 5b c3 33c0 }
            // n = 4, score = 2000
            //   ffd0                 | push                ebx
            //   5b                   | call                eax
            //   c3                   | je                  0x11
            //   33c0                 | push                ebx

        $sequence_37 = { 7414 31c0 89c1 8b442424 88c2 8854240f }
            // n = 6, score = 2000
            //   7414                 | ret                 
            //   31c0                 | push                eax
            //   89c1                 | test                al, 1
            //   8b442424             | jne                 0x36
            //   88c2                 | jmp                 4
            //   8854240f             | xor                 eax, eax

        $sequence_38 = { 7411 c7461003000000 e8???????? 894614 }
            // n = 4, score = 2000
            //   7411                 | inc                 esp
            //   c7461003000000       | mov                 eax, dword ptr [esp + 0x84]
            //   e8????????           |                     
            //   894614               | dec                 esp

        $sequence_39 = { 890424 894c2404 75dd 8b0424 }
            // n = 4, score = 2000
            //   890424               | mov                 ecx, eax
            //   894c2404             | mov                 edx, ecx
            //   75dd                 | mov                 al, byte ptr [esp + 0x27]
            //   8b0424               | test                al, 1

        $sequence_40 = { a801 7534 eb00 31c0 }
            // n = 4, score = 2000
            //   a801                 | push                eax
            //   7534                 | mov                 eax, 1
            //   eb00                 | ret                 
            //   31c0                 | xor                 eax, eax

        $sequence_41 = { 50 56 8bcb e8???????? 50 e8???????? }
            // n = 6, score = 2000
            //   50                   | mov                 edi, eax
            //   56                   | test                edi, edi
            //   8bcb                 | push                ebp
            //   e8????????           |                     
            //   50                   | mov                 ebp, esp
            //   e8????????           |                     

        $sequence_42 = { e8???????? 488d4c2450 e8???????? 488d4c2470 e8???????? }
            // n = 5, score = 2000
            //   e8????????           |                     
            //   488d4c2450           | dec                 eax
            //   e8????????           |                     
            //   488d4c2470           | lea                 ecx, [esp + 0x50]
            //   e8????????           |                     

        $sequence_43 = { 4885c0 7407 488b4c2458 ffd0 }
            // n = 4, score = 2000
            //   4885c0               | dec                 eax
            //   7407                 | lea                 ecx, [esp + 0x70]
            //   488b4c2458           | dec                 eax
            //   ffd0                 | test                eax, eax

        $sequence_44 = { 740d 40 83c104 3d00100000 }
            // n = 4, score = 1900
            //   740d                 | jne                 0x32
            //   40                   | jne                 0x34
            //   83c104               | jmp                 0x27
            //   3d00100000           | push                0x7f

        $sequence_45 = { 51 6802100000 68ffff0000 ff36 }
            // n = 4, score = 1900
            //   51                   | jne                 0x2a
            //   6802100000           | jmp                 0x1d
            //   68ffff0000           | call                esi
            //   ff36                 | test                eax, eax

        $sequence_46 = { 50 e8???????? 8938 8b35???????? }
            // n = 4, score = 1900
            //   50                   | je                  0xa
            //   e8????????           |                     
            //   8938                 | push                0
            //   8b35????????         |                     

        $sequence_47 = { 85c0 7406 6a02 ff36 ffd0 }
            // n = 5, score = 1900
            //   85c0                 | call                eax
            //   7406                 | test                eax, eax
            //   6a02                 | jne                 0x24
            //   ff36                 | call                esi
            //   ffd0                 | test                eax, eax

        $sequence_48 = { 8d4c2420 e8???????? 50 6a00 }
            // n = 4, score = 1900
            //   8d4c2420             | push                0
            //   e8????????           |                     
            //   50                   | push                eax
            //   6a00                 | test                eax, eax

        $sequence_49 = { e8???????? 85c0 7406 6a01 }
            // n = 4, score = 1700
            //   e8????????           |                     
            //   85c0                 | push                0
            //   7406                 | push                eax
            //   6a01                 | mov                 dword ptr [eax], edi

        $sequence_50 = { 895704 895708 89570c 895710 }
            // n = 4, score = 1400
            //   895704               | push                dword ptr [esi]
            //   895708               | call                eax
            //   89570c               | mov                 edi, eax
            //   895710               | test                edi, edi

        $sequence_51 = { 5e c3 31c0 89c2 }
            // n = 4, score = 1200
            //   5e                   | mov                 eax, dword ptr [esp + 0x24]
            //   c3                   | mov                 dl, al
            //   31c0                 | test                al, 1
            //   89c2                 | jne                 0x36

        $sequence_52 = { e8???????? 50 ffd7 85c0 7512 }
            // n = 5, score = 900
            //   e8????????           |                     
            //   50                   | call                eax
            //   ffd7                 | xor                 eax, eax
            //   85c0                 | inc                 eax
            //   7512                 | pop                 ebp

        $sequence_53 = { 8b45cc 31c9 8b55d0 39c2 }
            // n = 4, score = 700
            //   8b45cc               | cmp                 byte ptr [eax], 0
            //   31c9                 | jne                 0xe
            //   8b55d0               | cmp                 byte ptr [eax], 0xe9
            //   39c2                 | mov                 ecx, eax

        $sequence_54 = { eb0c e8???????? 8bf0 eb03 6a7f }
            // n = 5, score = 700
            //   eb0c                 | push                0x7f
            //   e8????????           |                     
            //   8bf0                 | push                eax
            //   eb03                 | call                edi
            //   6a7f                 | test                eax, eax

        $sequence_55 = { 8038e9 89c1 8945d0 894dcc }
            // n = 4, score = 700
            //   8038e9               | test                eax, eax
            //   89c1                 | jne                 0x1c
            //   8945d0               | jmp                 5
            //   894dcc               | mov                 ecx, 0x1388

        $sequence_56 = { c3 53 57 56 83ec20 8b442430 }
            // n = 6, score = 600
            //   c3                   | mov                 dword ptr [esp], eax
            //   53                   | mov                 dword ptr [esp + 0x1c], eax
            //   57                   | push                eax
            //   56                   | mov                 eax, dword ptr [esp + 8]
            //   83ec20               | cmp                 byte ptr [eax], 0xe9
            //   8b442430             | mov                 dword ptr [esp], eax

        $sequence_57 = { 8038e9 890424 7517 8b0424 }
            // n = 4, score = 600
            //   8038e9               | mov                 dword ptr [esp + 4], ecx
            //   890424               | mov                 eax, dword ptr [esp + 0x1c]
            //   7517                 | mov                 dword ptr [esp], eax
            //   8b0424               | mov                 dword ptr [esp], eax

        $sequence_58 = { 56 83ec20 8b442430 890424 8944241c e8???????? }
            // n = 6, score = 600
            //   56                   | pop                 esi
            //   83ec20               | mov                 dword ptr [esp], eax
            //   8b442430             | xor                 eax, eax
            //   890424               | add                 esp, 0x20
            //   8944241c             | pop                 esi
            //   e8????????           |                     

        $sequence_59 = { 50 8b442408 8038e9 890424 }
            // n = 4, score = 600
            //   50                   | pop                 edi
            //   8b442408             | push                esi
            //   8038e9               | sub                 esp, 0x20
            //   890424               | mov                 eax, dword ptr [esp + 0x30]

        $sequence_60 = { 8b5034 891424 894c2404 e8???????? 8b44241c 890424 e8???????? }
            // n = 7, score = 600
            //   8b5034               | mov                 dword ptr [esp + 0x10], eax
            //   891424               | mov                 eax, dword ptr [esp + 0x1c]
            //   894c2404             | mov                 ecx, dword ptr [eax + 0x38]
            //   e8????????           |                     
            //   8b44241c             | mov                 edx, dword ptr [eax + 0x34]
            //   890424               | mov                 dword ptr [esp], edx
            //   e8????????           |                     

        $sequence_61 = { 8b45b8 83c018 8b4db8 8b5178 8b75bc 01d6 }
            // n = 6, score = 600
            //   8b45b8               | add                 esp, 0x20
            //   83c018               | pop                 esi
            //   8b4db8               | mov                 dword ptr [esp], eax
            //   8b5178               | xor                 eax, eax
            //   8b75bc               | add                 esp, 0x20
            //   01d6                 | pop                 esi

        $sequence_62 = { 89c2 01ca 83c205 807c0805e9 891424 74e9 }
            // n = 6, score = 600
            //   89c2                 | mov                 dword ptr [esp + 0x1c], eax
            //   01ca                 | mov                 dword ptr [esp + 0x18], eax
            //   83c205               | mov                 eax, dword ptr [esp + 0x1c]
            //   807c0805e9           | mov                 ecx, dword ptr [eax + 0x38]
            //   891424               | mov                 edx, dword ptr [eax + 0x34]
            //   74e9                 | mov                 dword ptr [esp], edx

        $sequence_63 = { e8???????? 50 53 8d4dd0 e8???????? }
            // n = 5, score = 600
            //   e8????????           |                     
            //   50                   | jmp                 7
            //   53                   | jmp                 0xe
            //   8d4dd0               | mov                 esi, eax
            //   e8????????           |                     

        $sequence_64 = { 89442410 8b44241c 8b4838 8b5034 891424 894c2404 }
            // n = 6, score = 600
            //   89442410             | mov                 eax, 1
            //   8b44241c             | ret                 
            //   8b4838               | xor                 eax, eax
            //   8b5034               | ret                 
            //   891424               | push                eax
            //   894c2404             | mov                 eax, dword ptr [esp + 8]

        $sequence_65 = { 8955ec e8???????? 8b483c 6689ce 6683fe00 }
            // n = 5, score = 500
            //   8955ec               | mov                 dword ptr [ebp - 0x10], eax
            //   e8????????           |                     
            //   8b483c               | mov                 dword ptr [ebp - 0x14], ecx
            //   6689ce               | mov                 dword ptr [ebp - 0x1c], esi
            //   6683fe00             | mov                 dword ptr [ebp - 0x20], ebx

        $sequence_66 = { 83fa00 8945f8 894df4 8955f0 8975ec }
            // n = 5, score = 500
            //   83fa00               | mov                 si, cx
            //   8945f8               | cmp                 si, 0
            //   894df4               | mov                 edx, dword ptr [ecx + 0x3c]
            //   8955f0               | mov                 si, dx
            //   8975ec               | cmp                 si, 0

        $sequence_67 = { 83c454 5b 5e 5f 5d c3 }
            // n = 6, score = 500
            //   83c454               | pop                 esi
            //   5b                   | pop                 ebp
            //   5e                   | ret                 
            //   5f                   | push                ebp
            //   5d                   | mov                 ebp, esp
            //   c3                   | push                edi

        $sequence_68 = { 6689f7 6683ff00 89d3 8945f0 894dec }
            // n = 5, score = 500
            //   6689f7               | cmp                 edx, eax
            //   6683ff00             | mov                 ecx, dword ptr [ebp + 8]
            //   89d3                 | mov                 edx, dword ptr [ecx + 0x3c]
            //   8945f0               | mov                 si, dx
            //   894dec               | cmp                 si, 0

        $sequence_69 = { 8975e4 895de0 7418 8b45e4 }
            // n = 4, score = 500
            //   8975e4               | mov                 edi, ecx
            //   895de0               | mov                 di, si
            //   7418                 | cmp                 di, 0
            //   8b45e4               | mov                 ebx, edx

        $sequence_70 = { 83c430 5e 5d c3 55 89e5 57 }
            // n = 7, score = 500
            //   83c430               | call                esi
            //   5e                   | test                eax, eax
            //   5d                   | jne                 0x18
            //   c3                   | mov                 ecx, 0x1388
            //   55                   | cmp                 byte ptr [eax], 0
            //   89e5                 | jne                 0xe
            //   57                   | add                 esp, 0x30

        $sequence_71 = { 8b4d08 8b513c 6689d6 6683fe00 89cf }
            // n = 5, score = 500
            //   8b4d08               | mov                 dword ptr [ebp - 0x30], eax
            //   8b513c               | mov                 dword ptr [ebp - 0x34], ecx
            //   6689d6               | mov                 eax, dword ptr [ebp - 0x34]
            //   6683fe00             | xor                 ecx, ecx
            //   89cf                 | mov                 edx, dword ptr [ebp - 0x30]

        $sequence_72 = { c7424800b00400 8b7de4 c787cc00000000000000 c787c800000000000000 8945dc 89c8 }
            // n = 6, score = 500
            //   c7424800b00400       | mov                 dword ptr [ebp - 0x34], edx
            //   8b7de4               | je                  0xffffffc1
            //   c787cc00000000000000     | mov    eax, dword ptr [ebp - 0x34]
            //   c787c800000000000000     | add    esp, 0x54
            //   8945dc               | pop                 ebx
            //   89c8                 | pop                 esi

        $sequence_73 = { 8b503c 6689d6 6683fe00 89c7 8945f0 }
            // n = 5, score = 500
            //   8b503c               | mov                 dword ptr [esp], ecx
            //   6689d6               | mov                 dword ptr [esp + 4], 0
            //   6683fe00             | mov                 dword ptr [ebp - 0x10], eax
            //   89c7                 | mov                 dword ptr [ebp - 0x14], edx
            //   8945f0               | mov                 ecx, dword ptr [eax + 0x3c]

        $sequence_74 = { 55 89e5 57 56 53 83ec54 }
            // n = 6, score = 500
            //   55                   | add                 esp, 0x54
            //   89e5                 | pop                 ebx
            //   57                   | pop                 esi
            //   56                   | pop                 edi
            //   53                   | pop                 ebp
            //   83ec54               | ret                 

        $sequence_75 = { 83c45c 5f 5b 5e 5d c3 }
            // n = 6, score = 400
            //   83c45c               | mov                 ebp, esp
            //   5f                   | push                esi
            //   5b                   | push                ebx
            //   5e                   | push                edi
            //   5d                   | sub                 esp, 0x5c
            //   c3                   | mov                 eax, dword ptr [ebp + 0xc]

        $sequence_76 = { 53 57 56 83ec54 8d05???????? 31c9 }
            // n = 6, score = 400
            //   53                   | ret                 
            //   57                   | push                ebp
            //   56                   | mov                 ebp, esp
            //   83ec54               | push                0
            //   8d05????????         |                     
            //   31c9                 | pop                 edi

        $sequence_77 = { 8b4dc8 894de0 7505 e9???????? 8b45e0 83c438 5f }
            // n = 7, score = 400
            //   8b4dc8               | sub                 esp, 0x38
            //   894de0               | mov                 eax, dword ptr [ebp + 0xc]
            //   7505                 | mov                 ecx, dword ptr [ebp + 8]
            //   e9????????           |                     
            //   8b45e0               | mov                 dword ptr [ebp - 0x10], eax
            //   83c438               | mov                 edx, dword ptr fs:[0x18]
            //   5f                   | xor                 eax, eax

        $sequence_78 = { 0f84e2feffff e9???????? 8b45e0 83c45c 5f 5b }
            // n = 6, score = 400
            //   0f84e2feffff         | mov                 edx, dword ptr fs:[0x18]
            //   e9????????           |                     
            //   8b45e0               | mov                 dword ptr [ebp - 0x20], ecx
            //   83c45c               | jne                 7
            //   5f                   | mov                 eax, dword ptr [ebp - 0x20]
            //   5b                   | add                 esp, 0x38

        $sequence_79 = { 5b 5d c3 8b45d0 }
            // n = 4, score = 400
            //   5b                   | test                al, al
            //   5d                   | je                  0x4c
            //   c3                   | mov                 ecx, 0x3e8
            //   8b45d0               | mov                 bl, 1

        $sequence_80 = { 89e5 56 53 57 83ec5c }
            // n = 5, score = 400
            //   89e5                 | push                ebx
            //   56                   | push                edi
            //   53                   | sub                 esp, 0x5c
            //   57                   | mov                 eax, dword ptr [ebp + 0xc]
            //   83ec5c               | mov                 ecx, dword ptr [ebp + 8]

        $sequence_81 = { 57 83ec38 8b450c 8b4d08 8945f0 648b1518000000 }
            // n = 6, score = 400
            //   57                   | pop                 esi
            //   83ec38               | pop                 ebp
            //   8b450c               | ret                 
            //   8b4d08               | push                ebp
            //   8945f0               | mov                 ebp, esp
            //   648b1518000000       | sub                 esp, 0xc

        $sequence_82 = { 8955cc 74bc 8b45cc 83c454 5f }
            // n = 5, score = 300
            //   8955cc               | lea                 ecx, [ebp - 0x28]
            //   74bc                 | push                ebx
            //   8b45cc               | sub                 esp, 0xb0
            //   83c454               | mov                 eax, dword ptr [ebp + 8]
            //   5f                   | lea                 ecx, [ebp - 0x28]

        $sequence_83 = { e8???????? 31c0 83c420 5f }
            // n = 4, score = 300
            //   e8????????           |                     
            //   31c0                 | mov                 dword ptr [ebp - 0x3c], ebx
            //   83c420               | mov                 dword ptr [ebp - 0x1c], eax
            //   5f                   | jne                 0xfffffee6

        $sequence_84 = { e9???????? 8b45e0 83c438 5e 5b 5f }
            // n = 6, score = 300
            //   e9????????           |                     
            //   8b45e0               | mov                 eax, dword ptr [ebp + 0xc]
            //   83c438               | push                ebx
            //   5e                   | push                esi
            //   5b                   | sub                 esp, 0x38
            //   5f                   | mov                 eax, dword ptr [ebp + 0xc]

        $sequence_85 = { 5d c3 8b45f0 8b0c8504406e00 8b55f8 39d1 8945ec }
            // n = 7, score = 300
            //   5d                   | sub                 esp, 0x54
            //   c3                   | push                edi
            //   8b45f0               | push                esi
            //   8b0c8504406e00       | sub                 esp, 0x54
            //   8b55f8               | xor                 ecx, ecx
            //   39d1                 | push                edi
            //   8945ec               | push                esi

        $sequence_86 = { 57 83ec20 8b4508 890424 }
            // n = 4, score = 300
            //   57                   | pop                 ebx
            //   83ec20               | pop                 esi
            //   8b4508               | push                esi
            //   890424               | push                ebx

        $sequence_87 = { 53 81ecb0000000 8b4508 8d4dd8 c745d800000000 }
            // n = 5, score = 300
            //   53                   | push                ebp
            //   81ecb0000000         | mov                 ebp, esp
            //   8b4508               | push                edi
            //   8d4dd8               | push                esi
            //   c745d800000000       | push                ebx

        $sequence_88 = { 53 83ec74 8b450c 8b4d08 31d2 }
            // n = 5, score = 300
            //   53                   | mov                 edx, dword ptr [eax + 0x4c]
            //   83ec74               | mov                 esi, dword ptr [eax + 0x20]
            //   8b450c               | push                ebx
            //   8b4d08               | sub                 esp, 0xb0
            //   31d2                 | mov                 eax, dword ptr [ebp + 8]

        $sequence_89 = { 8955c8 895dc4 8945e4 0f85dafeffff 8b45e4 83c474 5b }
            // n = 7, score = 300
            //   8955c8               | push                ebx
            //   895dc4               | sub                 esp, 0x74
            //   8945e4               | mov                 eax, dword ptr [ebp + 0xc]
            //   0f85dafeffff         | mov                 ecx, dword ptr [ebp + 8]
            //   8b45e4               | xor                 edx, edx
            //   83c474               | mov                 esi, dword ptr [ecx + 0x3c]
            //   5b                   | mov                 dword ptr [ebp - 0x38], edx

        $sequence_90 = { 8945c8 75e4 83c448 5e 5f 5b 5d }
            // n = 7, score = 300
            //   8945c8               | mov                 dword ptr [edi + 0xcc], 0
            //   75e4                 | mov                 dword ptr [edi + 0xc8], 0
            //   83c448               | mov                 dword ptr [ebp - 0x24], eax
            //   5e                   | mov                 dword ptr [edx + 0x48], 0x4b000
            //   5f                   | mov                 edi, dword ptr [ebp - 0x1c]
            //   5b                   | mov                 dword ptr [edi + 0xcc], 0
            //   5d                   | mov                 dword ptr [edi + 0xc8], 0

        $sequence_91 = { 57 83ec54 8d05???????? 31c9 8d55d8 803d?????????? 8955d4 }
            // n = 7, score = 300
            //   57                   | mov                 dword ptr [ebp - 0x28], 0
            //   83ec54               | mov                 dword ptr [ebp - 0x34], edx
            //   8d05????????         |                     
            //   31c9                 | je                  0xffffffc8
            //   8d55d8               | mov                 eax, dword ptr [ebp - 0x34]
            //   803d??????????       |                     
            //   8955d4               | add                 esp, 0x54

        $sequence_92 = { 55 89e5 57 53 56 83ec38 8b450c }
            // n = 7, score = 300
            //   55                   | add                 esp, 0x74
            //   89e5                 | pop                 ebx
            //   57                   | push                ebx
            //   53                   | sub                 esp, 0x74
            //   56                   | mov                 eax, dword ptr [ebp + 0xc]
            //   83ec38               | mov                 ecx, dword ptr [ebp + 8]
            //   8b450c               | push                ebp

        $sequence_93 = { 89e5 53 57 56 83ec48 8b450c 8b4d08 }
            // n = 7, score = 300
            //   89e5                 | mov                 edx, dword ptr [ebp - 0x30]
            //   53                   | cmp                 edx, eax
            //   57                   | sub                 esp, 4
            //   56                   | mov                 dword ptr [esp], eax
            //   83ec48               | mov                 dword ptr [ebp - 0x2c], ecx
            //   8b450c               | mov                 dword ptr [edx + 0x48], 0x4b000
            //   8b4d08               | mov                 edi, dword ptr [ebp - 0x1c]

        $sequence_94 = { 53 57 83ec44 8b4508 8d0d???????? 31d2 890c24 }
            // n = 7, score = 200
            //   53                   | add                 eax, 1
            //   57                   | mov                 dword ptr [ebp - 0x28], edi
            //   83ec44               | mov                 eax, dword ptr [ebp - 0x28]
            //   8b4508               | add                 esp, 0x44
            //   8d0d????????         |                     
            //   31d2                 | pop                 edi
            //   890c24               | pop                 ebx

        $sequence_95 = { 8a4daf 31d2 8a2c0575306e00 83c001 }
            // n = 4, score = 200
            //   8a4daf               | mov                 eax, dword ptr [ebp - 0x28]
            //   31d2                 | add                 esp, 0x44
            //   8a2c0575306e00       | pop                 edi
            //   83c001               | pop                 ebx

        $sequence_96 = { c3 55 89e5 53 56 57 83ec38 }
            // n = 7, score = 200
            //   c3                   | pop                 ebp
            //   55                   | ret                 
            //   89e5                 | push                ebp
            //   53                   | mov                 ebp, esp
            //   56                   | push                ebx
            //   57                   | push                esi
            //   83ec38               | ret                 

        $sequence_97 = { 8b7de8 033c8a 897dd8 8b45d8 83c444 5f 5b }
            // n = 7, score = 200
            //   8b7de8               | mov                 eax, dword ptr [ebp + 8]
            //   033c8a               | lea                 ecx, [ebp - 0x28]
            //   897dd8               | mov                 dword ptr [ebp - 0x28], 0
            //   8b45d8               | add                 esp, 0xb0
            //   83c444               | pop                 edi
            //   5f                   | pop                 esi
            //   5b                   | pop                 ebx

        $sequence_98 = { e9???????? 8b45e0 83c45c 5e 5f 5b }
            // n = 6, score = 200
            //   e9????????           |                     
            //   8b45e0               | push                edi
            //   83c45c               | push                esi
            //   5e                   | push                ebx
            //   5f                   | sub                 esp, 0xb0
            //   5b                   | mov                 eax, dword ptr [ebp + 8]

        $sequence_99 = { 56 57 81ecb0000000 8b4508 }
            // n = 4, score = 200
            //   56                   | push                esi
            //   57                   | push                edi
            //   81ecb0000000         | sub                 esp, 0xb0
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]

        $sequence_100 = { 89723c c7424004000000 c742442c0c0200 c7424800b00400 }
            // n = 4, score = 200
            //   89723c               | mov                 dword ptr [ebp - 0x38], eax
            //   c7424004000000       | jne                 0xffffffe9
            //   c742442c0c0200       | add                 esp, 0x48
            //   c7424800b00400       | pop                 esi

        $sequence_101 = { 89e5 6a00 6844306e00 e8???????? }
            // n = 4, score = 200
            //   89e5                 | mov                 cl, byte ptr [ebp - 0x51]
            //   6a00                 | xor                 edx, edx
            //   6844306e00           | mov                 ch, byte ptr [eax + 0x6e3075]
            //   e8????????           |                     

        $sequence_102 = { 8b45e0 83c438 5f 5e 5b 5d }
            // n = 6, score = 200
            //   8b45e0               | mov                 ecx, dword ptr [ebp + 8]
            //   83c438               | push                ebx
            //   5f                   | push                esi
            //   5e                   | push                edi
            //   5b                   | sub                 esp, 0x38
            //   5d                   | mov                 eax, dword ptr [ebp + 0xc]

        $sequence_103 = { 8b45d8 83c444 5b 5e }
            // n = 4, score = 200
            //   8b45d8               | mov                 edx, dword ptr [ebp - 0xc]
            //   83c444               | mov                 esi, dword ptr [ebp - 0x14]
            //   5b                   | mov                 dword ptr [edx + 0x3c], esi
            //   5e                   | mov                 dword ptr [edx + 0x40], 4

        $sequence_104 = { 31d2 8a2c0575308400 83c001 38e9 8945a0 8955cc 74bc }
            // n = 7, score = 100
            //   31d2                 | mov                 eax, ecx
            //   8a2c0575308400       | add                 esp, 0x2c
            //   83c001               | mov                 dword ptr [edx + 0x48], 0x4c000
            //   38e9                 | mov                 edi, dword ptr [ebp - 0x1c]
            //   8945a0               | mov                 dword ptr [edi + 0xcc], 0
            //   8955cc               | mov                 dword ptr [edi + 0xc8], 0
            //   74bc                 | mov                 dword ptr [edx + 0x48], 0x4c000

        $sequence_105 = { 6a00 6830308400 e8???????? 83c408 5d }
            // n = 5, score = 100
            //   6a00                 | ret                 
            //   6830308400           | push                ebp
            //   e8????????           |                     
            //   83c408               | mov                 ebp, esp
            //   5d                   | push                ebx

        $sequence_106 = { 751c 8b45a4 8a4daf 31d2 8a2c0575302f00 }
            // n = 5, score = 100
            //   751c                 | mov                 dword ptr [edx + 0x40], 4
            //   8b45a4               | mov                 dword ptr [edx + 0x44], 0x20c02
            //   8a4daf               | mov                 dword ptr [edx + 0x48], 0x4b000
            //   31d2                 | mov                 edi, dword ptr [ebp - 0x1c]
            //   8a2c0575302f00       | mov                 ch, byte ptr [eax + 0x2f3075]

        $sequence_107 = { 89723c c7424004000000 c7424499040200 c7424800c00400 8b7de4 c787cc00000000000000 }
            // n = 6, score = 100
            //   89723c               | mov                 dword ptr [ebp - 0x10], eax
            //   c7424004000000       | mov                 dword ptr [ebp - 0x14], eax
            //   c7424499040200       | mov                 eax, dword ptr [ebp - 0x10]
            //   c7424800c00400       | mov                 dword ptr [esp], eax
            //   8b7de4               | xor                 eax, eax
            //   c787cc00000000000000     | add    esp, 0x20

        $sequence_108 = { 8b0c8504408400 8b55f8 39d1 8945ec 894de8 7212 }
            // n = 6, score = 100
            //   8b0c8504408400       | cmp                 cl, ch
            //   8b55f8               | mov                 dword ptr [ebp - 0x60], eax
            //   39d1                 | mov                 dword ptr [ebp - 0x34], edx
            //   8945ec               | je                  0xffffffd0
            //   894de8               | mov                 eax, dword ptr [ebp - 0x5c]
            //   7212                 | mov                 cl, byte ptr [ebp - 0x51]

        $sequence_109 = { 89723c c7424004000000 c74244020c0200 c7424800b00400 8b7de4 }
            // n = 5, score = 100
            //   89723c               | mov                 eax, dword ptr [ebp + 8]
            //   c7424004000000       | lea                 ecx, [ebp - 0x28]
            //   c74244020c0200       | mov                 dword ptr [ebp - 0x28], 0
            //   c7424800b00400       | mov                 edx, dword ptr [eax + 0x4c]
            //   8b7de4               | pop                 ebx

    condition:
        7 of them
}
Download all Yara Rules