SYMBOLCOMMON_NAMEaka. SYNONYMS
win.anchor (Back to overview)

Anchor

Actor(s): WIZARD SPIDER


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
2021-07-15Kryptos LogicKryptos Logic Vantage Team
@online{team:20210715:adjusting:3aa9a65, author = {Kryptos Logic Vantage Team}, title = {{Adjusting the Anchor}}, date = {2021-07-15}, organization = {Kryptos Logic}, url = {https://www.kryptoslogic.com/blog/2021/07/adjusting-the-anchor/}, language = {English}, urldate = {2021-07-24} } Adjusting the Anchor
Anchor
2021-04-14InfoSec Handlers Diary BlogBrad Duncan
@online{duncan:20210414:april:4a29cb5, author = {Brad Duncan}, title = {{April 2021 Forensic Quiz: Answers and Analysis}}, date = {2021-04-14}, organization = {InfoSec Handlers Diary Blog}, url = {https://isc.sans.edu/diary/27308}, language = {English}, urldate = {2021-04-14} } April 2021 Forensic Quiz: Answers and Analysis
Anchor BazarBackdoor Cobalt Strike
2021-03-08The DFIR ReportThe DFIR Report
@online{report:20210308:bazar:ba050d7, author = {The DFIR Report}, title = {{Bazar Drops the Anchor}}, date = {2021-03-08}, organization = {The DFIR Report}, url = {https://thedfirreport.com/2021/03/08/bazar-drops-the-anchor/}, language = {English}, urldate = {2021-03-10} } Bazar Drops the Anchor
Anchor BazarBackdoor Cobalt Strike
2021-02-23CrowdStrikeCrowdStrike
@techreport{crowdstrike:20210223:2021:bf5bc4f, author = {CrowdStrike}, title = {{2021 Global Threat Report}}, date = {2021-02-23}, institution = {CrowdStrike}, url = {https://go.crowdstrike.com/rs/281-OBQ-266/images/Report2021GTR.pdf}, language = {English}, urldate = {2021-02-25} } 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 KNOCKOUT SPIDER OUTLAW SPIDER RIDDLE SPIDER SOLAR SPIDER VIKING SPIDER
2021-01-20Medium walmartglobaltechJason Reaves, Joshua Platt
@online{reaves:20210120:anchor:b1e153f, author = {Jason Reaves and Joshua Platt}, title = {{Anchor and Lazarus together again?}}, date = {2021-01-20}, organization = {Medium walmartglobaltech}, url = {https://medium.com/walmartglobaltech/anchor-and-lazarus-together-again-24744e516607}, language = {English}, urldate = {2021-01-21} } Anchor and Lazarus together again?
Anchor TrickBot
2020-10-29Palo Alto Networks Unit 42Brittany Barbehenn, Doel Santos, Brad Duncan
@online{barbehenn:20201029:threat:de33a6d, author = {Brittany Barbehenn and Doel Santos and Brad Duncan}, title = {{Threat Assessment: Ryuk Ransomware and Trickbot Targeting U.S. Healthcare and Public Health Sector}}, date = {2020-10-29}, organization = {Palo Alto Networks Unit 42}, url = {https://unit42.paloaltonetworks.com/ryuk-ransomware/}, language = {English}, urldate = {2020-11-02} } Threat Assessment: Ryuk Ransomware and Trickbot Targeting U.S. Healthcare and Public Health Sector
Anchor BazarBackdoor Ryuk TrickBot
2020-10-28CISACISA, FBI, HHS
@techreport{cisa:20201028:aa20302a:80b6a06, author = {CISA and FBI and HHS}, title = {{AA20-302A: Ransomware Activity Targeting the Healthcare and Public Health Sector}}, date = {2020-10-28}, institution = {CISA}, url = {https://us-cert.cisa.gov/sites/default/files/publications/AA20-302A_Ransomware%20_Activity_Targeting_the_Healthcare_and_Public_Health_Sector.pdf}, language = {English}, urldate = {2020-11-02} } AA20-302A: Ransomware Activity Targeting the Healthcare and Public Health Sector
Anchor_DNS Anchor BazarBackdoor Ryuk
2020-10-26Arbor NetworksSuweera De Souza
@online{souza:20201026:dropping:8ac1e1d, author = {Suweera De Souza}, title = {{Dropping the Anchor}}, date = {2020-10-26}, organization = {Arbor Networks}, url = {https://www.netscout.com/blog/asert/dropping-anchor}, language = {English}, urldate = {2020-10-29} } Dropping the Anchor
Anchor_DNS Anchor TrickBot
2020-05-19AlienLabsOfer Caspi
@online{caspi:20200519:trickbot:50c2a51, author = {Ofer Caspi}, title = {{TrickBot BazarLoader In-Depth}}, date = {2020-05-19}, organization = {AlienLabs}, url = {https://cybersecurity.att.com/blogs/labs-research/trickbot-bazarloader-in-depth}, language = {English}, urldate = {2020-05-20} } TrickBot BazarLoader In-Depth
Anchor BazarBackdoor TrickBot
2020-04-08SentinelOneJason Reaves
@online{reaves:20200408:deep:87b83bb, author = {Jason Reaves}, title = {{Deep Dive Into TrickBot Executor Module “mexec”: Hidden “Anchor” Bot Nexus Operations}}, date = {2020-04-08}, organization = {SentinelOne}, url = {https://labs.sentinelone.com/deep-dive-into-trickbot-executor-module-mexec-hidden-anchor-bot-nexus-operations/}, language = {English}, urldate = {2020-04-13} } Deep Dive Into TrickBot Executor Module “mexec”: Hidden “Anchor” Bot Nexus Operations
Anchor TrickBot
2020-04-07SecurityIntelligenceOle Villadsen
@online{villadsen:20200407:itg08:b0b782d, author = {Ole Villadsen}, title = {{ITG08 (aka FIN6) Partners With TrickBot Gang, Uses Anchor Framework}}, date = {2020-04-07}, organization = {SecurityIntelligence}, url = {https://securityintelligence.com/posts/itg08-aka-fin6-partners-with-trickbot-gang-uses-anchor-framework/}, language = {English}, urldate = {2020-04-13} } ITG08 (aka FIN6) Partners With TrickBot Gang, Uses Anchor Framework
More_eggs Anchor TrickBot
2020-03-04CrowdStrikeCrowdStrike
@techreport{crowdstrike:20200304:2020:818c85f, author = {CrowdStrike}, title = {{2020 CrowdStrike Global Threat Report}}, date = {2020-03-04}, institution = {CrowdStrike}, url = {https://go.crowdstrike.com/rs/281-OBQ-266/images/Report2020CrowdStrikeGlobalThreatReport.pdf}, language = {English}, urldate = {2020-07-24} } 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 APT31 APT39 BlackTech BuhTrap Charming Kitten CLOCKWORK SPIDER DOPPEL SPIDER FIN7 Gamaredon Group Leviathan MONTY SPIDER Mustang Panda NARWHAL SPIDER NOCTURNAL SPIDER PINCHY SPIDER Pirate Panda SALTY SPIDER SCULLY SPIDER SMOKY SPIDER Thrip VENOM SPIDER
2020-02-13QianxinQi Anxin Threat Intelligence Center
@techreport{center:20200213:report:146d333, author = {Qi Anxin Threat Intelligence Center}, title = {{APT Report 2019}}, date = {2020-02-13}, institution = {Qianxin}, url = {https://ti.qianxin.com/uploads/2020/02/13/cb78386a082f465f259b37dae5df4884.pdf}, language = {English}, urldate = {2020-02-27} } APT Report 2019
Chrysaor Exodus Dacls elf.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, Lior Rochberger, Eli Salem, Mary Zhao, Niv Yona, Omer Yampel, Matt Hart
@online{dahan:20191211:dropping:0849f70, author = {Assaf Dahan and Lior Rochberger and Eli Salem and Mary Zhao and Niv Yona and Omer Yampel and Matt Hart}, title = {{Dropping Anchor: From a TrickBot Infection to the Discovery of the Anchor Malware}}, date = {2019-12-11}, organization = {Cybereason}, url = {https://www.cybereason.com/blog/dropping-anchor-from-a-trickbot-infection-to-the-discovery-of-the-anchor-malware}, language = {English}, urldate = {2020-01-06} } Dropping Anchor: From a TrickBot Infection to the Discovery of the Anchor Malware
Anchor WIZARD SPIDER
2019-12-10Sentinel LABSVitali Kremez, Joshua Platt, Jason Reaves
@online{kremez:20191210:morphisec:c0fc51c, author = {Vitali Kremez and Joshua Platt and Jason Reaves}, title = {{MORPHISEC DISCOVERS CCLEANER BACKDOOR SAVING MILLIONS OF AVAST USERS}}, date = {2019-12-10}, organization = {Sentinel LABS}, url = {https://labs.sentinelone.com/the-deadly-planeswalker-how-the-trickbot-group-united-high-tech-crimeware-apt/}, language = {English}, urldate = {2020-01-08} } MORPHISEC DISCOVERS CCLEANER BACKDOOR SAVING MILLIONS OF AVAST USERS
Anchor
2019-10-18NTTNTT Security
@online{security:20191018:trickbot:6e2f73f, author = {NTT Security}, title = {{TrickBot variant “Anchor_DNS” communicating over DNS}}, date = {2019-10-18}, organization = {NTT}, url = {https://hello.global.ntt/zh-cn/insights/blog/trickbot-variant-communicating-over-dns}, language = {English}, urldate = {2020-10-12} } TrickBot variant “Anchor_DNS” communicating over DNS
Anchor
Yara Rules
[TLP:WHITE] win_anchor_auto (20211008 | Detects win.anchor.)
rule win_anchor_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2021-10-07"
        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 = "20211007"
        malpedia_hash = "e5b790e0f888f252d49063a1251ca60ec2832535"
        malpedia_version = "20211008"
        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 = { 66c740016578 c6400365 eb0a 66c74001646c c640036c }
            // n = 5, score = 800
            //   66c740016578         | mov                 word ptr [eax + 1], 0x7865
            //   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 = { 68???????? 8d45f4 50 e8???????? cc ff25???????? 6a08 }
            // n = 7, score = 600
            //   68????????           |                     
            //   8d45f4               | lea                 eax, dword ptr [ebp - 0xc]
            //   50                   | push                eax
            //   e8????????           |                     
            //   cc                   | int3                
            //   ff25????????         |                     
            //   6a08                 | push                8

        $sequence_2 = { 51 6a00 50 a3???????? e8???????? }
            // n = 5, score = 600
            //   51                   | push                ecx
            //   6a00                 | push                0
            //   50                   | push                eax
            //   a3????????           |                     
            //   e8????????           |                     

        $sequence_3 = { 8d8dbcfeffff c645fc01 8ad8 e8???????? 84db }
            // n = 5, score = 600
            //   8d8dbcfeffff         | lea                 ecx, dword ptr [ebp - 0x144]
            //   c645fc01             | mov                 byte ptr [ebp - 4], 1
            //   8ad8                 | mov                 bl, al
            //   e8????????           |                     
            //   84db                 | test                bl, bl

        $sequence_4 = { 8d8dbcfeffff e8???????? 56 8d8dbcfeffff e8???????? 68???????? }
            // n = 6, score = 600
            //   8d8dbcfeffff         | lea                 ecx, dword ptr [ebp - 0x144]
            //   e8????????           |                     
            //   56                   | push                esi
            //   8d8dbcfeffff         | lea                 ecx, dword ptr [ebp - 0x144]
            //   e8????????           |                     
            //   68????????           |                     

        $sequence_5 = { 0fb7c1 6641 66890d???????? 50 }
            // n = 4, score = 600
            //   0fb7c1               | movzx               eax, cx
            //   6641                 | inc                 cx
            //   66890d????????       |                     
            //   50                   | push                eax

        $sequence_6 = { b101 e8???????? e8???????? 84c0 }
            // n = 4, score = 600
            //   b101                 | mov                 byte ptr [eax + 3], 0x65
            //   e8????????           |                     
            //   e8????????           |                     
            //   84c0                 | jmp                 0x10

        $sequence_7 = { 66894304 33c0 6a01 894306 6689430a }
            // n = 5, score = 600
            //   66894304             | mov                 word ptr [ebx + 4], ax
            //   33c0                 | xor                 eax, eax
            //   6a01                 | push                1
            //   894306               | mov                 dword ptr [ebx + 6], eax
            //   6689430a             | mov                 word ptr [ebx + 0xa], ax

        $sequence_8 = { 56 e8???????? 8b30 837e2000 }
            // n = 4, score = 600
            //   56                   | push                esi
            //   e8????????           |                     
            //   8b30                 | mov                 esi, dword ptr [eax]
            //   837e2000             | cmp                 dword ptr [esi + 0x20], 0

        $sequence_9 = { 7509 33d2 33c9 e8???????? }
            // n = 4, score = 400
            //   7509                 | jne                 0xb
            //   33d2                 | xor                 edx, edx
            //   33c9                 | xor                 ecx, ecx
            //   e8????????           |                     

        $sequence_10 = { 488d0d3c520200 e8???????? e8???????? 488b8d20010000 48894c2428 488b8d18010000 }
            // n = 6, score = 200
            //   488d0d3c520200       | dec                 eax
            //   e8????????           |                     
            //   e8????????           |                     
            //   488b8d20010000       | lea                 ecx, dword ptr [0x2523c]
            //   48894c2428           | dec                 eax
            //   488b8d18010000       | mov                 ecx, dword ptr [ebp + 0x120]

        $sequence_11 = { 488d0d3eb80200 e8???????? 8b95e8000000 488b8de0000000 }
            // n = 4, score = 200
            //   488d0d3eb80200       | dec                 eax
            //   e8????????           |                     
            //   8b95e8000000         | mov                 eax, dword ptr [ebp + 0x100]
            //   488b8de0000000       | dec                 eax

        $sequence_12 = { 488d0d3ebe0100 8b542430 48891401 488d0d2f350100 }
            // n = 4, score = 200
            //   488d0d3ebe0100       | lea                 esp, dword ptr [ebp + 0xe8]
            //   8b542430             | pop                 edi
            //   48891401             | dec                 eax
            //   488d0d2f350100       | lea                 ecx, dword ptr [0x2833d]

        $sequence_13 = { 4889442440 48837a1810 498bf1 4d8bf0 }
            // n = 4, score = 200
            //   4889442440           | lea                 eax, dword ptr [ebp - 0x12c]
            //   48837a1810           | push                eax
            //   498bf1               | push                esi
            //   4d8bf0               | je                  0xe

        $sequence_14 = { 488d0d3ca30200 e8???????? 488b85e0000000 488da5c8000000 }
            // n = 4, score = 200
            //   488d0d3ca30200       | lea                 ecx, dword ptr [0x2523c]
            //   e8????????           |                     
            //   488b85e0000000       | dec                 eax
            //   488da5c8000000       | mov                 ecx, dword ptr [ebp + 0x120]

        $sequence_15 = { 488d0d3d4a0300 e8???????? 90 488b8500010000 }
            // n = 4, score = 200
            //   488d0d3d4a0300       | dec                 eax
            //   e8????????           |                     
            //   90                   | lea                 ecx, dword ptr [0x3fd3c]
            //   488b8500010000       | mov                 byte ptr [ebp + 4], 1

        $sequence_16 = { 488bc2 488d0ddc180100 4889442420 48890b 488d5308 33c9 }
            // n = 6, score = 200
            //   488bc2               | jmp                 0x10
            //   488d0ddc180100       | mov                 word ptr [eax + 1], 0x6c64
            //   4889442420           | mov                 byte ptr [eax + 3], 0x6c
            //   48890b               | mov                 byte ptr [eax + 3], 0x65
            //   488d5308             | jmp                 0x10
            //   33c9                 | mov                 word ptr [eax + 1], 0x6c64

        $sequence_17 = { eb06 e8???????? cc 408ac7 }
            // n = 4, score = 200
            //   eb06                 | mov                 word ptr [eax + 1], 0x7865
            //   e8????????           |                     
            //   cc                   | mov                 byte ptr [eax + 3], 0x65
            //   408ac7               | jmp                 0xc

        $sequence_18 = { 4c896c2438 4533c9 4c8d442438 488d542430 498bcf e8???????? }
            // n = 6, score = 200
            //   4c896c2438           | mov                 word ptr [eax + 1], 0x6c64
            //   4533c9               | mov                 byte ptr [eax + 3], 0x6c
            //   4c8d442438           | je                  0xe
            //   488d542430           | mov                 word ptr [eax + 1], 0x7865
            //   498bcf               | mov                 byte ptr [eax + 3], 0x65
            //   e8????????           |                     

        $sequence_19 = { e9???????? 488d05befc0000 4a8b0ce8 42f644313880 744d }
            // n = 5, score = 200
            //   e9????????           |                     
            //   488d05befc0000       | mov                 word ptr [eax + 1], 0x7865
            //   4a8b0ce8             | mov                 byte ptr [eax + 3], 0x65
            //   42f644313880         | jmp                 0x16
            //   744d                 | mov                 word ptr [eax + 1], 0x6c64

        $sequence_20 = { 488d0d3cfd0300 e8???????? c6450401 488b8dc0010000 }
            // n = 4, score = 200
            //   488d0d3cfd0300       | dec                 eax
            //   e8????????           |                     
            //   c6450401             | mov                 dword ptr [esp + 0x20], ecx
            //   488b8dc0010000       | dec                 eax

        $sequence_21 = { 488d0d3d830200 e8???????? eb4d 4c8b4528 }
            // n = 4, score = 200
            //   488d0d3d830200       | mov                 byte ptr [ebp + 4], 1
            //   e8????????           |                     
            //   eb4d                 | dec                 eax
            //   4c8b4528             | mov                 ecx, dword ptr [ebp + 0x1c0]

    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