SYMBOLCOMMON_NAMEaka. SYNONYMS
win.reactorbot (Back to overview)

ReactorBot


Please note: ReactorBot in its naming is often mistakenly labeled as Rovnix. ReactorBot is a full blown bot with modules, whereas Rovnix is just a bootkit / driver component (originating from Carberp), occasionally delivered alongside ReactorBot.

References
2015-06-26Hanan Natan
@online{natan:20150626:rovnix:e6022ec, author = {Hanan Natan}, title = {{Rovnix Payload Analysis}}, date = {2015-06-26}, url = {http://www.malwaredigger.com/2015/06/rovnix-payload-and-plugin-analysis.html}, language = {English}, urldate = {2019-12-24} } Rovnix Payload Analysis
ReactorBot
2015-05-15Malware DiggerHanan Natan
@online{natan:20150515:rovnix:870b5a4, author = {Hanan Natan}, title = {{Rovnix Dropper Analysis (TrojanDropper:Win32/Rovnix.P)}}, date = {2015-05-15}, organization = {Malware Digger}, url = {http://www.malwaredigger.com/2015/05/rovnix-dropper-analysis.html}, language = {English}, urldate = {2019-11-05} } Rovnix Dropper Analysis (TrojanDropper:Win32/Rovnix.P)
ReactorBot Rovnix
2015-01-13SymantecRoberto Sponchioni
@online{sponchioni:20150113:new:dffd290, author = {Roberto Sponchioni}, title = {{New Carberp variant heads down under}}, date = {2015-01-13}, organization = {Symantec}, url = {https://www.symantec.com/connect/blogs/new-carberp-variant-heads-down-under}, language = {English}, urldate = {2020-01-13} } New Carberp variant heads down under
ReactorBot
2014-11-19Trend MicroJoie Salvio
@online{salvio:20141119:rovnix:29bc1ca, author = {Joie Salvio}, title = {{ROVNIX Infects Systems with Password-Protected Macros}}, date = {2014-11-19}, organization = {Trend Micro}, url = {http://blog.trendmicro.com/trendlabs-security-intelligence/rovnix-infects-systems-with-password-protected-macros/}, language = {English}, urldate = {2020-01-08} } ROVNIX Infects Systems with Password-Protected Macros
ReactorBot
Yara Rules
[TLP:WHITE] win_reactorbot_auto (20211008 | Detects win.reactorbot.)
rule win_reactorbot_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2021-10-07"
        version = "1"
        description = "Detects win.reactorbot."
        info = "autogenerated rule brought to you by yara-signator"
        tool = "yara-signator v0.6.0"
        signator_config = "callsandjumps;datarefs;binvalue"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.reactorbot"
        malpedia_rule_date = "20211007"
        malpedia_hash = "e5b790e0f888f252d49063a1251ca60ec2832535"
        malpedia_version = "20211008"
        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 = { 8b4dfc 51 ff15???????? c745f801000000 }
            // n = 4, score = 900
            //   8b4dfc               | mov                 ecx, dword ptr [ebp - 4]
            //   51                   | push                ecx
            //   ff15????????         |                     
            //   c745f801000000       | mov                 dword ptr [ebp - 8], 1

        $sequence_1 = { 6a00 8b4df4 51 ff15???????? 8945fc }
            // n = 5, score = 900
            //   6a00                 | push                0
            //   8b4df4               | mov                 ecx, dword ptr [ebp - 0xc]
            //   51                   | push                ecx
            //   ff15????????         |                     
            //   8945fc               | mov                 dword ptr [ebp - 4], eax

        $sequence_2 = { 6a00 6a03 6800000080 8b4508 50 ff15???????? 8945fc }
            // n = 7, score = 900
            //   6a00                 | push                0
            //   6a03                 | push                3
            //   6800000080           | push                0x80000000
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   50                   | push                eax
            //   ff15????????         |                     
            //   8945fc               | mov                 dword ptr [ebp - 4], eax

        $sequence_3 = { c745e800000000 c745e400000000 a1???????? 8945e0 }
            // n = 4, score = 900
            //   c745e800000000       | mov                 dword ptr [ebp - 0x18], 0
            //   c745e400000000       | mov                 dword ptr [ebp - 0x1c], 0
            //   a1????????           |                     
            //   8945e0               | mov                 dword ptr [ebp - 0x20], eax

        $sequence_4 = { 51 ff15???????? 8b55f0 3b55fc 7508 }
            // n = 5, score = 900
            //   51                   | push                ecx
            //   ff15????????         |                     
            //   8b55f0               | mov                 edx, dword ptr [ebp - 0x10]
            //   3b55fc               | cmp                 edx, dword ptr [ebp - 4]
            //   7508                 | jne                 0xa

        $sequence_5 = { 50 6804010000 8d8d78f7ffff 51 e8???????? }
            // n = 5, score = 900
            //   50                   | push                eax
            //   6804010000           | push                0x104
            //   8d8d78f7ffff         | lea                 ecx, dword ptr [ebp - 0x888]
            //   51                   | push                ecx
            //   e8????????           |                     

        $sequence_6 = { 6804010000 8d9580f9ffff 52 e8???????? }
            // n = 4, score = 900
            //   6804010000           | push                0x104
            //   8d9580f9ffff         | lea                 edx, dword ptr [ebp - 0x680]
            //   52                   | push                edx
            //   e8????????           |                     

        $sequence_7 = { 55 8bec 833d????????00 7418 6aff }
            // n = 5, score = 900
            //   55                   | push                ebp
            //   8bec                 | mov                 ebp, esp
            //   833d????????00       |                     
            //   7418                 | je                  0x1a
            //   6aff                 | push                -1

        $sequence_8 = { eb0c c705????????b80b0000 eb0a c705????????e8030000 }
            // n = 4, score = 400
            //   eb0c                 | jmp                 0xe
            //   c705????????b80b0000     |     
            //   eb0a                 | jmp                 0xc
            //   c705????????e8030000     |     

        $sequence_9 = { 69c0b13a0200 99 83e203 03c2 }
            // n = 4, score = 400
            //   69c0b13a0200         | imul                eax, eax, 0x23ab1
            //   99                   | cdq                 
            //   83e203               | and                 edx, 3
            //   03c2                 | add                 eax, edx

        $sequence_10 = { 83e803 99 b999000000 f7f9 }
            // n = 4, score = 400
            //   83e803               | sub                 eax, 3
            //   99                   | cdq                 
            //   b999000000           | mov                 ecx, 0x99
            //   f7f9                 | idiv                ecx

        $sequence_11 = { ff15???????? e8???????? 833d????????00 7509 833d????????00 }
            // n = 5, score = 400
            //   ff15????????         |                     
            //   e8????????           |                     
            //   833d????????00       |                     
            //   7509                 | jne                 0xb
            //   833d????????00       |                     

        $sequence_12 = { 83c005 99 b905000000 f7f9 }
            // n = 4, score = 400
            //   83c005               | add                 eax, 5
            //   99                   | cdq                 
            //   b905000000           | mov                 ecx, 5
            //   f7f9                 | idiv                ecx

        $sequence_13 = { 83e101 f7d9 81e12083b8ed 33c1 }
            // n = 4, score = 400
            //   83e101               | and                 ecx, 1
            //   f7d9                 | neg                 ecx
            //   81e12083b8ed         | and                 ecx, 0xedb88320
            //   33c1                 | xor                 eax, ecx

        $sequence_14 = { 448bc8 4c8b442468 488b542460 488b842400160000 488b08 ff15???????? }
            // n = 6, score = 200
            //   448bc8               | dec                 eax
            //   4c8b442468           | test                eax, eax
            //   488b542460           | inc                 esp
            //   488b842400160000     | mov                 ecx, eax
            //   488b08               | dec                 esp
            //   ff15????????         |                     

        $sequence_15 = { e9???????? 488d0df18c0000 ff15???????? 4885c0 }
            // n = 4, score = 200
            //   e9????????           |                     
            //   488d0df18c0000       | dec                 eax
            //   ff15????????         |                     
            //   4885c0               | lea                 ecx, dword ptr [0x8cf1]

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