SYMBOLCOMMON_NAMEaka. SYNONYMS
win.smokeloader (Back to overview)

SmokeLoader

aka: Dofoil, Sharik, Smoke, Smoke Loader

Actor(s): SMOKY SPIDER

URLhaus            

The SmokeLoader family is a generic backdoor with a range of capabilities which depend on the modules included in any given build of the malware. The malware is delivered in a variety of ways and is broadly associated with criminal activity. The malware frequently tries to hide its C2 activity by generating requests to legitimate sites such as microsoft.com, bing.com, adobe.com, and others. Typically the actual Download returns an HTTP 404 but still contains data in the Response Body.

References
2020-09-09MalwarebytesThreat Intelligence Team
@online{team:20200909:malvertising:ed1c3b8, author = {Threat Intelligence Team}, title = {{Malvertising campaigns come back in full swing}}, date = {2020-09-09}, organization = {Malwarebytes}, url = {https://blog.malwarebytes.com/social-engineering/2020/09/malvertising-campaigns-come-back-in-full-swing/}, language = {English}, urldate = {2020-09-15} } Malvertising campaigns come back in full swing
Raccoon SmokeLoader
2020-09-02Cisco TalosHolger Unterbrink, Edmund Brumaghin
@online{unterbrink:20200902:salfram:74ae3c9, author = {Holger Unterbrink and Edmund Brumaghin}, title = {{Salfram: Robbing the place without removing your name tag}}, date = {2020-09-02}, organization = {Cisco Talos}, url = {https://blog.talosintelligence.com/2020/09/salfram-robbing-place-without-removing.html}, language = {English}, urldate = {2020-09-03} } Salfram: Robbing the place without removing your name tag
Ave Maria ISFB SmokeLoader Zloader
2020-08-27Hatching.ioPete Cowman
@online{cowman:20200827:smokeloader:6b86b56, author = {Pete Cowman}, title = {{Smokeloader Analysis and More Family Detections}}, date = {2020-08-27}, organization = {Hatching.io}, url = {https://hatching.io/blog/tt-2020-08-27/}, language = {English}, urldate = {2020-09-03} } Smokeloader Analysis and More Family Detections
SmokeLoader
2020-06-22security.neurolabsMarcos Alvares
@online{alvares:20200622:comparative:270905b, author = {Marcos Alvares}, title = {{Comparative analysis between Bindiff and Diaphora - Patched Smokeloader Study Case}}, date = {2020-06-22}, organization = {security.neurolabs}, url = {http://security.neurolabs.club/2020/04/diffing-malware-samples-using-bindiff.html}, language = {English}, urldate = {2020-06-24} } Comparative analysis between Bindiff and Diaphora - Patched Smokeloader Study Case
SmokeLoader
2020-06-21N1ght-W0lf BlogAbdallah Elshinbary
@online{elshinbary:20200621:deep:1a39a3f, author = {Abdallah Elshinbary}, title = {{Deep Analysis of SmokeLoader}}, date = {2020-06-21}, organization = {N1ght-W0lf Blog}, url = {https://n1ght-w0lf.github.io/malware%20analysis/smokeloader/}, language = {English}, urldate = {2020-06-22} } Deep Analysis of SmokeLoader
SmokeLoader
2020-05-24Malware and StuffAndreas Klopsch
@online{klopsch:20200524:examining:842b499, author = {Andreas Klopsch}, title = {{Examining Smokeloader’s Anti Hooking technique}}, date = {2020-05-24}, organization = {Malware and Stuff}, url = {https://malwareandstuff.com/examining-smokeloaders-anti-hooking-technique/}, language = {English}, urldate = {2020-05-25} } Examining Smokeloader’s Anti Hooking technique
SmokeLoader
2020-05-24Positive TechnologiesPT ESC Threat Intelligence
@online{intelligence:20200524:operation:2ce432b, author = {PT ESC Threat Intelligence}, title = {{Operation TA505: network infrastructure. Part 3.}}, date = {2020-05-24}, organization = {Positive Technologies}, url = {https://www.ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/operation-ta505-part3/}, language = {English}, urldate = {2020-11-23} } Operation TA505: network infrastructure. Part 3.
AndroMut Buhtrap SmokeLoader
2020-03-04CrowdStrikeCrowdStrike
@techreport{crowdstrike:20200304:2020:818c85f, author = {CrowdStrike}, title = {{2020 CrowdStrike Global Threat Report}}, date = {2020-03-04}, institution = {CrowdStrike}, url = {https://go.crowdstrike.com/rs/281-OBQ-266/images/Report2020CrowdStrikeGlobalThreatReport.pdf}, language = {English}, urldate = {2020-07-24} } 2020 CrowdStrike Global Threat Report
MESSAGETAP More_eggs 8.t Dropper Anchor BabyShark BadNews Clop Cobalt Strike CobInt Cobra Carbon System Cutwail DanaBot Dharma DoppelPaymer Dridex Emotet FlawedAmmyy FriedEx Gandcrab Get2 IcedID ISFB KerrDown LightNeuron LockerGoga Maze MECHANICAL Necurs Nokki Outlook Backdoor Phobos Ransomware Predator The Thief QakBot REvil RobinHood Ryuk SDBbot Skipper SmokeLoader TerraRecon TerraStealer TerraTV TinyLoader TrickBot vidar Winnti ANTHROPOID SPIDER Anunak APT31 APT39 BlackTech BuhTrap Charming Kitten CLOCKWORD SPIDER DOPPEL SPIDER Gamaredon Group Leviathan MONTY SPIDER Mustang Panda NARWHAL SPIDER NOCTURNAL SPIDER Pinchy Spider Pirate Panda Salty Spider SCULLY SPIDER SMOKY SPIDER Thrip VENOM SPIDER
2020-02-18Github (DanusMinimus)Dan Lisichkin
@online{lisichkin:20200218:analyzing:f805dad, author = {Dan Lisichkin}, title = {{Analyzing Modern Malware Techniques Part 4: I’m afraid of no packer(Part 1 of 2)}}, date = {2020-02-18}, organization = {Github (DanusMinimus)}, url = {https://danusminimus.github.io/Analyzing-Modern-Malware-Techniques-Part-4/}, language = {English}, urldate = {2020-02-25} } Analyzing Modern Malware Techniques Part 4: I’m afraid of no packer(Part 1 of 2)
SmokeLoader
2019-11-21SentinelOneMario Ciccarelli
@online{ciccarelli:20191121:going:0e7cac5, author = {Mario Ciccarelli}, title = {{Going Deep | A Guide to Reversing Smoke Loader Malware}}, date = {2019-11-21}, organization = {SentinelOne}, url = {https://www.sentinelone.com/blog/going-deep-a-guide-to-reversing-smoke-loader-malware/}, language = {English}, urldate = {2020-01-07} } Going Deep | A Guide to Reversing Smoke Loader Malware
SmokeLoader
2019-07-09Check PointIsrael Gubi
@online{gubi:20190709:2019:38d9134, author = {Israel Gubi}, title = {{The 2019 Resurgence of Smokeloader}}, date = {2019-07-09}, organization = {Check Point}, url = {https://research.checkpoint.com/2019-resurgence-of-smokeloader/}, language = {English}, urldate = {2020-01-10} } The 2019 Resurgence of Smokeloader
SmokeLoader
2019-05-02ProofpointBryan Campbell, Proofpoint Threat Insight Team
@online{campbell:20190502:2019:1fe00f6, author = {Bryan Campbell and Proofpoint Threat Insight Team}, title = {{2019: The Return of Retefe}}, date = {2019-05-02}, organization = {Proofpoint}, url = {https://www.proofpoint.com/us/threat-insight/post/2019-return-retefe}, language = {English}, urldate = {2019-12-20} } 2019: The Return of Retefe
Dok Retefe SmokeLoader
2018-09-18int 0xcc blogRaashid Bhat
@online{bhat:20180918:taste:e7dd98d, author = {Raashid Bhat}, title = {{A taste of our own medicine: How SmokeLoader is deceiving configuration extraction by using binary code as bait}}, date = {2018-09-18}, organization = {int 0xcc blog}, url = {https://int0xcc.svbtle.com/a-taste-of-our-own-medicine-how-smokeloader-is-deceiving-dynamic-configuration-extraction-by-using-binary-code-as-bait}, language = {English}, urldate = {2020-01-10} } A taste of our own medicine: How SmokeLoader is deceiving configuration extraction by using binary code as bait
SmokeLoader
2018-08-14Plug it, play it, burn it, rip itAlberto Ortega
@online{ortega:20180814:antihooking:b194a7c, author = {Alberto Ortega}, title = {{Anti-Hooking checks of SmokeLoader 2018}}, date = {2018-08-14}, organization = {Plug it, play it, burn it, rip it}, url = {https://blog.badtrace.com/post/anti-hooking-checks-of-smokeloader-2018/}, language = {English}, urldate = {2020-01-13} } Anti-Hooking checks of SmokeLoader 2018
SmokeLoader
2018-07-18CERT.PLMichał Praszmo
@online{praszmo:20180718:dissecting:aa5eca1, author = {Michał Praszmo}, title = {{Dissecting Smoke Loader}}, date = {2018-07-18}, organization = {CERT.PL}, url = {https://www.cert.pl/en/news/single/dissecting-smoke-loader/}, language = {English}, urldate = {2020-01-13} } Dissecting Smoke Loader
SmokeLoader
2018-07-03Talos IntelligenceBen Baker, Holger Unterbrink
@online{baker:20180703:smoking:067be1f, author = {Ben Baker and Holger Unterbrink}, title = {{Smoking Guns - Smoke Loader learned new tricks}}, date = {2018-07-03}, organization = {Talos Intelligence}, url = {https://blog.talosintelligence.com/2018/07/smoking-guns-smoke-loader-learned-new.html}, language = {English}, urldate = {2019-10-14} } Smoking Guns - Smoke Loader learned new tricks
SmokeLoader TrickBot
2018-04-16SpamhausSpamhaus Malware Labs
@online{labs:20180416:smoke:b91b833, author = {Spamhaus Malware Labs}, title = {{Smoke Loader malware improves after Microsoft spoils its Campaign}}, date = {2018-04-16}, organization = {Spamhaus}, url = {https://www.spamhaus.org/news/article/774/smoke-loader-improves-encryption-after-microsoft-spoils-its-campaign}, language = {English}, urldate = {2020-01-08} } Smoke Loader malware improves after Microsoft spoils its Campaign
SmokeLoader
2018-04-04MicrosoftMicrosoft Defender ATP Research Team
@online{team:20180404:hunting:fe0f809, author = {Microsoft Defender ATP Research Team}, title = {{Hunting down Dofoil with Windows Defender ATP}}, date = {2018-04-04}, organization = {Microsoft}, url = {https://cloudblogs.microsoft.com/microsoftsecure/2018/04/04/hunting-down-dofoil-with-windows-defender-atp/}, language = {English}, urldate = {2020-01-08} } Hunting down Dofoil with Windows Defender ATP
SmokeLoader
2018-01-12MalwarebytesJérôme Segura
@online{segura:20180112:fake:c7bc448, author = {Jérôme Segura}, title = {{Fake Spectre and Meltdown patch pushes Smoke Loader malware}}, date = {2018-01-12}, organization = {Malwarebytes}, url = {https://blog.malwarebytes.com/cybercrime/2018/01/fake-spectre-and-meltdown-patch-pushes-smoke-loader/}, language = {English}, urldate = {2019-12-20} } Fake Spectre and Meltdown patch pushes Smoke Loader malware
SmokeLoader
2017-08-24Blaze's Security BlogBartBlaze
@online{bartblaze:20170824:crystal:16adb4a, author = {BartBlaze}, title = {{Crystal Finance Millennium used to spread malware}}, date = {2017-08-24}, organization = {Blaze's Security Blog}, url = {https://bartblaze.blogspot.com/2017/08/crystal-finance-millennium-used-to.html}, language = {English}, urldate = {2020-02-01} } Crystal Finance Millennium used to spread malware
Chthonic SmokeLoader
2017-08-04PhishLabsJason Davison
@online{davison:20170804:smoke:06d64d3, author = {Jason Davison}, title = {{Smoke Loader Adds Additional Obfuscation Methods to Mitigate Analysis}}, date = {2017-08-04}, organization = {PhishLabs}, url = {https://info.phishlabs.com/blog/smoke-loader-adds-additional-obfuscation-methods-to-mitigate-analysis}, language = {English}, urldate = {2020-01-08} } Smoke Loader Adds Additional Obfuscation Methods to Mitigate Analysis
SmokeLoader
2017-04-03Malware BreakdownMalware Breakdown
@online{breakdown:20170403:shadow:962f78d, author = {Malware Breakdown}, title = {{Shadow Server Domains Leading to RIG Exploit Kit Dropping Smoke Loader}}, date = {2017-04-03}, organization = {Malware Breakdown}, url = {https://malwarebreakdown.com/2017/04/03/shadow-server-domains-leads-to-rig-exploit-kit-dropping-smoke-loader-which-downloads-neutrino-bot-aka-kasidet/}, language = {English}, urldate = {2019-12-18} } Shadow Server Domains Leading to RIG Exploit Kit Dropping Smoke Loader
SmokeLoader
2016-10-17MalwarebytesJérôme Segura
@online{segura:20161017:newlooking:3e62740, author = {Jérôme Segura}, title = {{New-looking Sundown EK drops Smoke Loader, Kronos banker}}, date = {2016-10-17}, organization = {Malwarebytes}, url = {https://blog.malwarebytes.com/threat-analysis/2016/10/new-looking-sundown-ek-drops-smoke-loader-kronos-banker/}, language = {English}, urldate = {2019-12-20} } New-looking Sundown EK drops Smoke Loader, Kronos banker
Kronos SmokeLoader
2016-08-05MalwarebytesMalwarebytes Labs
@online{labs:20160805:smoke:afada56, author = {Malwarebytes Labs}, title = {{Smoke Loader – downloader with a smokescreen still alive}}, date = {2016-08-05}, organization = {Malwarebytes}, url = {https://blog.malwarebytes.com/threat-analysis/2016/08/smoke-loader-downloader-with-a-smokescreen-still-alive/}, language = {English}, urldate = {2019-12-20} } Smoke Loader – downloader with a smokescreen still alive
SmokeLoader
2014-10-05Eternal TodoJose Miguel Esparza
@online{esparza:20141005:dissecting:93f306b, author = {Jose Miguel Esparza}, title = {{Dissecting SmokeLoader (or Yulia's sweet ass proposition)}}, date = {2014-10-05}, organization = {Eternal Todo}, url = {https://eternal-todo.com/blog/smokeloader-analysis-yulia-photo}, language = {English}, urldate = {2020-01-13} } Dissecting SmokeLoader (or Yulia's sweet ass proposition)
SmokeLoader
Yara Rules
[TLP:WHITE] win_smokeloader_auto (20201014 | autogenerated rule brought to you by yara-signator)
rule win_smokeloader_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2020-10-14"
        version = "1"
        description = "autogenerated rule brought to you by yara-signator"
        tool = "yara-signator v0.5.0"
        tool_config = "callsandjumps;datarefs;binvalue"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.smokeloader"
        malpedia_rule_date = "20201014"
        malpedia_hash = "a7e3bd57eaf12bf3ea29a863c041091ba3af9ac9"
        malpedia_version = "20201014"
        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 = { ff15???????? 8d45f0 50 8d45e8 50 8d45e0 }
            // n = 6, score = 1100
            //   ff15????????         |                     
            //   8d45f0               | lea                 eax, [ebp - 0x10]
            //   50                   | push                eax
            //   8d45e8               | lea                 eax, [ebp - 0x18]
            //   50                   | push                eax
            //   8d45e0               | lea                 eax, [ebp - 0x20]

        $sequence_1 = { 8d45e8 50 8d45e0 50 56 ff15???????? }
            // n = 6, score = 900
            //   8d45e8               | lea                 eax, [ebp - 0x18]
            //   50                   | push                eax
            //   8d45e0               | lea                 eax, [ebp - 0x20]
            //   50                   | push                eax
            //   56                   | push                esi
            //   ff15????????         |                     

        $sequence_2 = { ff15???????? 8bf0 8d45dc 50 6a00 53 }
            // n = 6, score = 900
            //   ff15????????         |                     
            //   8bf0                 | mov                 esi, eax
            //   8d45dc               | lea                 eax, [ebp - 0x24]
            //   50                   | push                eax
            //   6a00                 | push                0
            //   53                   | push                ebx

        $sequence_3 = { 57 ff15???????? 6a00 6800000002 6a03 6a00 }
            // n = 6, score = 900
            //   57                   | push                edi
            //   ff15????????         |                     
            //   6a00                 | push                0
            //   6800000002           | push                0x2000000
            //   6a03                 | push                3
            //   6a00                 | push                0

        $sequence_4 = { 50 6a00 53 ff15???????? 8d45f0 50 }
            // n = 6, score = 900
            //   50                   | push                eax
            //   6a00                 | push                0
            //   53                   | push                ebx
            //   ff15????????         |                     
            //   8d45f0               | lea                 eax, [ebp - 0x10]
            //   50                   | push                eax

        $sequence_5 = { 668ce8 6685c0 7406 fe05???????? }
            // n = 4, score = 800
            //   668ce8               | mov                 ax, gs
            //   6685c0               | test                ax, ax
            //   7406                 | je                  8
            //   fe05????????         |                     

        $sequence_6 = { 72f0 eb19 8365fc00 8d45fc }
            // n = 4, score = 700
            //   72f0                 | jb                  0xfffffff2
            //   eb19                 | jmp                 0x1b
            //   8365fc00             | and                 dword ptr [ebp - 4], 0
            //   8d45fc               | lea                 eax, [ebp - 4]

        $sequence_7 = { ff15???????? 50 56 6a00 ff15???????? }
            // n = 5, score = 700
            //   ff15????????         |                     
            //   50                   | push                eax
            //   56                   | push                esi
            //   6a00                 | push                0
            //   ff15????????         |                     

        $sequence_8 = { ff15???????? 53 8bf0 ff15???????? 33ff 2bf0 47 }
            // n = 7, score = 700
            //   ff15????????         |                     
            //   53                   | push                ebx
            //   8bf0                 | mov                 esi, eax
            //   ff15????????         |                     
            //   33ff                 | xor                 edi, edi
            //   2bf0                 | sub                 esi, eax
            //   47                   | inc                 edi

        $sequence_9 = { 83c410 56 53 53 ff15???????? }
            // n = 5, score = 700
            //   83c410               | add                 esp, 0x10
            //   56                   | push                esi
            //   53                   | push                ebx
            //   53                   | push                ebx
            //   ff15????????         |                     

        $sequence_10 = { 50 ff15???????? 6800a00f00 50 a3???????? ff15???????? }
            // n = 6, score = 700
            //   50                   | push                eax
            //   ff15????????         |                     
            //   6800a00f00           | push                0xfa000
            //   50                   | push                eax
            //   a3????????           |                     
            //   ff15????????         |                     

        $sequence_11 = { 8b07 03c3 50 ff15???????? }
            // n = 4, score = 700
            //   8b07                 | mov                 eax, dword ptr [edi]
            //   03c3                 | add                 eax, ebx
            //   50                   | push                eax
            //   ff15????????         |                     

        $sequence_12 = { ff15???????? bf90010000 8bcf e8???????? }
            // n = 4, score = 700
            //   ff15????????         |                     
            //   bf90010000           | mov                 edi, 0x190
            //   8bcf                 | mov                 ecx, edi
            //   e8????????           |                     

        $sequence_13 = { 56 6800000008 6a40 8d45f0 50 }
            // n = 5, score = 700
            //   56                   | push                esi
            //   6800000008           | push                0x8000000
            //   6a40                 | push                0x40
            //   8d45f0               | lea                 eax, [ebp - 0x10]
            //   50                   | push                eax

        $sequence_14 = { 50 ff35???????? ff15???????? ff35???????? 6aff ff15???????? }
            // n = 6, score = 700
            //   50                   | push                eax
            //   ff35????????         |                     
            //   ff15????????         |                     
            //   ff35????????         |                     
            //   6aff                 | push                -1
            //   ff15????????         |                     

        $sequence_15 = { 33c0 e9???????? e8???????? b904010000 }
            // n = 4, score = 600
            //   33c0                 | xor                 eax, eax
            //   e9????????           |                     
            //   e8????????           |                     
            //   b904010000           | mov                 ecx, 0x104

        $sequence_16 = { 01d4 8d85f0fdffff 8b750c 8b7d10 }
            // n = 4, score = 500
            //   01d4                 | lea                 ecx, [ebp - 0x218]
            //   8d85f0fdffff         | push                eax
            //   8b750c               | push                eax
            //   8b7d10               | push                eax

        $sequence_17 = { c60653 56 6a00 6a00 6a00 }
            // n = 5, score = 500
            //   c60653               | push                ebx
            //   56                   | lea                 ecx, [ebp - 0x214]
            //   6a00                 | lea                 edx, [ebp - 0x210]
            //   6a00                 | mov                 dword ptr [edx], 0
            //   6a00                 | mov                 word ptr [esi + 3], ax

        $sequence_18 = { 8d8decfdffff 8d95f0fdffff c70200000000 6800800000 52 51 }
            // n = 6, score = 500
            //   8d8decfdffff         | push                dword ptr [ebp - 0x210]
            //   8d95f0fdffff         | push                eax
            //   c70200000000         | push                ebx
            //   6800800000           | mov                 byte ptr [esi], 0x53
            //   52                   | push                esi
            //   51                   | push                0

        $sequence_19 = { ffb5f0fdffff 50 53 e8???????? 8d8decfdffff 8d95f0fdffff c70200000000 }
            // n = 7, score = 500
            //   ffb5f0fdffff         | mov                 dword ptr [ebp - 0x78], ecx
            //   50                   | mov                 edx, dword ptr [ebp - 0x78]
            //   53                   | mov                 dword ptr [ebp - 0x90], eax
            //   e8????????           |                     
            //   8d8decfdffff         | mov                 ecx, dword ptr [ebp - 0x60]
            //   8d95f0fdffff         | mov                 edx, dword ptr [ebp - 0x90]
            //   c70200000000         | mov                 dword ptr [ecx + 0xc], edx

        $sequence_20 = { 89c6 6804010000 56 57 }
            // n = 4, score = 500
            //   89c6                 | push                eax
            //   6804010000           | push                ebx
            //   56                   | lea                 ecx, [ebp - 0x214]
            //   57                   | lea                 edx, [ebp - 0x210]

        $sequence_21 = { 8b4514 898608020000 56 6aff }
            // n = 4, score = 500
            //   8b4514               | push                0
            //   898608020000         | mov                 word ptr [esi + 3], ax
            //   56                   | lea                 ecx, [ebp - 0x218]
            //   6aff                 | push                eax

        $sequence_22 = { 8b7d10 50 57 56 53 e8???????? 85c0 }
            // n = 7, score = 500
            //   8b7d10               | push                eax
            //   50                   | push                eax
            //   57                   | lea                 ecx, [ebp - 0x214]
            //   56                   | lea                 edx, [ebp - 0x210]
            //   53                   | mov                 dword ptr [edx], 0
            //   e8????????           |                     
            //   85c0                 | push                eax

        $sequence_23 = { 66894603 8d8de8fdffff 50 50 50 50 51 }
            // n = 7, score = 500
            //   66894603             | push                0xd22204e4
            //   8d8de8fdffff         | mov                 eax, dword ptr [ebp - 0x1c]
            //   50                   | xor                 edx, edx
            //   50                   | div                 ecx
            //   50                   | mov                 dword ptr [ebp - 8], eax
            //   50                   | mov                 ecx, dword ptr [ebp - 8]
            //   51                   | imul                ecx, dword ptr [ebp - 8]

        $sequence_24 = { 89c6 89cf fc b280 31db a4 b302 }
            // n = 7, score = 400
            //   89c6                 | mov                 esi, eax
            //   89cf                 | mov                 edi, ecx
            //   fc                   | cld                 
            //   b280                 | mov                 dl, 0x80
            //   31db                 | xor                 ebx, ebx
            //   a4                   | movsb               byte ptr es:[edi], byte ptr [esi]
            //   b302                 | mov                 bl, 2

        $sequence_25 = { fc 5f 5e 5b }
            // n = 4, score = 400
            //   fc                   | xor                 ebx, ebx
            //   5f                   | movsb               byte ptr es:[edi], byte ptr [esi]
            //   5e                   | mov                 esi, eax
            //   5b                   | mov                 edi, ecx

        $sequence_26 = { 898570ffffff 8b4da0 8b9570ffffff 89510c 68e40422d2 8b45e4 }
            // n = 6, score = 200
            //   898570ffffff         | mov                 eax, dword ptr [ebp - 0x1c]
            //   8b4da0               | push                eax
            //   8b9570ffffff         | mov                 dword ptr [ebp - 4], eax
            //   89510c               | mov                 ecx, dword ptr [ebp - 0x60]
            //   68e40422d2           | mov                 edx, dword ptr [ebp - 4]
            //   8b45e4               | push                eax

        $sequence_27 = { 488b4c2478 488b01 ff5010 488b4c2458 }
            // n = 4, score = 200
            //   488b4c2478           | dec                 eax
            //   488b01               | mov                 ecx, dword ptr [esp + 0x78]
            //   ff5010               | dec                 eax
            //   488b4c2458           | mov                 eax, dword ptr [ecx]

        $sequence_28 = { 8b550c 833a03 740a 837de800 0f8586000000 8b4514 89459c }
            // n = 7, score = 200
            //   8b550c               | mov                 edx, dword ptr [ebp - 0x34]
            //   833a03               | mov                 dword ptr [ecx + 0x44], edx
            //   740a                 | push                0x37a470d7
            //   837de800             | mov                 eax, dword ptr [ebp - 0x88]
            //   0f8586000000         | push                eax
            //   8b4514               | mov                 cl, byte ptr [eax]
            //   89459c               | mov                 byte ptr [ebp - 0x15], cl

        $sequence_29 = { 89e5 81ec54040000 53 56 }
            // n = 4, score = 200
            //   89e5                 | cld                 
            //   81ec54040000         | mov                 dl, 0x80
            //   53                   | xor                 ebx, ebx
            //   56                   | mov                 esi, eax

        $sequence_30 = { 488d55b0 0f114530 0f1145f0 0f1145d0 }
            // n = 4, score = 200
            //   488d55b0             | push                -1
            //   0f114530             | mov                 dword ptr [ebp - 0x214], eax
            //   0f1145f0             | push                dword ptr [ebp - 0x210]
            //   0f1145d0             | push                eax

        $sequence_31 = { 5e c3 60 89c6 89cf fc }
            // n = 6, score = 200
            //   5e                   | pop                 esi
            //   c3                   | ret                 
            //   60                   | pushal              
            //   89c6                 | mov                 esi, eax
            //   89cf                 | mov                 edi, ecx
            //   fc                   | cld                 

        $sequence_32 = { 01c7 668b0c4f 41 8b7b1c 4c 01c7 8b048f }
            // n = 7, score = 200
            //   01c7                 | test                eax, eax
            //   668b0c4f             | je                  0x5f
            //   41                   | mov                 ax, gs
            //   8b7b1c               | je                  0x5f
            //   4c                   | mov                 ax, gs
            //   01c7                 | test                ax, ax
            //   8b048f               | jne                 0x15

        $sequence_33 = { 745d 668ce8 6685c0 750d }
            // n = 4, score = 200
            //   745d                 | push                dword ptr [ebp - 4]
            //   668ce8               | test                eax, eax
            //   6685c0               | je                  0x79
            //   750d                 | push                dword ptr [ebp - 4]

        $sequence_34 = { c1e002 03471c 8b0428 01e8 5e c3 60 }
            // n = 7, score = 200
            //   c1e002               | shl                 eax, 2
            //   03471c               | add                 eax, dword ptr [edi + 0x1c]
            //   8b0428               | mov                 eax, dword ptr [eax + ebp]
            //   01e8                 | add                 eax, ebp
            //   5e                   | pop                 esi
            //   c3                   | ret                 
            //   60                   | pushal              

        $sequence_35 = { 01c4 ffc9 49 8d3c8c }
            // n = 4, score = 200
            //   01c4                 | je                  0x6b
            //   ffc9                 | push                dword ptr [ebp - 4]
            //   49                   | test                eax, eax
            //   8d3c8c               | je                  0x66

        $sequence_36 = { 89c2 8b453c 8b7c2878 01ef 8b7720 01ee }
            // n = 6, score = 200
            //   89c2                 | mov                 edx, eax
            //   8b453c               | mov                 eax, dword ptr [ebp + 0x3c]
            //   8b7c2878             | mov                 edi, dword ptr [eax + ebp + 0x78]
            //   01ef                 | add                 edi, ebp
            //   8b7720               | mov                 esi, dword ptr [edi + 0x20]
            //   01ee                 | add                 esi, ebp

        $sequence_37 = { 56 ad 01e8 31c9 }
            // n = 4, score = 200
            //   56                   | push                esi
            //   ad                   | lodsd               eax, dword ptr [esi]
            //   01e8                 | add                 eax, ebp
            //   31c9                 | xor                 ecx, ecx

        $sequence_38 = { ff15???????? 8b442440 85c0 7e02 }
            // n = 4, score = 200
            //   ff15????????         |                     
            //   8b442440             | mov                 eax, dword ptr [esp + 0x40]
            //   85c0                 | test                eax, eax
            //   7e02                 | jle                 4

        $sequence_39 = { 29c6 d1ee 037724 0fb7442efe c1e002 03471c 8b0428 }
            // n = 7, score = 200
            //   29c6                 | sub                 esi, eax
            //   d1ee                 | shr                 esi, 1
            //   037724               | add                 esi, dword ptr [edi + 0x24]
            //   0fb7442efe           | movzx               eax, word ptr [esi + ebp - 2]
            //   c1e002               | shl                 eax, 2
            //   03471c               | add                 eax, dword ptr [edi + 0x1c]
            //   8b0428               | mov                 eax, dword ptr [eax + ebp]

        $sequence_40 = { 6820fa1477 8b8578ffffff 50 e8???????? }
            // n = 4, score = 200
            //   6820fa1477           | inc                 eax
            //   8b8578ffffff         | test                bh, bh
            //   50                   | jne                 0xd
            //   e8????????           |                     

        $sequence_41 = { 4c8d4528 4533c9 33d2 488bcb }
            // n = 4, score = 200
            //   4c8d4528             | call                dword ptr [eax + 0x10]
            //   4533c9               | dec                 eax
            //   33d2                 | mov                 ecx, dword ptr [esp + 0x58]
            //   488bcb               | dec                 esp

        $sequence_42 = { 8b45e4 50 e8???????? 8945fc 8b4da0 8b55fc }
            // n = 6, score = 200
            //   8b45e4               | mov                 edx, dword ptr [ebp - 8]
            //   50                   | imul                edx, dword ptr [ebp + 0x10]
            //   e8????????           |                     
            //   8945fc               | imul                edx, edx, 0x1e
            //   8b4da0               | push                0x519bed2b
            //   8b55fc               | mov                 eax, dword ptr [ebp - 0x88]

        $sequence_43 = { 85c0 7469 ff75fc e8???????? 85c0 745d 668ce8 }
            // n = 7, score = 200
            //   85c0                 | test                eax, eax
            //   7469                 | je                  0x6d
            //   ff75fc               | push                dword ptr [ebp - 4]
            //   e8????????           |                     
            //   85c0                 | test                eax, eax
            //   745d                 | push                dword ptr [ebp - 4]
            //   668ce8               | test                eax, eax

        $sequence_44 = { 50 6a40 6800100000 8b4d9c }
            // n = 4, score = 200
            //   50                   | push                eax
            //   6a40                 | mov                 dword ptr [ebp - 0x68], eax
            //   6800100000           | mov                 ecx, dword ptr [ebp - 0x60]
            //   8b4d9c               | mov                 edx, dword ptr [ebp + 0xc]

        $sequence_45 = { eb03 4032ff 4084ff 7508 33c9 ff15???????? 33d2 }
            // n = 7, score = 200
            //   eb03                 | dec                 eax
            //   4032ff               | mov                 ecx, ebx
            //   4084ff               | je                  0x5a
            //   7508                 | dec                 eax
            //   33c9                 | and                 dword ptr [esp + 0x20], 0
            //   ff15????????         |                     
            //   33d2                 | inc                 ebp

        $sequence_46 = { 8b55d8 895108 8b45f0 8b480c 894d88 8b5588 }
            // n = 6, score = 200
            //   8b55d8               | cmp                 dword ptr [edx], 3
            //   895108               | je                  0xc
            //   8b45f0               | cmp                 dword ptr [ebp - 0x18], 0
            //   8b480c               | jne                 0x92
            //   894d88               | mov                 eax, dword ptr [ebp + 0x14]
            //   8b5588               | mov                 dword ptr [ebp - 0x64], eax

        $sequence_47 = { 7458 488364242000 4533c9 4533c0 }
            // n = 4, score = 200
            //   7458                 | lea                 eax, [ebp + 0x28]
            //   488364242000         | inc                 ebp
            //   4533c9               | xor                 ecx, ecx
            //   4533c0               | xor                 edx, edx

        $sequence_48 = { 56 57 007508 bbb84340c1 }
            // n = 4, score = 200
            //   56                   | push                esi
            //   57                   | push                edi
            //   007508               | add                 byte ptr [ebp + 8], dh
            //   bbb84340c1           | mov                 ebx, 0xc14043b8

        $sequence_49 = { 8b4da0 8b55cc 895144 68d770a437 8b8578ffffff 50 }
            // n = 6, score = 200
            //   8b4da0               | xor                 ecx, ecx
            //   8b55cc               | xor                 edx, edx
            //   895144               | test                eax, eax
            //   68d770a437           | je                  0xae
            //   8b8578ffffff         | dec                 eax
            //   50                   | mov                 ecx, dword ptr [ebp - 0x18]

        $sequence_50 = { 7475 ff75fc e8???????? 85c0 7469 ff75fc }
            // n = 6, score = 200
            //   7475                 | push                esi
            //   ff75fc               | cld                 
            //   e8????????           |                     
            //   85c0                 | pop                 edi
            //   7469                 | pop                 esi
            //   ff75fc               | pop                 ebx

        $sequence_51 = { 31c0 ac 01c2 85c0 }
            // n = 4, score = 200
            //   31c0                 | test                eax, eax
            //   ac                   | je                  0x77
            //   01c2                 | push                dword ptr [ebp - 4]
            //   85c0                 | test                eax, eax

        $sequence_52 = { c1c108 3208 40 803800 75f5 }
            // n = 5, score = 200
            //   c1c108               | rol                 ecx, 8
            //   3208                 | xor                 cl, byte ptr [eax]
            //   40                   | inc                 eax
            //   803800               | cmp                 byte ptr [eax], 0
            //   75f5                 | jne                 0xfffffff7

        $sequence_53 = { 8a08 884deb 8b55f8 0faf5510 6bd21e }
            // n = 5, score = 200
            //   8a08                 | dec                 eax
            //   884deb               | lea                 eax, [ebp - 0x20]
            //   8b55f8               | inc                 ebp
            //   0faf5510             | xor                 ecx, ecx
            //   6bd21e               | inc                 ebp

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