SYMBOLCOMMON_NAMEaka. SYNONYMS
win.pandabanker (Back to overview)

PandaBanker

aka: ZeusPanda
VTCollection     URLhaus            

According to Arbor, Forcepoint and Proofpoint, Panda is a variant of the well-known Zeus banking trojan(*). Fox IT discovered it in February 2016.

This banking trojan uses the infamous ATS (Automatic Transfer System/Scripts) to automate online bank portal actions.

The baseconfig (c2, crypto material, botnet name, version) is embedded in the malware itself. It then obtains a dynamic config from the c2, with further information about how to grab the webinjects and additional modules, such as vnc, backsocks and grabber.

Panda does have some DGA implemented, but according to Arbor, a bug prevents it from using it.

References
2021-09-03Trend MicroMohamad Mokbel
The State of SSL/TLS Certificate Usage in Malware C&C Communications
AdWind ostap AsyncRAT BazarBackdoor BitRAT Buer Chthonic CloudEyE Cobalt Strike DCRat Dridex FindPOS GootKit Gozi IcedID ISFB Nanocore RAT Orcus RAT PandaBanker Qadars QakBot Quasar RAT Rockloader ServHelper Shifu SManager TorrentLocker TrickBot Vawtrak Zeus Zloader
2021-08-21Medium CrovaxCrovax
Panda Banker Analysis Part 1
PandaBanker
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-05-20Youtube (nonepizza)nonepizza
(PandaBanker Analysis) Fixing Corrupted PE Headers and Unmapping an Executable
PandaBanker
2019-12-12FireEyeChi-en Shen, Oleg Bondarenko
Cyber Threat Landscape in Japan – Revealing Threat in the Shadow
Cerberus TSCookie Cobalt Strike Dtrack Emotet Formbook IcedID Icefog IRONHALO Loki Password Stealer (PWS) PandaBanker PLEAD poisonplug TrickBot BlackTech
2019-07-11ProofpointProofpoint Threat Insight Team
Threat Actor Profile: TA544 targets geographies from Italy to Japan with a range of malware
ISFB PandaBanker UrlZone NARWHAL SPIDER
2018-10-09Github (JR0driguezB)JR0driguezB
Malware Configs - Pandabanker
PandaBanker
2018-08-20Vitali Kremez BlogVitali Kremez
Let's Learn: Dissecting Panda Banker & Modules: Webinject, Grabber & Keylogger DLL Modules
PandaBanker
2018-01-12ProofpointProofpoint Staff
Holiday lull? Not so much
Dridex Emotet GlobeImposter ISFB Necurs PandaBanker UrlZone NARWHAL SPIDER
2017-12-14ProofpointProofpoint Staff
Zeus Panda Banking Trojan Targets Online Holiday Shoppers
PandaBanker
2017-11-02TalosEarl Carter, Edmund Brumaghin, Emmanuel Tacheau
Poisoning the Well: Banking Trojan Targets Google Search Results
PandaBanker
2017-06-22G DataLuca Ebach
Analysis Results of Zeus.Variant.Panda
PandaBanker
2017-03-13Manuel K.-B.
Zeus Panda Webinjects: Don’t trust your eyes
PandaBanker
2017-02-03Manuel K.-B.
Zeus Panda Webinjects: a case study
PandaBanker
Yara Rules
[TLP:WHITE] win_pandabanker_auto (20230808 | Detects win.pandabanker.)
rule win_pandabanker_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-12-06"
        version = "1"
        description = "Detects win.pandabanker."
        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.pandabanker"
        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 = { 56 8bf2 57 83f8ff 7507 8bce e8???????? }
            // n = 7, score = 8600
            //   56                   | push                esi
            //   8bf2                 | mov                 esi, edx
            //   57                   | push                edi
            //   83f8ff               | cmp                 eax, -1
            //   7507                 | jne                 9
            //   8bce                 | mov                 ecx, esi
            //   e8????????           |                     

        $sequence_1 = { 57 8b4808 8d7c2418 8b4004 }
            // n = 4, score = 8600
            //   57                   | push                edi
            //   8b4808               | mov                 ecx, dword ptr [eax + 8]
            //   8d7c2418             | lea                 edi, [esp + 0x18]
            //   8b4004               | mov                 eax, dword ptr [eax + 4]

        $sequence_2 = { c1e202 8bfe 8bca 45 }
            // n = 4, score = 8600
            //   c1e202               | shl                 edx, 2
            //   8bfe                 | mov                 edi, esi
            //   8bca                 | mov                 ecx, edx
            //   45                   | inc                 ebp

        $sequence_3 = { 7404 c6400109 8b442430 8bd5 014608 8bcf 56 }
            // n = 7, score = 8600
            //   7404                 | je                  6
            //   c6400109             | mov                 byte ptr [eax + 1], 9
            //   8b442430             | mov                 eax, dword ptr [esp + 0x30]
            //   8bd5                 | mov                 edx, ebp
            //   014608               | add                 dword ptr [esi + 8], eax
            //   8bcf                 | mov                 ecx, edi
            //   56                   | push                esi

        $sequence_4 = { eb2c 6a05 5a 8bcf }
            // n = 4, score = 8600
            //   eb2c                 | jmp                 0x2e
            //   6a05                 | push                5
            //   5a                   | pop                 edx
            //   8bcf                 | mov                 ecx, edi

        $sequence_5 = { c6007b 40 85db 7404 c6000a 40 c60000 }
            // n = 7, score = 8600
            //   c6007b               | mov                 byte ptr [eax], 0x7b
            //   40                   | inc                 eax
            //   85db                 | test                ebx, ebx
            //   7404                 | je                  6
            //   c6000a               | mov                 byte ptr [eax], 0xa
            //   40                   | inc                 eax
            //   c60000               | mov                 byte ptr [eax], 0

        $sequence_6 = { e8???????? 8bf0 85f6 7411 8bcf }
            // n = 5, score = 8600
            //   e8????????           |                     
            //   8bf0                 | mov                 esi, eax
            //   85f6                 | test                esi, esi
            //   7411                 | je                  0x13
            //   8bcf                 | mov                 ecx, edi

        $sequence_7 = { 85ff 7423 8b0e 8bd5 }
            // n = 4, score = 8600
            //   85ff                 | test                edi, edi
            //   7423                 | je                  0x25
            //   8b0e                 | mov                 ecx, dword ptr [esi]
            //   8bd5                 | mov                 edx, ebp

        $sequence_8 = { e8???????? 8b742414 8bce 8b542418 89742424 e8???????? 84c0 }
            // n = 7, score = 8600
            //   e8????????           |                     
            //   8b742414             | mov                 esi, dword ptr [esp + 0x14]
            //   8bce                 | mov                 ecx, esi
            //   8b542418             | mov                 edx, dword ptr [esp + 0x18]
            //   89742424             | mov                 dword ptr [esp + 0x24], esi
            //   e8????????           |                     
            //   84c0                 | test                al, al

        $sequence_9 = { 7508 33c0 85d2 0f95c0 c3 }
            // n = 5, score = 8600
            //   7508                 | jne                 0xa
            //   33c0                 | xor                 eax, eax
            //   85d2                 | test                edx, edx
            //   0f95c0               | setne               al
            //   c3                   | ret                 

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