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 (20260504 | Detects win.pandabanker.)
rule win_pandabanker_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-05-04"
        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 = "20260422"
        malpedia_hash = "a182e35da64e6d71cb55f125c4d4225196523f14"
        malpedia_version = "20260504"
        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 = { 8bf1 85f6 7418 8b4e04 e8???????? }
            // n = 5, score = 8600
            //   8bf1                 | mov                 esi, ecx
            //   85f6                 | test                esi, esi
            //   7418                 | je                  0x1a
            //   8b4e04               | mov                 ecx, dword ptr [esi + 4]
            //   e8????????           |                     

        $sequence_1 = { 8d5b04 47 3bfe 7ce8 }
            // n = 4, score = 8600
            //   8d5b04               | lea                 ebx, [ebx + 4]
            //   47                   | inc                 edi
            //   3bfe                 | cmp                 edi, esi
            //   7ce8                 | jl                  0xffffffea

        $sequence_2 = { 7510 46 83fe64 72a7 32c0 5f 5e }
            // n = 7, score = 8600
            //   7510                 | jne                 0x12
            //   46                   | inc                 esi
            //   83fe64               | cmp                 esi, 0x64
            //   72a7                 | jb                  0xffffffa9
            //   32c0                 | xor                 al, al
            //   5f                   | pop                 edi
            //   5e                   | pop                 esi

        $sequence_3 = { 8b742418 8d3c28 8bcb f3a4 }
            // n = 4, score = 8600
            //   8b742418             | mov                 esi, dword ptr [esp + 0x18]
            //   8d3c28               | lea                 edi, [eax + ebp]
            //   8bcb                 | mov                 ecx, ebx
            //   f3a4                 | rep movsb           byte ptr es:[edi], byte ptr [esi]

        $sequence_4 = { 2bc1 3be8 0f8c3fffffff 8bd3 2b5704 }
            // n = 5, score = 8600
            //   2bc1                 | sub                 eax, ecx
            //   3be8                 | cmp                 ebp, eax
            //   0f8c3fffffff         | jl                  0xffffff45
            //   8bd3                 | mov                 edx, ebx
            //   2b5704               | sub                 edx, dword ptr [edi + 4]

        $sequence_5 = { 894104 3b7708 7505 8b0e 894f08 }
            // n = 5, score = 8600
            //   894104               | mov                 dword ptr [ecx + 4], eax
            //   3b7708               | cmp                 esi, dword ptr [edi + 8]
            //   7505                 | jne                 7
            //   8b0e                 | mov                 ecx, dword ptr [esi]
            //   894f08               | mov                 dword ptr [edi + 8], ecx

        $sequence_6 = { 85f6 7e26 8be8 8d831c020000 }
            // n = 4, score = 8600
            //   85f6                 | test                esi, esi
            //   7e26                 | jle                 0x28
            //   8be8                 | mov                 ebp, eax
            //   8d831c020000         | lea                 eax, [ebx + 0x21c]

        $sequence_7 = { 42 89848f1c020000 3bd3 7ce8 5f 5e }
            // n = 6, score = 8600
            //   42                   | inc                 edx
            //   89848f1c020000       | mov                 dword ptr [edi + ecx*4 + 0x21c], eax
            //   3bd3                 | cmp                 edx, ebx
            //   7ce8                 | jl                  0xffffffea
            //   5f                   | pop                 edi
            //   5e                   | pop                 esi

        $sequence_8 = { 894714 ebc2 8a06 3c22 }
            // n = 4, score = 8600
            //   894714               | mov                 dword ptr [edi + 0x14], eax
            //   ebc2                 | jmp                 0xffffffc4
            //   8a06                 | mov                 al, byte ptr [esi]
            //   3c22                 | cmp                 al, 0x22

        $sequence_9 = { e8???????? 8bd1 6a02 59 8d1442 }
            // n = 5, score = 8600
            //   e8????????           |                     
            //   8bd1                 | mov                 edx, ecx
            //   6a02                 | push                2
            //   59                   | pop                 ecx
            //   8d1442               | lea                 edx, [edx + eax*2]

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