SYMBOLCOMMON_NAMEaka. SYNONYMS
win.tinba (Back to overview)

Tinba

aka: Zusy, TinyBanker, Illi
VTCollection     URLhaus    

F-Secure notes that TinyBanker or short Tinba is usually distributed through malvertising (advertising content that leads the user to sites hosting malicious threats), exploit kits and spam email campaigns. According to news reports, Tinba has been found targeting bank customers in the United States and Europe.

If Tinba successfully infects a device, it can steal banking and personal information through webinjects. To do this, the malware monitors the user's browser activity and if specific banking portals are visited, Tinba injects code to present the victim with fake web forms designed to mimic the legitimate web site. The malware then tricks them into entering their personal information, log-in credentials, etc in the legitimate-looking page.

Tinba may also display socially-engineered messages to lure or pressure the user into entering their information on the fake page; for example, a message may be shown which attempts to convince the victim that funds were accidentally deposited to his account and must be refunded immediately.

References
2022-02-11Cisco TalosTalos
Threat Roundup for February 4 to February 11
DarkComet Ghost RAT Loki Password Stealer (PWS) Tinba Tofsee Zeus
2020-08-09F5 LabsDebbie Walkowski, Remi Cohen
Banking Trojans: A Reference Guide to the Malware Family Tree
BackSwap Carberp Citadel DanaBot Dridex Dyre Emotet Gozi Kronos PandaBanker Ramnit Shylock SpyEye Tinba TrickBot Vawtrak Zeus
2020-07-29ESET Researchwelivesecurity
THREAT REPORT Q2 2020
DEFENSOR ID HiddenAd Bundlore Pirrit Agent.BTZ Cerber ClipBanker CROSSWALK Cryptowall CTB Locker DanaBot Dharma Formbook Gandcrab Grandoreiro Houdini ISFB LockBit Locky Mailto Maze Microcin Nemty NjRAT Phobos PlugX Pony REvil Socelars STOP Tinba TrickBot WannaCryptor
2019-08-13AdalogicsDavid Korczynski
The state of advanced code injections
Dridex Emotet Tinba
2019-03-13CylanceTatsuya Hasegawa
BlackBerry Cylance vs. Tinba Banking Trojan
Tinba
2018-07-05ZscalerDhanalakshmi
A Look At Recent Tinba Banking Trojan Variant
Tinba
2015-08-12SecurityIntelligenceLimor Kessem
Tinba Trojan Sets Its Sights on Romania
Tinba
2015-06-18SWITCH Security BlogSlavo Greminger
So Long, and Thanks for All the Domains
Tinba
2014-09-22SecurityIntelligenceAssaf Regev, Tal Darsan
Tinba Malware Reloaded and Attacking Banks Around the World
Tinba
2014-07-16StopMalvertisingKimberly
Mini Analysis of the TinyBanker Tinba
Tinba
2012-06-06Contagio DumpMila Parkour
Tinba / Zusy - tiny banker trojan
Tinba
2012-06-04John Leyden
Small banking Trojan poses major risk
Tinba
2012-01-01CSIS Trend MicroFeike Hacquebord (Trend Micro), Peter Kruse (CSIS), Robert McArdle (Trend Micro)
W32.Tinba (Tinybanker) The Turkish Incident
Tinba
Yara Rules
[TLP:WHITE] win_tinba_auto (20230808 | Detects win.tinba.)
rule win_tinba_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-12-06"
        version = "1"
        description = "Detects win.tinba."
        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.tinba"
        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 = { 8b7508 ad 50 56 }
            // n = 4, score = 1100
            //   8b7508               | mov                 esi, dword ptr [ebp + 8]
            //   ad                   | lodsd               eax, dword ptr [esi]
            //   50                   | push                eax
            //   56                   | push                esi

        $sequence_1 = { 8b4510 aa 8b450c ab }
            // n = 4, score = 1100
            //   8b4510               | mov                 eax, dword ptr [ebp + 0x10]
            //   aa                   | stosb               byte ptr es:[edi], al
            //   8b450c               | mov                 eax, dword ptr [ebp + 0xc]
            //   ab                   | stosd               dword ptr es:[edi], eax

        $sequence_2 = { 8a241f 88240f 88041f 41 }
            // n = 4, score = 1000
            //   8a241f               | mov                 ah, byte ptr [edi + ebx]
            //   88240f               | mov                 byte ptr [edi + ecx], ah
            //   88041f               | mov                 byte ptr [edi + ebx], al
            //   41                   | inc                 ecx

        $sequence_3 = { 6a00 6a00 6a00 ff750c 6a00 6a00 ff7508 }
            // n = 7, score = 1000
            //   6a00                 | push                0
            //   6a00                 | push                0
            //   6a00                 | push                0
            //   ff750c               | push                dword ptr [ebp + 0xc]
            //   6a00                 | push                0
            //   6a00                 | push                0
            //   ff7508               | push                dword ptr [ebp + 8]

        $sequence_4 = { 8b4114 83f8fd 7506 8b4108 8b4014 85c0 7403 }
            // n = 7, score = 900
            //   8b4114               | mov                 eax, dword ptr [ecx + 0x14]
            //   83f8fd               | cmp                 eax, -3
            //   7506                 | jne                 8
            //   8b4108               | mov                 eax, dword ptr [ecx + 8]
            //   8b4014               | mov                 eax, dword ptr [eax + 0x14]
            //   85c0                 | test                eax, eax
            //   7403                 | je                  5

        $sequence_5 = { 66b80d0a 66ab b8436f6f6b ab b869653a20 ab }
            // n = 6, score = 900
            //   66b80d0a             | mov                 ax, 0xa0d
            //   66ab                 | stosw               word ptr es:[edi], ax
            //   b8436f6f6b           | mov                 eax, 0x6b6f6f43
            //   ab                   | stosd               dword ptr es:[edi], eax
            //   b869653a20           | mov                 eax, 0x203a6569
            //   ab                   | stosd               dword ptr es:[edi], eax

        $sequence_6 = { ff15???????? 48 83c420 48 85c0 0f84b4000000 }
            // n = 6, score = 900
            //   ff15????????         |                     
            //   48                   | dec                 eax
            //   83c420               | add                 esp, 0x20
            //   48                   | dec                 eax
            //   85c0                 | test                eax, eax
            //   0f84b4000000         | je                  0xba

        $sequence_7 = { 814a3500080000 4c 29c6 40 8832 }
            // n = 5, score = 900
            //   814a3500080000       | or                  dword ptr [edx + 0x35], 0x800
            //   4c                   | dec                 esp
            //   29c6                 | sub                 esi, eax
            //   40                   | inc                 eax
            //   8832                 | mov                 byte ptr [edx], dh

        $sequence_8 = { 8b7d0c 31c9 bb0a000000 31d2 f7f3 52 }
            // n = 6, score = 900
            //   8b7d0c               | mov                 edi, dword ptr [ebp + 0xc]
            //   31c9                 | xor                 ecx, ecx
            //   bb0a000000           | mov                 ebx, 0xa
            //   31d2                 | xor                 edx, edx
            //   f7f3                 | div                 ebx
            //   52                   | push                edx

        $sequence_9 = { 8b4514 8908 290e 8b06 }
            // n = 4, score = 900
            //   8b4514               | mov                 eax, dword ptr [ebp + 0x14]
            //   8908                 | mov                 dword ptr [eax], ecx
            //   290e                 | sub                 dword ptr [esi], ecx
            //   8b06                 | mov                 eax, dword ptr [esi]

        $sequence_10 = { 66b80d0a 66ab b855736572 ab b82d416765 ab }
            // n = 6, score = 900
            //   66b80d0a             | mov                 ax, 0xa0d
            //   66ab                 | stosw               word ptr es:[edi], ax
            //   b855736572           | mov                 eax, 0x72657355
            //   ab                   | stosd               dword ptr es:[edi], eax
            //   b82d416765           | mov                 eax, 0x6567412d
            //   ab                   | stosd               dword ptr es:[edi], eax

        $sequence_11 = { 73ed 88e8 48 8d1d5a020000 }
            // n = 4, score = 900
            //   73ed                 | jae                 0xffffffef
            //   88e8                 | mov                 al, ch
            //   48                   | dec                 eax
            //   8d1d5a020000         | lea                 ebx, [0x25a]

        $sequence_12 = { fd 8b7d0c 83c707 8b4508 83e00f }
            // n = 5, score = 900
            //   fd                   | std                 
            //   8b7d0c               | mov                 edi, dword ptr [ebp + 0xc]
            //   83c707               | add                 edi, 7
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   83e00f               | and                 eax, 0xf

    condition:
        7 of them and filesize < 57344
}
[TLP:WHITE] win_tinba_w0   (20170605 | Tinba 2 (DGA) banking trojan)
rule win_tinba_w0 {
    meta:
        author = "n3sfox <n3sfox@gmail.com>"
        date = "2015/11/07"
        description = "Tinba 2 (DGA) banking trojan"
        reference = "https://securityintelligence.com/tinba-malware-reloaded-and-attacking-banks-around-the-world"
        filetype = "memory"
        hash = "c7f662594f07776ab047b322150f6ed0"
        hash = "dc71ef1e55f1ddb36b3c41b1b95ae586"
        hash = "b788155cb82a7600f2ed1965cffc1e88"
        source = "https://github.com/mattulm/sfiles_yara/blob/master/malware/tinba2.yar"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.tinba"
        malpedia_version = "20170605"
        malpedia_license = "CC BY-NC-SA 4.0"
        malpedia_sharing = "TLP:WHITE"
    strings:
        $str3 = "NtCreateUserProcess"
        $str4 = "NtQueryDirectoryFile"
        $str5 = "RtlCreateUserThread"
        $str6 = "DeleteUrlCacheEntry"
        $str7 = "PR_Read"
        $str8 = "PR_Write"
        $pubkey = "BEGIN PUBLIC KEY"
        $code1 = {50 87 44 24 04 6A ?? E8}

    condition:
        all of ($str*) and $pubkey and $code1
}
Download all Yara Rules