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 (20190620 | autogenerated rule brought to you by yara-signator)
rule win_shylock_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2019-07-05"
        version = "1"
        description = "autogenerated rule brought to you by yara-signator"
        tool = "yara-signator 0.2a"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.shylock"
        malpedia_version = "20190620"
        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 / approach 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 = { c3 3bf7 74?? 8b07 85c0 74?? 833e00 }
            // n = 7, score = 400
            //   c3                   | ret                 
            //   3bf7                 | cmp                 esi, edi
            //   74??                 |                     
            //   8b07                 | mov                 eax, dword ptr [edi]
            //   85c0                 | test                eax, eax
            //   74??                 |                     
            //   833e00               | cmp                 dword ptr [esi], 0

        $sequence_1 = { 8d75f8 e8???????? 5e c9 c21800 55 8bec }
            // n = 7, score = 400
            //   8d75f8               | lea                 esi, [ebp - 8]
            //   e8????????           |                     
            //   5e                   | pop                 esi
            //   c9                   | leave               
            //   c21800               | ret                 0x18
            //   55                   | push                ebp
            //   8bec                 | mov                 ebp, esp

        $sequence_2 = { ff7508 ff15???????? 8d75fc 8bf8 e8???????? 8d750c e8???????? }
            // n = 7, score = 400
            //   ff7508               | push                dword ptr [ebp + 8]
            //   ff15????????         |                     
            //   8d75fc               | lea                 esi, [ebp - 4]
            //   8bf8                 | mov                 edi, eax
            //   e8????????           |                     
            //   8d750c               | lea                 esi, [ebp + 0xc]
            //   e8????????           |                     

        $sequence_3 = { 8bf0 e8???????? 8bd8 33c0 85f6 0f95c0 8bf8 }
            // n = 7, score = 400
            //   8bf0                 | mov                 esi, eax
            //   e8????????           |                     
            //   8bd8                 | mov                 ebx, eax
            //   33c0                 | xor                 eax, eax
            //   85f6                 | test                esi, esi
            //   0f95c0               | setne               al
            //   8bf8                 | mov                 edi, eax

        $sequence_4 = { 8d4f01 3bc1 72?? c1e704 033e 33c0 ab }
            // n = 7, score = 400
            //   8d4f01               | lea                 ecx, [edi + 1]
            //   3bc1                 | cmp                 eax, ecx
            //   72??                 |                     
            //   c1e704               | shl                 edi, 4
            //   033e                 | add                 edi, dword ptr [esi]
            //   33c0                 | xor                 eax, eax
            //   ab                   | stosd               dword ptr es:[edi], eax

        $sequence_5 = { 8d85bcfeffff 50 53 e8???????? 59 59 85c0 }
            // n = 7, score = 400
            //   8d85bcfeffff         | lea                 eax, [ebp - 0x144]
            //   50                   | push                eax
            //   53                   | push                ebx
            //   e8????????           |                     
            //   59                   | pop                 ecx
            //   59                   | pop                 ecx
            //   85c0                 | test                eax, eax

        $sequence_6 = { 8b7508 83c608 8d7b08 e8???????? 5f 8bc3 5e }
            // n = 7, score = 400
            //   8b7508               | mov                 esi, dword ptr [ebp + 8]
            //   83c608               | add                 esi, 8
            //   8d7b08               | lea                 edi, [ebx + 8]
            //   e8????????           |                     
            //   5f                   | pop                 edi
            //   8bc3                 | mov                 eax, ebx
            //   5e                   | pop                 esi

        $sequence_7 = { e8???????? 894584 eb?? 83658400 8b4584 8945fc 837dfc00 }
            // n = 7, score = 400
            //   e8????????           |                     
            //   894584               | mov                 dword ptr [ebp - 0x7c], eax
            //   eb??                 |                     
            //   83658400             | and                 dword ptr [ebp - 0x7c], 0
            //   8b4584               | mov                 eax, dword ptr [ebp - 0x7c]
            //   8945fc               | mov                 dword ptr [ebp - 4], eax
            //   837dfc00             | cmp                 dword ptr [ebp - 4], 0

        $sequence_8 = { 8d859cf9ffff 6a00 50 e8???????? 8b433c 8365e000 8945d4 }
            // n = 7, score = 400
            //   8d859cf9ffff         | lea                 eax, [ebp - 0x664]
            //   6a00                 | push                0
            //   50                   | push                eax
            //   e8????????           |                     
            //   8b433c               | mov                 eax, dword ptr [ebx + 0x3c]
            //   8365e000             | and                 dword ptr [ebp - 0x20], 0
            //   8945d4               | mov                 dword ptr [ebp - 0x2c], eax

        $sequence_9 = { ff7508 e8???????? eb?? ff75fc 8b4508 e8???????? eb?? }
            // n = 7, score = 400
            //   ff7508               | push                dword ptr [ebp + 8]
            //   e8????????           |                     
            //   eb??                 |                     
            //   ff75fc               | push                dword ptr [ebp - 4]
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   e8????????           |                     
            //   eb??                 |                     

    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_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.shylock"
        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