SYMBOLCOMMON_NAMEaka. SYNONYMS
win.stealer_0x3401 (Back to overview)

Stealer0x3401

Actor(s): APT31


According to PTSecurity, this stealer harvests system information which is then RC4 encrypted and Base64 encoded before sending it to the C2 server.

References
2022-08-04PTSecurityPT ESC Threat Intelligence
@online{intelligence:20220804:flying:99dfe7f, author = {PT ESC Threat Intelligence}, title = {{Flying in the clouds: APT31 renews its attacks on Russian companies through cloud storage}}, date = {2022-08-04}, organization = {PTSecurity}, url = {https://www.ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/apt31-cloud-attacks}, language = {English}, urldate = {2022-08-09} } Flying in the clouds: APT31 renews its attacks on Russian companies through cloud storage
Stealer0x3401 YaRAT
2022-08-04PTSecurityPT Expert Security Center
@online{center:20220804:flying:a16b831, author = {PT Expert Security Center}, title = {{Flying in the clouds: APT31 renews its attacks on Russian companies through cloud storage}}, date = {2022-08-04}, organization = {PTSecurity}, url = {https://www.ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/apt31-cloud-attacks/}, language = {English}, urldate = {2022-08-15} } Flying in the clouds: APT31 renews its attacks on Russian companies through cloud storage
Stealer0x3401 YaRAT
Yara Rules
[TLP:WHITE] win_stealer_0x3401_auto (20230125 | Detects win.stealer_0x3401.)
rule win_stealer_0x3401_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-01-25"
        version = "1"
        description = "Detects win.stealer_0x3401."
        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.stealer_0x3401"
        malpedia_rule_date = "20230124"
        malpedia_hash = "2ee0eebba83dce3d019a90519f2f972c0fcf9686"
        malpedia_version = "20230125"
        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 = { eb69 68???????? 8d4dc0 e8???????? eb5a 68???????? 8d4dc0 }
            // n = 7, score = 100
            //   eb69                 | jmp                 0x6b
            //   68????????           |                     
            //   8d4dc0               | lea                 ecx, [ebp - 0x40]
            //   e8????????           |                     
            //   eb5a                 | jmp                 0x5c
            //   68????????           |                     
            //   8d4dc0               | lea                 ecx, [ebp - 0x40]

        $sequence_1 = { 8b8da07dffff 40 3d00100000 722a f6c11f }
            // n = 5, score = 100
            //   8b8da07dffff         | mov                 ecx, dword ptr [ebp - 0x8260]
            //   40                   | inc                 eax
            //   3d00100000           | cmp                 eax, 0x1000
            //   722a                 | jb                  0x2c
            //   f6c11f               | test                cl, 0x1f

        $sequence_2 = { 8b1485c8710210 8a4c1a2d f6c104 7419 8a441a2e 80e1fb }
            // n = 6, score = 100
            //   8b1485c8710210       | mov                 edx, dword ptr [eax*4 + 0x100271c8]
            //   8a4c1a2d             | mov                 cl, byte ptr [edx + ebx + 0x2d]
            //   f6c104               | test                cl, 4
            //   7419                 | je                  0x1b
            //   8a441a2e             | mov                 al, byte ptr [edx + ebx + 0x2e]
            //   80e1fb               | and                 cl, 0xfb

        $sequence_3 = { 0f8472010000 6a00 6a00 6a03 6a00 6a00 ffb5a4f5ffff }
            // n = 7, score = 100
            //   0f8472010000         | je                  0x178
            //   6a00                 | push                0
            //   6a00                 | push                0
            //   6a03                 | push                3
            //   6a00                 | push                0
            //   6a00                 | push                0
            //   ffb5a4f5ffff         | push                dword ptr [ebp - 0xa5c]

        $sequence_4 = { 894310 8b4614 894314 c7461407000000 837e1408 c7461000000000 }
            // n = 6, score = 100
            //   894310               | mov                 dword ptr [ebx + 0x10], eax
            //   8b4614               | mov                 eax, dword ptr [esi + 0x14]
            //   894314               | mov                 dword ptr [ebx + 0x14], eax
            //   c7461407000000       | mov                 dword ptr [esi + 0x14], 7
            //   837e1408             | cmp                 dword ptr [esi + 0x14], 8
            //   c7461000000000       | mov                 dword ptr [esi + 0x10], 0

        $sequence_5 = { 8b55ac f20f5ac0 51 8b4da8 f30f59c1 f30f59c1 f30f59c1 }
            // n = 7, score = 100
            //   8b55ac               | mov                 edx, dword ptr [ebp - 0x54]
            //   f20f5ac0             | cvtsd2ss            xmm0, xmm0
            //   51                   | push                ecx
            //   8b4da8               | mov                 ecx, dword ptr [ebp - 0x58]
            //   f30f59c1             | mulss               xmm0, xmm1
            //   f30f59c1             | mulss               xmm0, xmm1
            //   f30f59c1             | mulss               xmm0, xmm1

        $sequence_6 = { 83c6ff 7849 53 57 53 57 e8???????? }
            // n = 7, score = 100
            //   83c6ff               | add                 esi, -1
            //   7849                 | js                  0x4b
            //   53                   | push                ebx
            //   57                   | push                edi
            //   53                   | push                ebx
            //   57                   | push                edi
            //   e8????????           |                     

        $sequence_7 = { 74cb 8b1d???????? 0f1f4000 6666660f1f840000000000 33c0 c745ec07000000 c745e800000000 }
            // n = 7, score = 100
            //   74cb                 | je                  0xffffffcd
            //   8b1d????????         |                     
            //   0f1f4000             | nop                 dword ptr [eax]
            //   6666660f1f840000000000     | nop    word ptr [eax + eax]
            //   33c0                 | xor                 eax, eax
            //   c745ec07000000       | mov                 dword ptr [ebp - 0x14], 7
            //   c745e800000000       | mov                 dword ptr [ebp - 0x18], 0

        $sequence_8 = { 75f9 2bca 51 53 8d4c241c e8???????? 53 }
            // n = 7, score = 100
            //   75f9                 | jne                 0xfffffffb
            //   2bca                 | sub                 ecx, edx
            //   51                   | push                ecx
            //   53                   | push                ebx
            //   8d4c241c             | lea                 ecx, [esp + 0x1c]
            //   e8????????           |                     
            //   53                   | push                ebx

        $sequence_9 = { 8b5d08 56 57 8bf9 897dfc 8b7704 3bde }
            // n = 7, score = 100
            //   8b5d08               | mov                 ebx, dword ptr [ebp + 8]
            //   56                   | push                esi
            //   57                   | push                edi
            //   8bf9                 | mov                 edi, ecx
            //   897dfc               | mov                 dword ptr [ebp - 4], edi
            //   8b7704               | mov                 esi, dword ptr [edi + 4]
            //   3bde                 | cmp                 ebx, esi

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