SYMBOLCOMMON_NAMEaka. SYNONYMS
win.oceansalt (Back to overview)

Oceansalt


There is no description at this point.

References
2018-10-18McAfeeRyan Sherstobitoff, Asheer Malhotra
@techreport{sherstobitoff:20181018:operation:f7a178c, author = {Ryan Sherstobitoff and Asheer Malhotra}, title = {{‘Operation Oceansalt’ Attacks South Korea, U.S., and Canada With Source Code From Chinese Hacker Group}}, date = {2018-10-18}, institution = {McAfee}, url = {https://www.mcafee.com/enterprise/en-us/assets/reports/rp-operation-oceansalt.pdf}, language = {English}, urldate = {2020-01-07} } ‘Operation Oceansalt’ Attacks South Korea, U.S., and Canada With Source Code From Chinese Hacker Group
Oceansalt Comment Crew
Yara Rules
[TLP:WHITE] win_oceansalt_auto (20220411 | Detects win.oceansalt.)
rule win_oceansalt_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2022-04-08"
        version = "1"
        description = "Detects win.oceansalt."
        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.oceansalt"
        malpedia_rule_date = "20220405"
        malpedia_hash = "ecd38294bd47d5589be5cd5490dc8bb4804afc2a"
        malpedia_version = "20220411"
        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 = { 6800000040 8d8df8f9ffff 51 ff15???????? 8bf8 85ff }
            // n = 6, score = 300
            //   6800000040           | dec                 ecx
            //   8d8df8f9ffff         | mov                 eax, dword ptr [edx + eax*8]
            //   51                   | dec                 eax
            //   ff15????????         |                     
            //   8bf8                 | imul                ecx, ecx, 0x58
            //   85ff                 | push                eax

        $sequence_1 = { 8d8dc8fdffff 51 56 ffd3 }
            // n = 4, score = 300
            //   8d8dc8fdffff         | push                ecx
            //   51                   | test                eax, eax
            //   56                   | jne                 0xffffff8c
            //   ffd3                 | pop                 ebx

        $sequence_2 = { 8b7508 8b3d???????? 85c0 0f8487000000 53 }
            // n = 5, score = 300
            //   8b7508               | dec                 eax
            //   8b3d????????         |                     
            //   85c0                 | sub                 esp, 0x38
            //   0f8487000000         | dec                 eax
            //   53                   | test                ecx, ecx

        $sequence_3 = { 5b 6a00 6808010000 8d95f4feffff 52 56 c745f800000000 }
            // n = 7, score = 300
            //   5b                   | dec                 esp
            //   6a00                 | lea                 edx, dword ptr [0x1055c]
            //   6808010000           | dec                 ecx
            //   8d95f4feffff         | mov                 eax, eax
            //   52                   | dec                 eax
            //   56                   | sar                 eax, 5
            //   c745f800000000       | and                 ecx, 0x1f

        $sequence_4 = { 68???????? 68???????? 6a00 ff15???????? 33c0 8b4dfc }
            // n = 6, score = 300
            //   68????????           |                     
            //   68????????           |                     
            //   6a00                 | push                0
            //   ff15????????         |                     
            //   33c0                 | mov                 esi, dword ptr [ebp + 8]
            //   8b4dfc               | test                eax, eax

        $sequence_5 = { 56 ffd3 8d95c8fdffff 52 e8???????? }
            // n = 5, score = 300
            //   56                   | dec                 eax
            //   ffd3                 | test                eax, eax
            //   8d95c8fdffff         | dec                 ecx
            //   52                   | mov                 ecx, eax
            //   e8????????           |                     

        $sequence_6 = { 8b04cd2cf04000 5d c3 0544ffffff 6a0e 59 }
            // n = 6, score = 300
            //   8b04cd2cf04000       | jne                 0x30
            //   5d                   | dec                 eax
            //   c3                   | lea                 edi, dword ptr [0x7f4c]
            //   0544ffffff           | jmp                 0x10
            //   6a0e                 | dec                 eax
            //   59                   | mov                 eax, dword ptr [ebx]

        $sequence_7 = { 50 51 e8???????? 85c0 7587 5b 6a00 }
            // n = 7, score = 300
            //   50                   | add                 edx, dword ptr [ecx + eax*8 + 0x147a0]
            //   51                   | test                byte ptr [edx + 0x38], 0x80
            //   e8????????           |                     
            //   85c0                 | je                  0x4f
            //   7587                 | dec                 eax
            //   5b                   | sbb                 eax, -1
            //   6a00                 | ret                 

        $sequence_8 = { 488bf1 488bfa 488d4c2460 33d2 }
            // n = 4, score = 100
            //   488bf1               | dec                 eax
            //   488bfa               | lea                 ecx, dword ptr [0xbf41]
            //   488d4c2460           | dec                 eax
            //   33d2                 | mov                 esi, ecx

        $sequence_9 = { 488d3d4c7f0000 eb0e 488b03 4885c0 }
            // n = 4, score = 100
            //   488d3d4c7f0000       | test                eax, eax
            //   eb0e                 | je                  0x4e
            //   488b03               | xor                 edx, edx
            //   4885c0               | dec                 eax

        $sequence_10 = { 4883d8ff c3 4883ec38 4885c9 7526 }
            // n = 5, score = 100
            //   4883d8ff             | dec                 esp
            //   c3                   | lea                 ebp, dword ptr [0x9d31]
            //   4883ec38             | dec                 eax
            //   4885c9               | mov                 esi, eax
            //   7526                 | dec                 eax

        $sequence_11 = { 83e21f 48c1f805 486bd258 490394c1a0470100 f6423880 7441 e8???????? }
            // n = 7, score = 100
            //   83e21f               | imul                ecx, ecx, 0x58
            //   48c1f805             | mov                 ecx, 0xff
            //   486bd258             | dec                 eax
            //   490394c1a0470100     | mov                 edi, ebx
            //   f6423880             | dec                 eax
            //   7441                 | add                 edi, edi
            //   e8????????           |                     

        $sequence_12 = { e8???????? b9ff000000 e8???????? 488bfb 4803ff 4c8d2d319d0000 }
            // n = 6, score = 100
            //   e8????????           |                     
            //   b9ff000000           | mov                 ecx, esi
            //   e8????????           |                     
            //   488bfb               | dec                 eax
            //   4803ff               | mov                 eax, esi
            //   4c8d2d319d0000       | dec                 eax

        $sequence_13 = { 741e 488bce 488bc6 488d15cc020100 83e11f 48c1f805 486bc958 }
            // n = 7, score = 100
            //   741e                 | dec                 eax
            //   488bce               | mov                 edi, edx
            //   488bc6               | dec                 eax
            //   488d15cc020100       | lea                 ecx, dword ptr [esp + 0x60]
            //   83e11f               | xor                 edx, edx
            //   48c1f805             | je                  0x20
            //   486bc958             | dec                 eax

        $sequence_14 = { ff15???????? 488bcb 668905???????? ff15???????? 488d0d41bf0000 8905???????? }
            // n = 6, score = 100
            //   ff15????????         |                     
            //   488bcb               | dec                 eax
            //   668905????????       |                     
            //   ff15????????         |                     
            //   488d0d41bf0000       | mov                 ecx, ebx
            //   8905????????         |                     

        $sequence_15 = { ff15???????? 488bf0 4885c0 7449 33d2 488bcb }
            // n = 6, score = 100
            //   ff15????????         |                     
            //   488bf0               | lea                 edx, dword ptr [0x102cc]
            //   4885c0               | and                 ecx, 0x1f
            //   7449                 | dec                 eax
            //   33d2                 | sar                 eax, 5
            //   488bcb               | dec                 eax

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