SYMBOLCOMMON_NAMEaka. SYNONYMS
win.nosu (Back to overview)

Nosu

VTCollection    

According to PCrisk, Nosu is the name of a malicious program classified as a stealer. This malware is designed to steal information from infected machines. The Nosu stealer can extract a wide variety of data from devices and installed applications. The most active campaigns associated with Nosu were noted in North and South America, as well as Southeast Asia.

References
2022-12-06BitSightJoão Batista
Cova and Nosu: a new loader spreads a new stealer
Cova Nosu
Yara Rules
[TLP:WHITE] win_nosu_auto (20230808 | Detects win.nosu.)
rule win_nosu_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-12-06"
        version = "1"
        description = "Detects win.nosu."
        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.nosu"
        malpedia_rule_date = "20231130"
        malpedia_hash = "fc8a0e9f343f6d6ded9e7df1a64dac0cc68d7351"
        malpedia_version = "20230808"
        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 = { 50 8d4730 50 ff15???????? 03c0 8d5730 50 }
            // n = 7, score = 200
            //   50                   | push                eax
            //   8d4730               | lea                 eax, [edi + 0x30]
            //   50                   | push                eax
            //   ff15????????         |                     
            //   03c0                 | add                 eax, eax
            //   8d5730               | lea                 edx, [edi + 0x30]
            //   50                   | push                eax

        $sequence_1 = { 399628040000 7438 399648010000 7430 3996b8020000 7428 8b8e48060000 }
            // n = 7, score = 200
            //   399628040000         | cmp                 dword ptr [esi + 0x428], edx
            //   7438                 | je                  0x3a
            //   399648010000         | cmp                 dword ptr [esi + 0x148], edx
            //   7430                 | je                  0x32
            //   3996b8020000         | cmp                 dword ptr [esi + 0x2b8], edx
            //   7428                 | je                  0x2a
            //   8b8e48060000         | mov                 ecx, dword ptr [esi + 0x648]

        $sequence_2 = { 8bcf 8938 e8???????? 894500 85c0 }
            // n = 5, score = 200
            //   8bcf                 | mov                 ecx, edi
            //   8938                 | mov                 dword ptr [eax], edi
            //   e8????????           |                     
            //   894500               | mov                 dword ptr [ebp], eax
            //   85c0                 | test                eax, eax

        $sequence_3 = { e8???????? 59 85c0 7444 8b7c2410 bd???????? 55 }
            // n = 7, score = 200
            //   e8????????           |                     
            //   59                   | pop                 ecx
            //   85c0                 | test                eax, eax
            //   7444                 | je                  0x46
            //   8b7c2410             | mov                 edi, dword ptr [esp + 0x10]
            //   bd????????           |                     
            //   55                   | push                ebp

        $sequence_4 = { 0f45cf 03ce 84c0 8b4508 51 ff742420 0f45d7 }
            // n = 7, score = 200
            //   0f45cf               | cmovne              ecx, edi
            //   03ce                 | add                 ecx, esi
            //   84c0                 | test                al, al
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   51                   | push                ecx
            //   ff742420             | push                dword ptr [esp + 0x20]
            //   0f45d7               | cmovne              edx, edi

        $sequence_5 = { 7462 803b22 0f85d4010000 8d470c 50 8d5708 8d4c2418 }
            // n = 7, score = 200
            //   7462                 | je                  0x64
            //   803b22               | cmp                 byte ptr [ebx], 0x22
            //   0f85d4010000         | jne                 0x1da
            //   8d470c               | lea                 eax, [edi + 0xc]
            //   50                   | push                eax
            //   8d5708               | lea                 edx, [edi + 8]
            //   8d4c2418             | lea                 ecx, [esp + 0x18]

        $sequence_6 = { 53 50 53 a5 8d942440080000 53 53 }
            // n = 7, score = 200
            //   53                   | push                ebx
            //   50                   | push                eax
            //   53                   | push                ebx
            //   a5                   | movsd               dword ptr es:[edi], dword ptr [esi]
            //   8d942440080000       | lea                 edx, [esp + 0x840]
            //   53                   | push                ebx
            //   53                   | push                ebx

        $sequence_7 = { 8b442434 59 c60004 8b442430 c640010e }
            // n = 5, score = 200
            //   8b442434             | mov                 eax, dword ptr [esp + 0x34]
            //   59                   | pop                 ecx
            //   c60004               | mov                 byte ptr [eax], 4
            //   8b442430             | mov                 eax, dword ptr [esp + 0x30]
            //   c640010e             | mov                 byte ptr [eax + 1], 0xe

        $sequence_8 = { 50 8d8e280a0000 e8???????? 59 8d442468 50 8d442424 }
            // n = 7, score = 200
            //   50                   | push                eax
            //   8d8e280a0000         | lea                 ecx, [esi + 0xa28]
            //   e8????????           |                     
            //   59                   | pop                 ecx
            //   8d442468             | lea                 eax, [esp + 0x68]
            //   50                   | push                eax
            //   8d442424             | lea                 eax, [esp + 0x24]

        $sequence_9 = { 8d96a8000000 8d4e48 e8???????? 59 59 84c0 742c }
            // n = 7, score = 200
            //   8d96a8000000         | lea                 edx, [esi + 0xa8]
            //   8d4e48               | lea                 ecx, [esi + 0x48]
            //   e8????????           |                     
            //   59                   | pop                 ecx
            //   59                   | pop                 ecx
            //   84c0                 | test                al, al
            //   742c                 | je                  0x2e

    condition:
        7 of them and filesize < 513024
}
[TLP:WHITE] win_nosu_w0   (20230118 | Detect_Nosu_stealer)
rule win_nosu_w0 {
    meta:
	    description = "Detect_Nosu_stealer"
	    author = "@malgamy12"
	    date = "2023/1/9"
        license = "DRL 1.1"
        hash = "6499cadaea169c7dfe75b55f9c949659af49649a10c8b593a8db378692a11962"
        hash = "e227246cbebf72eb2867ef21b1b103ec07ddd87f4f8a5ac89a47536d5b831f6d"
        hash = "3d18b9c312abaa8dd93dc0d1abfdc97e72788100fb1effb938b5f6f4fd3b59eb"
        hash = "e513f5e424371cce491ae28d45aaa7e361f370c790dc86bb33dc9313b3660ac3"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.nosu"
        malpedia_rule_date = "20230118"
        malpedia_hash = ""
        malpedia_version = "20230118"
        malpedia_license = "DRL 1.1"
        malpedia_sharing = "TLP:WHITE"
                
    strings:
	    $s1 = "release\\lilly.pdb" ascii

		
        $op1 = {33 D2 8B C3 F7 F7 8A C3 24 ?? 32 04 32 30 04 19 43 8B 4C 24 ?? 3B DD 72}
        $op2 = {8B 86 [4] 80 34 08 ?? 41 8B 86 [4] 3B C8 72}
	$op3 = {69 D2 [4] 33 C9 42 8B C2 0F A4 C1 ?? 30 0C 1E 46}
        
    condition:
        uint16(0) == 0x5A4D and ($s1 or all of ($op*))
}
Download all Yara Rules