win.shylock (Back to overview)

Shylock

aka: Caphaw

There is no description at this point.

References
https://securityintelligence.com/merchant-of-fraud-returns-shylock-polymorphic-financial-malware-infections-on-the-rise/
https://securityintelligence.com/shylocks-new-trick-evading-malware-researchers/
https://www.europol.europa.eu/newsroom/news/global-action-targeting-shylock-malware
https://www.virusbulletin.com/virusbulletin/2015/02/paper-pluginer-caphaw
http://contagiodump.blogspot.com/2011/09/sept-21-greedy-shylock-financial.html
https://malwarereversing.wordpress.com/2011/09/27/debugging-injected-code-with-ida-pro/
Yara Rules
[TLP:WHITE] win_shylock_auto (20180607 | autogenerated rule brought to you by yara-signator)
rule win_shylock_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2018-11-23"
        version = "1"
        description = "autogenerated rule brought to you by yara-signator"
        tool = "yara-signator 0.1a"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.shylock"
        malpedia_version = "20180607"
        malpedia_license = "CC BY-NC-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 / approach will be published in the near future 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 = { 33c0 c3 40 3b411c }
            // n = 4, score = 2000
            //   33c0                 | xor                 eax, eax
            //   c3                   | ret                 
            //   40                   | inc                 eax
            //   3b411c               | cmp                 eax, dword ptr [ecx + 0x1c]

        $sequence_1 = { 3bdf 0f84b2000000 397d08 0f84a9000000 }
            // n = 4, score = 2000
            //   3bdf                 | cmp                 ebx, edi
            //   0f84b2000000         | je                  0x244d86e
            //   397d08               | cmp                 dword ptr [ebp + 8], edi
            //   0f84a9000000         | je                  0x244d86e

        $sequence_2 = { 33f6 eb06 8b4d20 8d3488 }
            // n = 4, score = 2000
            //   33f6                 | xor                 esi, esi
            //   eb06                 | jmp                 0x243ebae
            //   8b4d20               | mov                 ecx, dword ptr [ebp + 0x20]
            //   8d3488               | lea                 esi, dword ptr [eax + ecx*4]

        $sequence_3 = { 33f6 56 ff750c 6a01 }
            // n = 4, score = 2000
            //   33f6                 | xor                 esi, esi
            //   56                   | push                esi
            //   ff750c               | push                dword ptr [ebp + 0xc]
            //   6a01                 | push                1

        $sequence_4 = { 33f6 eb06 8b4dec 8d3488 }
            // n = 4, score = 2000
            //   33f6                 | xor                 esi, esi
            //   eb06                 | jmp                 0x244a53d
            //   8b4dec               | mov                 ecx, dword ptr [ebp - 0x14]
            //   8d3488               | lea                 esi, dword ptr [eax + ecx*4]

        $sequence_5 = { 0f84c9000000 8d44240c 50 6a48 }
            // n = 4, score = 2000
            //   0f84c9000000         | je                  0x2445236
            //   8d44240c             | lea                 eax, dword ptr [esp + 0xc]
            //   50                   | push                eax
            //   6a48                 | push                0x48

        $sequence_6 = { 33db 8db560feffff 8bf8 895dfc }
            // n = 4, score = 2000
            //   33db                 | xor                 ebx, ebx
            //   8db560feffff         | lea                 esi, dword ptr [ebp - 0x1a0]
            //   8bf8                 | mov                 edi, eax
            //   895dfc               | mov                 dword ptr [ebp - 4], ebx

        $sequence_7 = { 0f8282000000 8b06 83f809 7772 }
            // n = 4, score = 2000
            //   0f8282000000         | jb                  0x245cb3d
            //   8b06                 | mov                 eax, dword ptr [esi]
            //   83f809               | cmp                 eax, 9
            //   7772                 | ja                  0x245cb34

        $sequence_8 = { 2b4704 c6471000 89470c 895f14 }
            // n = 4, score = 2000
            //   2b4704               | sub                 eax, dword ptr [edi + 4]
            //   c6471000             | mov                 byte ptr [edi + 0x10], 0
            //   89470c               | mov                 dword ptr [edi + 0xc], eax
            //   895f14               | mov                 dword ptr [edi + 0x14], ebx

        $sequence_9 = { 0f8422030000 8b45fc 0fb600 ff4df8 }
            // n = 4, score = 2000
            //   0f8422030000         | je                  0x24305dd
            //   8b45fc               | mov                 eax, dword ptr [ebp - 4]
            //   0fb600               | movzx               eax, byte ptr [eax]
            //   ff4df8               | dec                 dword ptr [ebp - 8]

    condition:
        7 of them
}
[TLP:WHITE] win_shylock_w0   (20170517 | Shylock Banker)
rule win_shylock_w0 {
	meta:
		author = "Jean-Philippe Teissier / @Jipe_"
		description = "Shylock Banker"
		date = "2013-12-12" 
		version = "1.0" 
		ref1 = "http://iocbucket.com/iocs/1b4660d57928df5ca843c21df0b2adb117026cba"
		ref2 = "http://www.trusteer.com/blog/merchant-fraud-returns-%E2%80%93-shylock-polymorphic-financial-malware-infections-rise"
		ref3 = "https://www.csis.dk/en/csis/blog/3811/"
		source = "https://github.com/mattulm/sfiles_yara/blob/master/malware/Shylock.yar"
        malpedia_version = "20170517"
        malpedia_license = "CC BY-NC-SA 4.0"
        malpedia_sharing = "TLP:WHITE"
	strings:
		$process1 = "MASTER"
		$process2 = "_SHUTDOWN"
		$process3 = "EVT_VNC"
		$process4 = "EVT_BACK"
		$process5 = "EVT_VNC"
		$process6 = "IE_Hook::GetRequestInfo"
		$process7 = "FF_Hook::getRequestInfo"
		$process8 = "EX_Hook::CreateProcess"
		$process9 = "hijackdll.dll"
		$process10 = "MTX_"
		$process11 = "FF::PR_WriteHook entry"
		$process12 = "FF::PR_WriteHook exit"
		$process13 = "HijackProcessAttach::*** MASTER *** MASTER *** MASTER *** %s PID=%u"
		$process14 = "HijackProcessAttach::entry"
		$process15 = "FF::BEFORE INJECT"
		$process16 = "FF::AFTER INJECT"
		$process17 = "IE::AFTER INJECT"
		$process18 = "IE::BEFORE INJECT"
		$process19 = "*** VNC *** VNC *** VNC *** VNC *** VNC *** VNC *** VNC *** VNC *** VNC *** VNC *** %s"
		$process20 = "*** LOG INJECTS *** %s"
		$process21 = "*** inject to process %s not allowed"
		$process22 = "*** BackSocks *** BackSocks *** BackSocks *** BackSocks *** BackSocks *** BackSocks *** BackSocks *** %s"
		$process23 = "Inject::InjectDllFromMemory"
		$process24 = "BadSocks.dll"	
		$process25 = ".?AVFF_Hook@@"
		$process26 = ".?AVIE_Hook@@"
		$process27 = ".?AVPE_Hook@@"
		$process28 = ".?AVCInetMethods@@"
		$domain1 = "extensadv.cc"
		$domain2 = "topbeat.cc"
		$domain3 = "brainsphere.cc"
		$domain4 = "commonworldme.cc"
		$domain5 = "gigacat.cc"
		$domain6 = "nw-serv.cc"
		$domain7 = "paragua-analyst.cc"
		
	condition:
		3 of ($process*) or any of ($domain*)
}
Download all Yara Rules