SYMBOLCOMMON_NAMEaka. SYNONYMS
win.rifdoor (Back to overview)

Rifdoor

Actor(s): Lazarus Group


There is no description at this point.

References
2020-04-16VMWare Carbon BlackScott Knight
@online{knight:20200416:evolution:39b90c0, author = {Scott Knight}, title = {{The Evolution of Lazarus}}, date = {2020-04-16}, organization = {VMWare Carbon Black}, url = {https://www.carbonblack.com/2020/04/16/vmware-carbon-black-tau-threat-analysis-the-evolution-of-lazarus/}, language = {English}, urldate = {2020-04-17} } The Evolution of Lazarus
HOTCROISSANT Rifdoor
2020-03-03PWC UKPWC UK
@techreport{uk:20200303:cyber:1f1eef0, author = {PWC UK}, title = {{Cyber Threats 2019:A Year in Retrospect}}, date = {2020-03-03}, institution = {PWC UK}, url = {https://www.pwc.co.uk/cyber-security/assets/cyber-threats-2019-retrospect.pdf}, language = {English}, urldate = {2020-03-03} } Cyber Threats 2019:A Year in Retrospect
KevDroid MESSAGETAP magecart AndroMut Cobalt Strike CobInt Crimson RAT DNSpionage Dridex Dtrack Emotet FlawedAmmyy FlawedGrace FriedEx Gandcrab Get2 GlobeImposter Grateful POS ISFB Kazuar LockerGoga Nokki QakBot Ramnit REvil Rifdoor RokRAT Ryuk shadowhammer ShadowPad Shifu Skipper StoneDrill Stuxnet TrickBot Winnti ZeroCleare APT41 MUSTANG PANDA
2018-06-23AhnLabAhnLab
@techreport{ahnlab:20180623:full:dced6a4, author = {AhnLab}, title = {{Full Discloser of Andariel, A Subgroup of Lazarus Threat Group}}, date = {2018-06-23}, institution = {AhnLab}, url = {https://global.ahnlab.com/global/upload/download/techreport/[AhnLab]Andariel_a_Subgroup_of_Lazarus%20(3).pdf}, language = {English}, urldate = {2019-12-24} } Full Discloser of Andariel, A Subgroup of Lazarus Threat Group
PhanDoor Rifdoor
Yara Rules
[TLP:WHITE] win_rifdoor_auto (20230407 | Detects win.rifdoor.)
rule win_rifdoor_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-03-28"
        version = "1"
        description = "Detects win.rifdoor."
        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.rifdoor"
        malpedia_rule_date = "20230328"
        malpedia_hash = "9d2d75cef573c1c2d861f5197df8f563b05a305d"
        malpedia_version = "20230407"
        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 = { 83ec08 8d0424 57 50 }
            // n = 4, score = 200
            //   83ec08               | sub                 esp, 8
            //   8d0424               | lea                 eax, [esp]
            //   57                   | push                edi
            //   50                   | push                eax

        $sequence_1 = { 758b 8bd6 83f93d 7532 8bcd }
            // n = 5, score = 200
            //   758b                 | jne                 0xffffff8d
            //   8bd6                 | mov                 edx, esi
            //   83f93d               | cmp                 ecx, 0x3d
            //   7532                 | jne                 0x34
            //   8bcd                 | mov                 ecx, ebp

        $sequence_2 = { 52 b80c000000 b9???????? 895c2414 e8???????? 8be8 }
            // n = 6, score = 200
            //   52                   | push                edx
            //   b80c000000           | mov                 eax, 0xc
            //   b9????????           |                     
            //   895c2414             | mov                 dword ptr [esp + 0x14], ebx
            //   e8????????           |                     
            //   8be8                 | mov                 ebp, eax

        $sequence_3 = { 66894c2426 6689542428 b869000000 b963000000 }
            // n = 4, score = 200
            //   66894c2426           | mov                 word ptr [esp + 0x26], cx
            //   6689542428           | mov                 word ptr [esp + 0x28], dx
            //   b869000000           | mov                 eax, 0x69
            //   b963000000           | mov                 ecx, 0x63

        $sequence_4 = { 6801010000 ff15???????? 85c0 0f85ed000000 8d4c2410 51 }
            // n = 6, score = 200
            //   6801010000           | push                0x101
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax
            //   0f85ed000000         | jne                 0xf3
            //   8d4c2410             | lea                 ecx, [esp + 0x10]
            //   51                   | push                ecx

        $sequence_5 = { a1???????? 8b15???????? 33c9 89442464 89442468 8d442418 }
            // n = 6, score = 200
            //   a1????????           |                     
            //   8b15????????         |                     
            //   33c9                 | xor                 ecx, ecx
            //   89442464             | mov                 dword ptr [esp + 0x64], eax
            //   89442468             | mov                 dword ptr [esp + 0x68], eax
            //   8d442418             | lea                 eax, [esp + 0x18]

        $sequence_6 = { b810000000 b9???????? 895c2414 e8???????? 8b542414 8be8 52 }
            // n = 7, score = 200
            //   b810000000           | mov                 eax, 0x10
            //   b9????????           |                     
            //   895c2414             | mov                 dword ptr [esp + 0x14], ebx
            //   e8????????           |                     
            //   8b542414             | mov                 edx, dword ptr [esp + 0x14]
            //   8be8                 | mov                 ebp, eax
            //   52                   | push                edx

        $sequence_7 = { 750d e8???????? c744247001000000 8b2d???????? 8d7c2410 8bf3 2bfb }
            // n = 7, score = 200
            //   750d                 | jne                 0xf
            //   e8????????           |                     
            //   c744247001000000     | mov                 dword ptr [esp + 0x70], 1
            //   8b2d????????         |                     
            //   8d7c2410             | lea                 edi, [esp + 0x10]
            //   8bf3                 | mov                 esi, ebx
            //   2bfb                 | sub                 edi, ebx

        $sequence_8 = { 8d45e8 50 8d8de8f7ffff 51 8d95e8fbffff 68???????? 52 }
            // n = 7, score = 100
            //   8d45e8               | lea                 eax, [ebp - 0x18]
            //   50                   | push                eax
            //   8d8de8f7ffff         | lea                 ecx, [ebp - 0x818]
            //   51                   | push                ecx
            //   8d95e8fbffff         | lea                 edx, [ebp - 0x418]
            //   68????????           |                     
            //   52                   | push                edx

        $sequence_9 = { 0fb6c8 0fafd9 47 3bbe90010000 72a8 8d85fcfeffff }
            // n = 6, score = 100
            //   0fb6c8               | movzx               ecx, al
            //   0fafd9               | imul                ebx, ecx
            //   47                   | inc                 edi
            //   3bbe90010000         | cmp                 edi, dword ptr [esi + 0x190]
            //   72a8                 | jb                  0xffffffaa
            //   8d85fcfeffff         | lea                 eax, [ebp - 0x104]

        $sequence_10 = { 39750c 0f8edc000000 0fb65902 8a5101 885dff 0fb6d8 }
            // n = 6, score = 100
            //   39750c               | cmp                 dword ptr [ebp + 0xc], esi
            //   0f8edc000000         | jle                 0xe2
            //   0fb65902             | movzx               ebx, byte ptr [ecx + 2]
            //   8a5101               | mov                 dl, byte ptr [ecx + 1]
            //   885dff               | mov                 byte ptr [ebp - 1], bl
            //   0fb6d8               | movzx               ebx, al

        $sequence_11 = { 8b9540fbffff 8d8d24fbffff 51 8b4d08 83c220 52 6a00 }
            // n = 7, score = 100
            //   8b9540fbffff         | mov                 edx, dword ptr [ebp - 0x4c0]
            //   8d8d24fbffff         | lea                 ecx, [ebp - 0x4dc]
            //   51                   | push                ecx
            //   8b4d08               | mov                 ecx, dword ptr [ebp + 8]
            //   83c220               | add                 edx, 0x20
            //   52                   | push                edx
            //   6a00                 | push                0

        $sequence_12 = { 53 8b1d???????? 8b04b7 8a08 80f92d 7405 80f92f }
            // n = 7, score = 100
            //   53                   | push                ebx
            //   8b1d????????         |                     
            //   8b04b7               | mov                 eax, dword ptr [edi + esi*4]
            //   8a08                 | mov                 cl, byte ptr [eax]
            //   80f92d               | cmp                 cl, 0x2d
            //   7405                 | je                  7
            //   80f92f               | cmp                 cl, 0x2f

        $sequence_13 = { 8d95e8fbffff 52 ffd3 8d85e8fbffff 50 8bc8 51 }
            // n = 7, score = 100
            //   8d95e8fbffff         | lea                 edx, [ebp - 0x418]
            //   52                   | push                edx
            //   ffd3                 | call                ebx
            //   8d85e8fbffff         | lea                 eax, [ebp - 0x418]
            //   50                   | push                eax
            //   8bc8                 | mov                 ecx, eax
            //   51                   | push                ecx

        $sequence_14 = { 83feff 0f84a8000000 8945ec 8945f0 8945f4 8945f8 b802000000 }
            // n = 7, score = 100
            //   83feff               | cmp                 esi, -1
            //   0f84a8000000         | je                  0xae
            //   8945ec               | mov                 dword ptr [ebp - 0x14], eax
            //   8945f0               | mov                 dword ptr [ebp - 0x10], eax
            //   8945f4               | mov                 dword ptr [ebp - 0xc], eax
            //   8945f8               | mov                 dword ptr [ebp - 8], eax
            //   b802000000           | mov                 eax, 2

        $sequence_15 = { ff15???????? 8d7d8c e8???????? 888590f8ffff 8b9590f8ffff }
            // n = 5, score = 100
            //   ff15????????         |                     
            //   8d7d8c               | lea                 edi, [ebp - 0x74]
            //   e8????????           |                     
            //   888590f8ffff         | mov                 byte ptr [ebp - 0x770], al
            //   8b9590f8ffff         | mov                 edx, dword ptr [ebp - 0x770]

    condition:
        7 of them and filesize < 212992
}
[TLP:WHITE] win_rifdoor_w0   (20230118 | detect_rifdoor)
rule win_rifdoor_w0 {
	meta:
	    description = "detect_rifdoor"
	    author = "@malgamy12"
	    date = "2022/11/11"
	    license = "DRL 1.1"
        hash1 = "19b2144927bd071e30df9fce5f3d49f1"
        hash2 = "d8ba4b4bfc5e0877fa8e8c1b26876ea6"
        hash3 = "d94d6f773c0ed5514d3e571e4b3681ba"
        hash4 = "5aca1e4ec64ba417d1b0ebea88bdd06e"
        hash5 = "45f8d44cba70520ca2ea97427ddaab3e"
        hash6 = "d3b2956904bed8c8146b8bb556b8911a"
        hash7 = "e4c4c9abdd8613afa17f58d721039a46"
        hash8 = "cf847663a7a9d6ddbe3a1f0d5e5236b6"
        hash9 = "01a0b932d82ed3b78ccfb2bb5826c32f"
        hash10 = "c6687e1fab97b2d7433a5e51fcf2aa30"

        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.rifdoor"
        malpedia_rule_date = "20230118"
        malpedia_hash = ""
        malpedia_version = "20230118"
        malpedia_license = "DRL 1.1"
        malpedia_sharing = "TLP:WHITE"

    strings:
        $pdb = "rifle.pdb" ascii

        $s1 = "MUTEX394039_4830023" ascii
        $s2 = "CMD:%s %s %d/%d/%d %d:%d:%d" ascii
	$s3 = "/c del /q \"%s\" >> NUL" ascii

        $chunk_1 = {80 32 ?? 41 80 39 ?? 8B D1 75} // xor operation

        
    condition:
        uint16(0) == 0x5A4D  and ($pdb  or  (2 of ($s*) and $chunk_1 ))

}
Download all Yara Rules