SYMBOLCOMMON_NAMEaka. SYNONYMS
win.anchor (Back to overview)

Anchor

Actor(s): WIZARD SPIDER

VTCollection    

Anchor is a sophisticated backdoor served as a module to a subset of TrickBot installations. Operating since August 2018 it is not delivered to everybody, but contrary is delivered only to high-profile targets. Since its C2 communication scheme is very similar to the one implemented in the early TrickBot, multiple experts believe it could be attributed to the same authors.

References
2022-05-09cocomelonccocomelonc
Malware development: persistence - part 4. Windows services. Simple C++ example.
Anchor AppleJeus Attor BBSRAT BlackEnergy Carbanak Cobalt Strike DuQu
2022-04-15Bleeping ComputerIonut Ilascu
Karakurt revealed as data extortion arm of Conti cybercrime syndicate
Anchor BazarBackdoor Conti TrickBot
2021-07-15Kryptos LogicKryptos Logic Vantage Team
Adjusting the Anchor
Anchor
2021-04-14InfoSec Handlers Diary BlogBrad Duncan
April 2021 Forensic Quiz: Answers and Analysis
Anchor BazarBackdoor Cobalt Strike
2021-03-08The DFIR ReportThe DFIR Report
Bazar Drops the Anchor
Anchor BazarBackdoor Cobalt Strike
2021-02-23CrowdStrikeCrowdStrike
2021 Global Threat Report
RansomEXX Amadey Anchor Avaddon BazarBackdoor Clop Cobalt Strike Conti Cutwail DanaBot DarkSide DoppelPaymer Dridex Egregor Emotet Hakbit IcedID JSOutProx KerrDown LockBit Mailto Maze MedusaLocker Mespinoza Mount Locker NedDnLoader Nemty Pay2Key PlugX Pushdo PwndLocker PyXie QakBot Quasar RAT RagnarLocker Ragnarok RansomEXX REvil Ryuk Sekhmet ShadowPad SmokeLoader Snake SUNBURST SunCrypt TEARDROP TrickBot WastedLocker Winnti Zloader Evilnum OUTLAW SPIDER RIDDLE SPIDER SOLAR SPIDER VIKING SPIDER
2021-01-20Medium walmartglobaltechJason Reaves, Joshua Platt
Anchor and Lazarus together again?
Anchor TrickBot
2020-10-29Palo Alto Networks Unit 42Brad Duncan, Brittany Barbehenn, Doel Santos
Threat Assessment: Ryuk Ransomware and Trickbot Targeting U.S. Healthcare and Public Health Sector
Anchor BazarBackdoor Ryuk TrickBot
2020-10-28CISACISA, FBI, HHS
AA20-302A: Ransomware Activity Targeting the Healthcare and Public Health Sector
AnchorDNS Anchor BazarBackdoor Ryuk
2020-10-26Arbor NetworksSuweera De Souza
Dropping the Anchor
AnchorDNS Anchor TrickBot
2020-05-19AlienLabsOfer Caspi
TrickBot BazarLoader In-Depth
Anchor BazarBackdoor TrickBot
2020-04-08SentinelOneJason Reaves
Deep Dive Into TrickBot Executor Module “mexec”: Hidden “Anchor” Bot Nexus Operations
Anchor TrickBot
2020-04-07SecurityIntelligenceOle Villadsen
ITG08 (aka FIN6) Partners With TrickBot Gang, Uses Anchor Framework
More_eggs Anchor TrickBot
2020-03-04CrowdStrikeCrowdStrike
2020 CrowdStrike Global Threat Report
MESSAGETAP More_eggs 8.t Dropper Anchor BabyShark BadNews Clop Cobalt Strike CobInt Cobra Carbon System Cutwail DanaBot Dharma DoppelDridex DoppelPaymer Dridex Emotet FlawedAmmyy FriedEx Gandcrab Get2 IcedID ISFB KerrDown LightNeuron LockerGoga Maze MECHANICAL Necurs Nokki Outlook Backdoor Phobos Predator The Thief QakBot REvil RobinHood Ryuk SDBbot Skipper SmokeLoader TerraRecon TerraStealer TerraTV TinyLoader TrickBot Vidar Winnti ANTHROPOID SPIDER APT23 APT31 APT39 APT40 BlackTech BuhTrap Charming Kitten CLOCKWORK SPIDER DOPPEL SPIDER FIN7 Gamaredon Group GOBLIN PANDA MONTY SPIDER MUSTANG PANDA NARWHAL SPIDER NOCTURNAL SPIDER PINCHY SPIDER SALTY SPIDER SCULLY SPIDER SMOKY SPIDER Thrip VENOM SPIDER VICEROY TIGER
2020-02-13QianxinQi Anxin Threat Intelligence Center
APT Report 2019
Chrysaor Exodus Dacls VPNFilter DNSRat Griffon KopiLuwak More_eggs SQLRat AppleJeus BONDUPDATER Agent.BTZ Anchor AndroMut AppleJeus BOOSTWRITE Brambul Carbanak Cobalt Strike Dacls DistTrack DNSpionage Dtrack ELECTRICFISH FlawedAmmyy FlawedGrace Get2 Grateful POS HOPLIGHT Imminent Monitor RAT jason Joanap KerrDown KEYMARBLE Lambert LightNeuron LoJax MiniDuke PolyglotDuke PowerRatankba Rising Sun SDBbot ServHelper Snatch Stuxnet TinyMet tRat TrickBot Volgmer X-Agent Zebrocy
2019-12-11CybereasonAssaf Dahan, Eli Salem, Lior Rochberger, Mary Zhao, Matt Hart, Niv Yona, Omer Yampel
Dropping Anchor: From a TrickBot Infection to the Discovery of the Anchor Malware
Anchor WIZARD SPIDER
2019-12-10Sentinel LABSJason Reaves, Joshua Platt, Vitali Kremez
Anchor Project | The Deadly Planeswalker: How The TrickBot Group United High-Tech Crimeware & APT
Anchor
2019-10-18NTTNTT Security
TrickBot variant “Anchor_DNS” communicating over DNS
Anchor
Yara Rules
[TLP:WHITE] win_anchor_auto (20251219 | Detects win.anchor.)
rule win_anchor_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-01-05"
        version = "1"
        description = "Detects win.anchor."
        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.anchor"
        malpedia_rule_date = "20260105"
        malpedia_hash = "19b79e7cab4eaf532122e5b45a77dd8f6bb5cc79"
        malpedia_version = "20251219"
        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 = { c6400365 eb0a 66c74001646c c640036c }
            // n = 4, score = 800
            //   c6400365             | mov                 byte ptr [eax + 3], 0x65
            //   eb0a                 | jmp                 0xc
            //   66c74001646c         | mov                 word ptr [eax + 1], 0x6c64
            //   c640036c             | mov                 byte ptr [eax + 3], 0x6c

        $sequence_1 = { 740c 66c740016578 c6400365 eb0a }
            // n = 4, score = 800
            //   740c                 | je                  0xe
            //   66c740016578         | mov                 word ptr [eax + 1], 0x7865
            //   c6400365             | mov                 byte ptr [eax + 3], 0x65
            //   eb0a                 | jmp                 0xc

        $sequence_2 = { 8bf8 f7e6 0f90c1 f7d9 0bc8 51 e8???????? }
            // n = 7, score = 600
            //   8bf8                 | mov                 edi, eax
            //   f7e6                 | mul                 esi
            //   0f90c1               | seto                cl
            //   f7d9                 | neg                 ecx
            //   0bc8                 | or                  ecx, eax
            //   51                   | push                ecx
            //   e8????????           |                     

        $sequence_3 = { c1e102 51 6a00 50 a3???????? e8???????? }
            // n = 6, score = 600
            //   c1e102               | shl                 ecx, 2
            //   51                   | push                ecx
            //   6a00                 | push                0
            //   50                   | push                eax
            //   a3????????           |                     
            //   e8????????           |                     

        $sequence_4 = { b001 5d c3 e9???????? 6a0c 68???????? e8???????? }
            // n = 7, score = 600
            //   b001                 | mov                 eax, edi
            //   5d                   | dec                 eax
            //   c3                   | mov                 ecx, dword ptr [ebp + 0x90]
            //   e9????????           |                     
            //   6a0c                 | dec                 eax
            //   68????????           |                     
            //   e8????????           |                     

        $sequence_5 = { 66894818 33c9 8b4608 6689581a 8b4608 5b }
            // n = 6, score = 600
            //   66894818             | mov                 word ptr [eax + 0x18], cx
            //   33c9                 | xor                 ecx, ecx
            //   8b4608               | mov                 eax, dword ptr [esi + 8]
            //   6689581a             | mov                 word ptr [eax + 0x1a], bx
            //   8b4608               | mov                 eax, dword ptr [esi + 8]
            //   5b                   | pop                 ebx

        $sequence_6 = { 33c9 8b461c 6689781a 8b461c 5f }
            // n = 5, score = 600
            //   33c9                 | xor                 ecx, ecx
            //   8b461c               | mov                 eax, dword ptr [esi + 0x1c]
            //   6689781a             | mov                 word ptr [eax + 0x1a], di
            //   8b461c               | mov                 eax, dword ptr [esi + 0x1c]
            //   5f                   | pop                 edi

        $sequence_7 = { 50 56 e8???????? 83bde8feffff10 8d85d4feffff }
            // n = 5, score = 600
            //   50                   | push                eax
            //   56                   | push                esi
            //   e8????????           |                     
            //   83bde8feffff10       | cmp                 dword ptr [ebp - 0x118], 0x10
            //   8d85d4feffff         | lea                 eax, [ebp - 0x12c]

        $sequence_8 = { b101 e8???????? e8???????? 84c0 }
            // n = 4, score = 600
            //   b101                 | mov                 cl, 1
            //   e8????????           |                     
            //   e8????????           |                     
            //   84c0                 | test                al, al

        $sequence_9 = { 0bc1 4898 488d0d12920200 488b5528 }
            // n = 4, score = 200
            //   0bc1                 | dec                 eax
            //   4898                 | mov                 eax, dword ptr [ebp + 0x48]
            //   488d0d12920200       | or                  eax, ecx
            //   488b5528             | dec                 eax

        $sequence_10 = { 4889842440140000 488bd9 4c63d2 498bc2 418be9 48c1f806 488d0db8020100 }
            // n = 7, score = 200
            //   4889842440140000     | dec                 eax
            //   488bd9               | mov                 edi, dword ptr [edx]
            //   4c63d2               | mov                 edx, 0x20
            //   498bc2               | dec                 eax
            //   418be9               | mov                 ecx, edi
            //   48c1f806             | xor                 ebx, ebx
            //   488d0db8020100       | dec                 eax

        $sequence_11 = { 03c2 c1f802 6bc003 894504 }
            // n = 4, score = 200
            //   03c2                 | jne                 0x50b
            //   c1f802               | mov                 byte ptr [ebp + 0x1294], 0
            //   6bc003               | mov                 byte ptr [ebp + 0x12b4], 0
            //   894504               | add                 eax, dword ptr [ebp + 0x24]

        $sequence_12 = { 034524 3b8520010000 760c c785f400000001000000 }
            // n = 4, score = 200
            //   034524               | inc                 ecx
            //   3b8520010000         | mov                 eax, 0x11
            //   760c                 | mov                 edx, 2
            //   c785f400000001000000     | add    byte ptr [edi + ecx], al

        $sequence_13 = { 4881e9c0000000 48c1e108 4803c8 8bc1 488d9405bf090000 eb0c 8bc7 }
            // n = 7, score = 200
            //   4881e9c0000000       | mov                 dword ptr [esp + 0x1440], eax
            //   48c1e108             | dec                 eax
            //   4803c8               | mov                 ebx, ecx
            //   8bc1                 | dec                 esp
            //   488d9405bf090000     | arpl                dx, dx
            //   eb0c                 | dec                 ecx
            //   8bc7                 | mov                 eax, edx

        $sequence_14 = { 0bc1 488b4d48 8801 488b4548 }
            // n = 4, score = 200
            //   0bc1                 | mov                 dword ptr [ebp + 0xa4], eax
            //   488b4d48             | dec                 eax
            //   8801                 | lea                 ecx, [ebp + 0x1a8]
            //   488b4548             | add                 ecx, eax

        $sequence_15 = { 03c8 8bc1 8985a4000000 488d8da8010000 }
            // n = 4, score = 200
            //   03c8                 | mov                 eax, dword ptr [ebp + 0x160]
            //   8bc1                 | dec                 eax
            //   8985a4000000         | mov                 dword ptr [ebp + 0x48], eax
            //   488d8da8010000       | add                 eax, edx

        $sequence_16 = { 498bcf e8???????? 498bc7 488b8d90000000 }
            // n = 4, score = 200
            //   498bcf               | dec                 ecx
            //   e8????????           |                     
            //   498bc7               | mov                 ecx, edi
            //   488b8d90000000       | dec                 ecx

        $sequence_17 = { 7ce8 488b4350 4903d1 b945000000 66890c50 }
            // n = 5, score = 200
            //   7ce8                 | inc                 ecx
            //   488b4350             | mov                 ebp, ecx
            //   4903d1               | dec                 eax
            //   b945000000           | sar                 eax, 6
            //   66890c50             | dec                 eax

        $sequence_18 = { 488bfa 7203 488b3a ba20000000 488bcf e8???????? 33db }
            // n = 7, score = 200
            //   488bfa               | mov                 eax, edi
            //   7203                 | dec                 eax
            //   488b3a               | mov                 ecx, dword ptr [ebp + 0x90]
            //   ba20000000           | dec                 eax
            //   488bcf               | mov                 edi, edx
            //   e8????????           |                     
            //   33db                 | jb                  5

        $sequence_19 = { 00040f 830905 0000 83bd641a0000ff }
            // n = 4, score = 200
            //   00040f               | mov                 ecx, dword ptr [esp + ebx]
            //   830905               | add                 byte ptr [eax], al
            //   0000                 | cmp                 dword ptr [ebp + 0x1a64], -1
            //   83bd641a0000ff       | jne                 0x509

        $sequence_20 = { 05e0930400 894544 8b5544 488b4508 }
            // n = 4, score = 200
            //   05e0930400           | sar                 eax, 2
            //   894544               | imul                eax, eax, 3
            //   8b5544               | mov                 dword ptr [ebp + 4], eax
            //   488b4508             | mov                 eax, dword ptr [ebp + 4]

        $sequence_21 = { 0000 83bd641a0000ff 0f85fc040000 c6859412000000 }
            // n = 4, score = 200
            //   0000                 | shl                 ecx, 8
            //   83bd641a0000ff       | dec                 eax
            //   0f85fc040000         | add                 ecx, eax
            //   c6859412000000       | mov                 eax, ecx

    condition:
        7 of them and filesize < 778240
}
[TLP:WHITE] win_anchor_w0   (20200413 | For x86 Anchor)
rule win_anchor_w0 {
    meta:
        author = "Jason Reaves"
        description = "For x86 Anchor"
        source = "https://labs.sentinelone.com/deep-dive-into-trickbot-executor-module-mexec-hidden-anchor-bot-nexus-operations/"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.anchor"
        malpedia_version = "20200413"
        malpedia_license = "CC BY-NC-SA 4.0"
        malpedia_sharing = "TLP:WHITE"
    strings:
        $a1 = "/1001/" ascii wide
        $a2 = ":$GUID" ascii wide
        $a3 = ":$TASK" ascii wide
        $ua = "WinHTTP loader/1.0" ascii wide
        $hexlify = {0f be ?? ?? b8 f0 00 00 00 0f 45 ?? 8b ?? c1 e1 02 23 d0}
        $sdecode = {8a 04 0a 0f be c0 83 e8 ?? 88 04 0a 42 83}
        $xor_data = {80 b4 05 ?? ?? ff ff ?? 40 3b c6}

    condition:
        3 of them
}
[TLP:WHITE] win_anchor_w1   (20200413 | For x64 Anchor)
rule win_anchor_w1 {
    meta:
        author = "Jason Reaves"
        description = "For x64 Anchor"
        source = "https://labs.sentinelone.com/deep-dive-into-trickbot-executor-module-mexec-hidden-anchor-bot-nexus-operations/"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.anchor"
        malpedia_version = "20200413"
        malpedia_license = "CC BY-NC-SA 4.0"
        malpedia_sharing = "TLP:WHITE"
    strings:
        $xor_data = {80 ?4 0? ?? ?? 48 ?? c? 48}
        $hexlify = {81 c1 f0 00 00 00 23 d1 41 8? ?? c1 e1 02}
        $a1 = "/1001/" ascii wide
        $a2 = ":$GUID" ascii wide
        $a3 = ":$TASK" ascii wide
        $ua = "WinHTTP loader/1.0" ascii wide

    condition:
       3 of them
}
Download all Yara Rules