SYMBOLCOMMON_NAMEaka. SYNONYMS
win.lorenz (Back to overview)

Lorenz

VTCollection    

Tesorion describes Lorenz as a ransomware with design and implementation flaws, leading to impossible decryption with tools provided by the attackers. A free decryptor for 2021 versions was made available via the NoMoreRansom initiative. A new version of the malware was discovered in March 2022, for which again was provided a free decryptor, while the ransomware operators are not able to provide tools to decrypt affected files.

References
2023-02-23 ⋅ Arctic Wolf ⋅ Markus Neis, Ross Phillips, Seth Battles, Steven Campbell
Getting Dumped: A Trust Relationship Destroyed by Lorenz
Lorenz
2022-09-12 ⋅ Arctic Wolf ⋅ Alex Ammons, Arctic Wolf Labs Team, Markus Neis, Ross Phillips, Steven Campbell, Teresa Whitmore
Chiseling In: Lorenz Ransomware Group Cracks MiVoice And Calls Back For Free
Chisel Lorenz
2022-03-21 ⋅ Tesorion ⋅ Gijs Rijnders
Lorenz ransomware rebound: corruption and irrecoverable files
Lorenz
2022-02-08 ⋅ Cybereason ⋅ Lior Rochberger
Cybereason vs. Lorenz Ransomware
Lorenz
2021-08-05 ⋅ Twitter (@AltShiftPrtScn) ⋅ Peter Mackenzie
Tweet on Lorenz ransomware tricking user into allowing OAuth permissions to "Thunderbird with ExQuilla" for O365
Lorenz
2021-06-29 ⋅ The Record ⋅ Catalin Cimpanu
Free decrypter available for Lorenz ransomware
Lorenz
2021-06-25 ⋅ Tesorion ⋅ Gijs Rijnders
Lorenz ransomware: analysis and a free decryptor
Lorenz
2021-05-13 ⋅ Bleeping Computer ⋅ Lawrence Abrams
Meet Lorenz — A new ransomware gang targeting the enterprise
Lorenz
Yara Rules
[TLP:WHITE] win_lorenz_auto (20260917 | Detects win.lorenz.)
rule win_lorenz_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.lorenz."
        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.lorenz"
        malpedia_rule_date = "20260916"
        malpedia_hash = "53a643781c18e08f4a50949af60172d837a0b6f6"
        malpedia_version = "20260917"
        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 = { 83780400 7c20 8b4d0c 8b5104 8955fc 8b4508 }
            // n = 6, score = 300
            //   83780400             | cmp                 dword ptr [eax + 4], 0
            //   7c20                 | jl                  0x22
            //   8b4d0c               | mov                 ecx, dword ptr [ebp + 0xc]
            //   8b5104               | mov                 edx, dword ptr [ecx + 4]
            //   8955fc               | mov                 dword ptr [ebp - 4], edx
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]

        $sequence_1 = { 8b55d4 8d048a 50 e8???????? 83c40c 8b4dec 8b55d4 }
            // n = 7, score = 300
            //   8b55d4               | mov                 edx, dword ptr [ebp - 0x2c]
            //   8d048a               | lea                 eax, [edx + ecx*4]
            //   50                   | push                eax
            //   e8????????           |                     
            //   83c40c               | add                 esp, 0xc
            //   8b4dec               | mov                 ecx, dword ptr [ebp - 0x14]
            //   8b55d4               | mov                 edx, dword ptr [ebp - 0x2c]

        $sequence_2 = { f775e8 8945d4 8b55e0 3b55d4 731a 8b45ec 8b4dd4 }
            // n = 7, score = 300
            //   f775e8               | div                 dword ptr [ebp - 0x18]
            //   8945d4               | mov                 dword ptr [ebp - 0x2c], eax
            //   8b55e0               | mov                 edx, dword ptr [ebp - 0x20]
            //   3b55d4               | cmp                 edx, dword ptr [ebp - 0x2c]
            //   731a                 | jae                 0x1c
            //   8b45ec               | mov                 eax, dword ptr [ebp - 0x14]
            //   8b4dd4               | mov                 ecx, dword ptr [ebp - 0x2c]

        $sequence_3 = { 8bc8 e8???????? 0fb6d0 85d2 751b 8b45fc 8b08 }
            // n = 7, score = 300
            //   8bc8                 | mov                 ecx, eax
            //   e8????????           |                     
            //   0fb6d0               | movzx               edx, al
            //   85d2                 | test                edx, edx
            //   751b                 | jne                 0x1d
            //   8b45fc               | mov                 eax, dword ptr [ebp - 4]
            //   8b08                 | mov                 ecx, dword ptr [eax]

        $sequence_4 = { e8???????? c745fcffffffff 8d4d08 e8???????? eb47 8b4de8 83c104 }
            // n = 7, score = 300
            //   e8????????           |                     
            //   c745fcffffffff       | mov                 dword ptr [ebp - 4], 0xffffffff
            //   8d4d08               | lea                 ecx, [ebp + 8]
            //   e8????????           |                     
            //   eb47                 | jmp                 0x49
            //   8b4de8               | mov                 ecx, dword ptr [ebp - 0x18]
            //   83c104               | add                 ecx, 4

        $sequence_5 = { 8b515c 833c8200 7518 8b4d0c 8b5508 c1e205 8b45fc }
            // n = 7, score = 300
            //   8b515c               | mov                 edx, dword ptr [ecx + 0x5c]
            //   833c8200             | cmp                 dword ptr [edx + eax*4], 0
            //   7518                 | jne                 0x1a
            //   8b4d0c               | mov                 ecx, dword ptr [ebp + 0xc]
            //   8b5508               | mov                 edx, dword ptr [ebp + 8]
            //   c1e205               | shl                 edx, 5
            //   8b45fc               | mov                 eax, dword ptr [ebp - 4]

        $sequence_6 = { c745ec00000000 0fb64510 85c0 0f8416010000 8b4d08 e8???????? 8945e4 }
            // n = 7, score = 300
            //   c745ec00000000       | mov                 dword ptr [ebp - 0x14], 0
            //   0fb64510             | movzx               eax, byte ptr [ebp + 0x10]
            //   85c0                 | test                eax, eax
            //   0f8416010000         | je                  0x11c
            //   8b4d08               | mov                 ecx, dword ptr [ebp + 8]
            //   e8????????           |                     
            //   8945e4               | mov                 dword ptr [ebp - 0x1c], eax

        $sequence_7 = { c7818401000000000000 8b55f0 c7828801000001000000 8b45f0 c7808c01000000000000 8b4df0 c7819001000000000000 }
            // n = 7, score = 300
            //   c7818401000000000000     | mov    dword ptr [ecx + 0x184], 0
            //   8b55f0               | mov                 edx, dword ptr [ebp - 0x10]
            //   c7828801000001000000     | mov    dword ptr [edx + 0x188], 1
            //   8b45f0               | mov                 eax, dword ptr [ebp - 0x10]
            //   c7808c01000000000000     | mov    dword ptr [eax + 0x18c], 0
            //   8b4df0               | mov                 ecx, dword ptr [ebp - 0x10]
            //   c7819001000000000000     | mov    dword ptr [ecx + 0x190], 0

        $sequence_8 = { 55 8bec 83ec18 8b4508 8b4810 8b510c 8955e8 }
            // n = 7, score = 300
            //   55                   | push                ebp
            //   8bec                 | mov                 ebp, esp
            //   83ec18               | sub                 esp, 0x18
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   8b4810               | mov                 ecx, dword ptr [eax + 0x10]
            //   8b510c               | mov                 edx, dword ptr [ecx + 0xc]
            //   8955e8               | mov                 dword ptr [ebp - 0x18], edx

        $sequence_9 = { 8b4dfc c7410c01000000 8b4df8 81c130010000 e8???????? 8b45fc 8be5 }
            // n = 7, score = 300
            //   8b4dfc               | mov                 ecx, dword ptr [ebp - 4]
            //   c7410c01000000       | mov                 dword ptr [ecx + 0xc], 1
            //   8b4df8               | mov                 ecx, dword ptr [ebp - 8]
            //   81c130010000         | add                 ecx, 0x130
            //   e8????????           |                     
            //   8b45fc               | mov                 eax, dword ptr [ebp - 4]
            //   8be5                 | mov                 esp, ebp

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