SYMBOLCOMMON_NAMEaka. SYNONYMS
win.olympic_destroyer (Back to overview)

Olympic Destroyer

aka: SOURGRAPE
VTCollection    

Malware which seems to have no function other than to disrupt computer systems related to the 2018 Winter Olympic event.

References
2022-08-13YoutTube (Blue Team Village)Seongsu Park
Attribution and Bias: My terrible mistakes in threat intelligence attribution
AppleJeus Olympic Destroyer
2022-08-12CrowdStrikeIoan Iacob, Iulian Madalin Ionita
The Anatomy of Wiper Malware, Part 1: Common Techniques
Apostle CaddyWiper DEADWOOD DistTrack DoubleZero DUSTMAN HermeticWiper IsaacWiper IsraBye KillDisk Meteor Olympic Destroyer Ordinypt Petya Sierra(Alfa,Bravo, ...) StoneDrill WhisperGate ZeroCleare
2022-04-28FortinetGergely Revay
An Overview of the Increasing Wiper Malware Threat
AcidRain CaddyWiper DistTrack DoubleZero EternalPetya HermeticWiper IsaacWiper Olympic Destroyer Ordinypt WhisperGate ZeroCleare
2020-11-12YouTube (Tomorrow Unlocked)Tomorrow Unlocked
They wanted us to point the finger in the wrong direction!
Olympic Destroyer
2020-11-12YouTube (Tomorrow Unlocked)Tomorrow Unlocked
Those hackers wanted to be found!
Olympic Destroyer
2020-11-12YouTube (Tomorrow Unlocked)Tomorrow Unlocked
Who hacked the 2018 Winter Games?
Olympic Destroyer
2020-10-19Riskint BlogCurtis
Revisited: Fancy Bear's New Faces...and Sandworms' too
BlackEnergy EternalPetya Industroyer Olympic Destroyer
2020-10-19WiredAndy Greenberg
US Indicts Sandworm, Russia's Most Destructive Cyberwar Unit
EternalPetya Olympic Destroyer
2020-07-29Kaspersky LabsGReAT
APT trends report Q2 2020
PhantomLance Dacls Penquin Turla elf.wellmess AppleJeus Dacls AcidBox Cobalt Strike Dacls EternalPetya Godlike12 Olympic Destroyer PlugX shadowhammer ShadowPad Sinowal VHD Ransomware Volgmer WellMess X-Agent XTunnel
2019-10-17WiredAndy Greenberg
The Untold Story of the 2018 Olympics Cyberattack, the Most Deceptive Hack in History
Olympic Destroyer
2019-08-01Kaspersky LabsGReAT
APT trends report Q2 2019
ZooPark magecart POWERSTATS Chaperone COMpfun EternalPetya FinFisher RAT HawkEye Keylogger HOPLIGHT Microcin NjRAT Olympic Destroyer PLEAD RokRAT Triton Zebrocy
2019-05-08Verizon Communications Inc.Verizon Communications Inc.
2019 Data Breach Investigations Report
BlackEnergy Cobalt Strike DanaBot Gandcrab GreyEnergy Mirai Olympic Destroyer SamSam
2018-06-19Kaspersky LabsGReAT
Hades, the actor behind Olympic Destroyer is still alive
Olympic Destroyer
2018-03-28Robert Michel
Dissecting Olympic Destroyer – a walk-through
Olympic Destroyer
2018-03-09Lastlinelastline Labs Team
From Russia(?) with Code
Olympic Destroyer
2018-03-08Kaspersky LabsGReAT
The devil’s in the Rich header
Olympic Destroyer
2018-03-08Kaspersky LabsGReAT
OlympicDestroyer is here to trick the industry
Olympic Destroyer
2018-02-26Cisco TalosMartin Lee, Paul Rascagnères
Who Wasn’t Responsible for Olympic Destroyer?
Olympic Destroyer
2018-02-21LastlineAlexander Sevtsov, Stefano Ortolani
Olympic Destroyer: A new Candidate in South Korea
Olympic Destroyer
2018-02-15MBSDSatoshi Sugawara, Takashi Yoshikawa
Olympic Destroyer
Olympic Destroyer
2018-02-13EndgameDevon Kerr
Stopping Olympic Destroyer: New Process Injection Insights
Olympic Destroyer
2018-02-12CiscoBen Baker, Matthew Molyett, Paul Rascagnères, Warren Mercer
Olympic Destroyer Takes Aim At Winter Olympics
Olympic Destroyer
2018-01-01Virus BulletinPaul Rascagnères, Warren Mercer
VB2018 paper: Who wasn’t responsible for Olympic Destroyer
Olympic Destroyer
2017-05-31MITREMITRE ATT&CK
Sandworm Team
CyclopsBlink Exaramel BlackEnergy EternalPetya Exaramel GreyEnergy KillDisk MimiKatz Olympic Destroyer Sandworm
Yara Rules
[TLP:WHITE] win_olympic_destroyer_auto (20230808 | Detects win.olympic_destroyer.)
rule win_olympic_destroyer_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2023-12-06"
        version = "1"
        description = "Detects win.olympic_destroyer."
        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.olympic_destroyer"
        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 33c0 89542414 57 }
            // n = 4, score = 200
            //   56                   | push                esi
            //   33c0                 | xor                 eax, eax
            //   89542414             | mov                 dword ptr [esp + 0x14], edx
            //   57                   | push                edi

        $sequence_1 = { 6690 3939 770a 8bc1 46 }
            // n = 5, score = 100
            //   6690                 | nop                 
            //   3939                 | cmp                 dword ptr [ecx], edi
            //   770a                 | ja                  0xc
            //   8bc1                 | mov                 eax, ecx
            //   46                   | inc                 esi

        $sequence_2 = { 8b0c8d60ee5500 80643128fd 5f 5e }
            // n = 4, score = 100
            //   8b0c8d60ee5500       | mov                 ecx, dword ptr [ecx*4 + 0x55ee60]
            //   80643128fd           | and                 byte ptr [ecx + esi + 0x28], 0xfd
            //   5f                   | pop                 edi
            //   5e                   | pop                 esi

        $sequence_3 = { 50 689b000000 e8???????? e9???????? }
            // n = 4, score = 100
            //   50                   | push                eax
            //   689b000000           | push                0x9b
            //   e8????????           |                     
            //   e9????????           |                     

        $sequence_4 = { ff15???????? 6880ee3600 ff15???????? 6800000500 56 }
            // n = 5, score = 100
            //   ff15????????         |                     
            //   6880ee3600           | push                0x36ee80
            //   ff15????????         |                     
            //   6800000500           | push                0x50000
            //   56                   | push                esi

        $sequence_5 = { 50 68???????? e8???????? 83c408 8907 85c0 0f8480000000 }
            // n = 7, score = 100
            //   50                   | push                eax
            //   68????????           |                     
            //   e8????????           |                     
            //   83c408               | add                 esp, 8
            //   8907                 | mov                 dword ptr [edi], eax
            //   85c0                 | test                eax, eax
            //   0f8480000000         | je                  0x86

        $sequence_6 = { a1???????? 85c0 741a 833d????????00 7c0a }
            // n = 5, score = 100
            //   a1????????           |                     
            //   85c0                 | test                eax, eax
            //   741a                 | je                  0x1c
            //   833d????????00       |                     
            //   7c0a                 | jl                  0xc

        $sequence_7 = { 50 68???????? 8d85e4fcffff 6805010000 }
            // n = 4, score = 100
            //   50                   | push                eax
            //   68????????           |                     
            //   8d85e4fcffff         | lea                 eax, [ebp - 0x31c]
            //   6805010000           | push                0x105

        $sequence_8 = { a1???????? c705????????f3274000 8935???????? a3???????? ff15???????? a3???????? 83f8ff }
            // n = 7, score = 100
            //   a1????????           |                     
            //   c705????????f3274000     |     
            //   8935????????         |                     
            //   a3????????           |                     
            //   ff15????????         |                     
            //   a3????????           |                     
            //   83f8ff               | cmp                 eax, -1

        $sequence_9 = { 7678 eb06 8b8de8efffff 2b8df0efffff 1b85f4efffff }
            // n = 5, score = 100
            //   7678                 | jbe                 0x7a
            //   eb06                 | jmp                 8
            //   8b8de8efffff         | mov                 ecx, dword ptr [ebp - 0x1018]
            //   2b8df0efffff         | sub                 ecx, dword ptr [ebp - 0x1010]
            //   1b85f4efffff         | sbb                 eax, dword ptr [ebp - 0x100c]

        $sequence_10 = { 2bfa 8d0450 57 50 }
            // n = 4, score = 100
            //   2bfa                 | sub                 edi, edx
            //   8d0450               | lea                 eax, [eax + edx*2]
            //   57                   | push                edi
            //   50                   | push                eax

        $sequence_11 = { 750b ff15???????? e9???????? 8b3d???????? 6a02 56 }
            // n = 6, score = 100
            //   750b                 | jne                 0xd
            //   ff15????????         |                     
            //   e9????????           |                     
            //   8b3d????????         |                     
            //   6a02                 | push                2
            //   56                   | push                esi

        $sequence_12 = { 83f8fe 7419 8a4a02 3a4e02 }
            // n = 4, score = 100
            //   83f8fe               | cmp                 eax, -2
            //   7419                 | je                  0x1b
            //   8a4a02               | mov                 cl, byte ptr [edx + 2]
            //   3a4e02               | cmp                 cl, byte ptr [esi + 2]

        $sequence_13 = { 83ffff 743a 8d857cf9ffff 50 57 ff15???????? }
            // n = 6, score = 100
            //   83ffff               | cmp                 edi, -1
            //   743a                 | je                  0x3c
            //   8d857cf9ffff         | lea                 eax, [ebp - 0x684]
            //   50                   | push                eax
            //   57                   | push                edi
            //   ff15????????         |                     

        $sequence_14 = { 898588f9ffff 8d85e4fbffff 68???????? 50 ff15???????? 83c40c 8d8594f9ffff }
            // n = 7, score = 100
            //   898588f9ffff         | mov                 dword ptr [ebp - 0x678], eax
            //   8d85e4fbffff         | lea                 eax, [ebp - 0x41c]
            //   68????????           |                     
            //   50                   | push                eax
            //   ff15????????         |                     
            //   83c40c               | add                 esp, 0xc
            //   8d8594f9ffff         | lea                 eax, [ebp - 0x66c]

        $sequence_15 = { 8d842494000000 89442424 8d54241c 8b44245c 8d4c2424 6a24 }
            // n = 6, score = 100
            //   8d842494000000       | lea                 eax, [esp + 0x94]
            //   89442424             | mov                 dword ptr [esp + 0x24], eax
            //   8d54241c             | lea                 edx, [esp + 0x1c]
            //   8b44245c             | mov                 eax, dword ptr [esp + 0x5c]
            //   8d4c2424             | lea                 ecx, [esp + 0x24]
            //   6a24                 | push                0x24

        $sequence_16 = { 50 68???????? 8bd7 8bcb e8???????? 8bd8 }
            // n = 6, score = 100
            //   50                   | push                eax
            //   68????????           |                     
            //   8bd7                 | mov                 edx, edi
            //   8bcb                 | mov                 ecx, ebx
            //   e8????????           |                     
            //   8bd8                 | mov                 ebx, eax

        $sequence_17 = { 8d8580f7ffff 50 56 56 56 56 }
            // n = 6, score = 100
            //   8d8580f7ffff         | lea                 eax, [ebp - 0x880]
            //   50                   | push                eax
            //   56                   | push                esi
            //   56                   | push                esi
            //   56                   | push                esi
            //   56                   | push                esi

        $sequence_18 = { 89442418 85c0 743a 57 }
            // n = 4, score = 100
            //   89442418             | mov                 dword ptr [esp + 0x18], eax
            //   85c0                 | test                eax, eax
            //   743a                 | je                  0x3c
            //   57                   | push                edi

        $sequence_19 = { 50 68???????? 8d85ecfdffff 6805010000 }
            // n = 4, score = 100
            //   50                   | push                eax
            //   68????????           |                     
            //   8d85ecfdffff         | lea                 eax, [ebp - 0x214]
            //   6805010000           | push                0x105

        $sequence_20 = { ffd6 50 ff15???????? 8d8594f9ffff }
            // n = 4, score = 100
            //   ffd6                 | call                esi
            //   50                   | push                eax
            //   ff15????????         |                     
            //   8d8594f9ffff         | lea                 eax, [ebp - 0x66c]

        $sequence_21 = { 50 68???????? e8???????? 83c40c 8903 5f }
            // n = 6, score = 100
            //   50                   | push                eax
            //   68????????           |                     
            //   e8????????           |                     
            //   83c40c               | add                 esp, 0xc
            //   8903                 | mov                 dword ptr [ebx], eax
            //   5f                   | pop                 edi

        $sequence_22 = { 50 68???????? 8901 ff770c e8???????? 83c40c }
            // n = 6, score = 100
            //   50                   | push                eax
            //   68????????           |                     
            //   8901                 | mov                 dword ptr [ecx], eax
            //   ff770c               | push                dword ptr [edi + 0xc]
            //   e8????????           |                     
            //   83c40c               | add                 esp, 0xc

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