SYMBOLCOMMON_NAMEaka. SYNONYMS
win.mydoom (Back to overview)

MyDoom

aka: Novarg, Mimail
VTCollection    

When executed, the worm opens up Windows' Notepad with garbage data in it. When spreading, the infectious email used to distribute the worm copies use variable subjects, bodies and attachment names.

The worm encrypts most of the strings in it's UPX-packed body with ROT13 method, i.e. the characters are rotated 13 locations to the right in the abecedary, starting from the beginning if the position is beyond the last letter.

Mydoom also performs a Distributed Denial-of-Service attack on www.sco.com. This attack starts on 1st of February.

The worm opens up a backdoor to infected computers. This is done by planting a new SHIMGAPI.DLL file to system32 directory and launching it as a child process of EXPLORER.EXE.

Mydoom is programmed to stop spreading on February 12th.

References
2025-05-01cocomelonccocomelonc
Malware development trick 46: simple Windows keylogger. Simple C example.
MyDoom Nokki RokRAT
2020-02-19LexfoLexfo
The Lazarus Constellation A study on North Korean malware
FastCash AppleJeus BADCALL Bankshot Brambul Dtrack Duuzer DYEPACK ELECTRICFISH HARDRAIN Hermes HOPLIGHT Joanap KEYMARBLE Kimsuky MimiKatz MyDoom NACHOCHEESE NavRAT PowerRatankba RokRAT Sierra(Alfa,Bravo, ...) Volgmer WannaCryptor
2018-12-19Malware Traffic AnalysisBrad Duncan
MALSPAM PUSHING THE MYDOOM WORM IS STILL A THING
MyDoom
2004-04-15SANS GIACMatt Goldencrown
MyDoom is Your Doom: An Analysis of the MyDoom Virus
MyDoom
2004-01-30Applied Watch TechnologiesEric S. Hines
MyDoom.B Worm Analysis
MyDoom
2004-01-01GIACSrinivas Ganti
MyDoom and its backdoor
MyDoom
Yara Rules
[TLP:WHITE] win_mydoom_auto (20260504 | Detects win.mydoom.)
rule win_mydoom_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-05-04"
        version = "1"
        description = "Detects win.mydoom."
        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.mydoom"
        malpedia_rule_date = "20260422"
        malpedia_hash = "a182e35da64e6d71cb55f125c4d4225196523f14"
        malpedia_version = "20260504"
        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 = { 89442404 893424 e8???????? ba00000000 eb20 ba00000000 }
            // n = 6, score = 100
            //   89442404             | mov                 dword ptr [esp + 4], eax
            //   893424               | mov                 dword ptr [esp], esi
            //   e8????????           |                     
            //   ba00000000           | mov                 edx, 0
            //   eb20                 | jmp                 0x22
            //   ba00000000           | mov                 edx, 0

        $sequence_1 = { 89442424 895c2420 c744241c00000000 c744241800000000 c744241400000000 c744241001000000 c744240c00000000 }
            // n = 7, score = 100
            //   89442424             | mov                 dword ptr [esp + 0x24], eax
            //   895c2420             | mov                 dword ptr [esp + 0x20], ebx
            //   c744241c00000000     | mov                 dword ptr [esp + 0x1c], 0
            //   c744241800000000     | mov                 dword ptr [esp + 0x18], 0
            //   c744241400000000     | mov                 dword ptr [esp + 0x14], 0
            //   c744241001000000     | mov                 dword ptr [esp + 0x10], 1
            //   c744240c00000000     | mov                 dword ptr [esp + 0xc], 0

        $sequence_2 = { 84db 0f94c2 09d0 ba00000000 a801 0f85f6000000 }
            // n = 6, score = 100
            //   84db                 | test                bl, bl
            //   0f94c2               | sete                dl
            //   09d0                 | or                  eax, edx
            //   ba00000000           | mov                 edx, 0
            //   a801                 | test                al, 1
            //   0f85f6000000         | jne                 0xfc

        $sequence_3 = { 890424 e8???????? 83ec08 8b856cf9ffff 890424 }
            // n = 5, score = 100
            //   890424               | mov                 dword ptr [esp], eax
            //   e8????????           |                     
            //   83ec08               | sub                 esp, 8
            //   8b856cf9ffff         | mov                 eax, dword ptr [ebp - 0x694]
            //   890424               | mov                 dword ptr [esp], eax

        $sequence_4 = { 89e5 53 83ec54 c7442404???????? }
            // n = 4, score = 100
            //   89e5                 | mov                 ebp, esp
            //   53                   | push                ebx
            //   83ec54               | sub                 esp, 0x54
            //   c7442404????????     |                     

        $sequence_5 = { 0fb6d0 89d0 8b5df4 8b75f8 }
            // n = 4, score = 100
            //   0fb6d0               | movzx               edx, al
            //   89d0                 | mov                 eax, edx
            //   8b5df4               | mov                 ebx, dword ptr [ebp - 0xc]
            //   8b75f8               | mov                 esi, dword ptr [ebp - 8]

        $sequence_6 = { 893424 e8???????? 893424 e8???????? 83ec04 80bc2807feffff5c }
            // n = 6, score = 100
            //   893424               | mov                 dword ptr [esp], esi
            //   e8????????           |                     
            //   893424               | mov                 dword ptr [esp], esi
            //   e8????????           |                     
            //   83ec04               | sub                 esp, 4
            //   80bc2807feffff5c     | cmp                 byte ptr [eax + ebp - 0x1f9], 0x5c

        $sequence_7 = { 0fb705???????? 668945d0 0fb605???????? 8845d2 8d45d8 890424 e8???????? }
            // n = 7, score = 100
            //   0fb705????????       |                     
            //   668945d0             | mov                 word ptr [ebp - 0x30], ax
            //   0fb605????????       |                     
            //   8845d2               | mov                 byte ptr [ebp - 0x2e], al
            //   8d45d8               | lea                 eax, [ebp - 0x28]
            //   890424               | mov                 dword ptr [esp], eax
            //   e8????????           |                     

        $sequence_8 = { 83ec08 e8???????? e8???????? e8???????? b800000000 }
            // n = 5, score = 100
            //   83ec08               | sub                 esp, 8
            //   e8????????           |                     
            //   e8????????           |                     
            //   e8????????           |                     
            //   b800000000           | mov                 eax, 0

        $sequence_9 = { c7442404???????? 893c24 e8???????? c7042401000000 e8???????? 83ec04 c744240800000000 }
            // n = 7, score = 100
            //   c7442404????????     |                     
            //   893c24               | mov                 dword ptr [esp], edi
            //   e8????????           |                     
            //   c7042401000000       | mov                 dword ptr [esp], 1
            //   e8????????           |                     
            //   83ec04               | sub                 esp, 4
            //   c744240800000000     | mov                 dword ptr [esp + 8], 0

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