SYMBOLCOMMON_NAMEaka. SYNONYMS
win.pteranodon (Back to overview)

Pteranodon

aka: Pterodo

Actor(s): Gamaredon Group, Operation Armageddon

VTCollection    

There is no description at this point.

References
2025-11-22Synaptic SecurityRobin Dost
Inside Gamaredon 2025: Zero-Click Espionage at Scale
PteroGraphin Pteranodon
2025-09-07360360
APT-C-53 (Gamaredon) Attacks on Ukrainian Government Functions
Pteranodon
2025-04-16HarfangLabHarfangLab CTR
Inside Gamaredon’s PteroLNK: Dead Drop Resolvers and evasive Infrastructure
Pteranodon
2023-08-28National Coordination Center for Cyber Security
Gamaredon Activity amid Ukraine's Counteroffensive
Pteranodon
2023-06-15SymantecThreat Hunter Team
Shuckworm: Inside Russia’s Relentless Cyber Campaign Against Ukraine
Pteranodon
2023-03-20ThreatMonSeyit Sigirci (@h3xecute), ThreatMon Malware Research Team
Cybergun: Technical Analysis of the Armageddon's Infostealer
Pteranodon
2023-03-13ThreatMonThreatMon Malware Research Team
Beyond Bullets and Bombs: An Examination of Armageddon Group’s Cyber Warfare Against Ukraine
Unidentified 003 (Gamaredon Downloader) Unidentified VBS 005 (Telegram Loader) Unidentified VBS 006 (Telegram Loader) Pteranodon
2022-11-21BlackberryBlackBerry Research & Intelligence Team
Gamaredon Leverages Microsoft Office Docs to Target Ukraine Government and Military
Pteranodon
2022-05-24ThreatStopOfir Ashman
Gamaredon Group: Understanding the Russian APT
Unidentified 003 (Gamaredon Downloader) Pteranodon
2022-05-12CiscoMaría José Erquiaga, Onur Mustafa Erdogan
Network Footprints of Gamaredon Group
Pteranodon
2022-04-20SymantecThreat Hunter Team
Shuckworm: Espionage Group Continues Intense Campaign Against Ukraine
Pteranodon
2022-02-04MicrosoftMicrosoft Digital Security Unit (DSU), Microsoft Threat Intelligence Center (MSTIC)
ACTINIUM targets Ukrainian organizations
DilongTrash DinoTrain Pteranodon QuietSieve Gamaredon Group
2022-02-04MicrosoftMicrosoft Digital Security Unit (DSU), Microsoft Threat Intelligence
ACTINIUM targets Ukrainian organizations
Pteranodon QuietSieve DEV-0586
2022-02-04MicrosoftMicrosoft Digital Security Unit (DSU), Microsoft Threat Intelligence Center (MSTIC)
ACTINIUM targets Ukrainian organizations
Pteranodon Gamaredon Group
2022-02-03Palo Alto Networks Unit 42Unit 42
Russia’s Gamaredon aka Primitive Bear APT Group Actively Targeting Ukraine (Updated June 22)
Pteranodon Gamaredon Group
2022-02-03Palo Alto Networks Unit 42Unit 42
Russia’s Gamaredon aka Primitive Bear APT Group Actively Targeting Ukraine
Pteranodon Gamaredon Group
2022-01-31Bleeping ComputerBill Toulas
Russian 'Gamaredon' hackers use 8 new malware payloads in attacks
Pteranodon
2022-01-31SymantecSymantec Threat Hunter Team
Shuckworm Continues Cyber-Espionage Attacks Against Ukraine
Pteranodon Gamaredon Group
2021-11-04Security Service of UkraineSecurity Service of Ukraine
Gamaredon / Armageddon Group: FSB RF Cyber attacks against Ukraine
EvilGnome Pteranodon RMS
2021-03-03Cert-UACert-UA
Renewal of cyber attacks using the Pterodo hacker group Armageddon/Gamaredon
Pteranodon
2020-06-11ESET ResearchJean-Ian Boutin
Gamaredon group grows its game
Pteranodon Gamaredon Group
2020-02-17YoroiYoroi
Cyberwarfare: A deep dive into the latest Gamaredon Espionage Campaign
Pteranodon
2020-02-13ElasticAndrew Pease, Daniel Stepanic, Seth Goodwin
Playing defense against Gamaredon Group
Pteranodon
2020-02-05SentinelOneVitali Kremez
Pro-Russian CyberSpy Gamaredon Intensifies Ukrainian Security Targeting
Pteranodon
2019-02-07ThreatStopJohn Bambenek
An Inside Look at the Infrastructure Behind the Russian APT Gamaredon Group
Pteranodon
2019-01-07Vitali Kremez
Let's Learn: Deeper Dive into Gamaredon Group Pteranodon Implant Version '_512'
Pteranodon
2018-11-15Cert-UACert-UA
Виявлена підготовка до проведення кібератаки з використанням ШПЗ типу Pterodo
Pteranodon
2018-09-03Cert-UACert-UA
Bulk mailing of spyware like Pterodo
Pteranodon
2018-03-09Cert-UACert-UA
Mass mailing of Pterodo-type spyware
Pteranodon
2017-05-31MITREMITRE ATT&CK
Gamaredon Group
Pteranodon Gamaredon Group
2017-02-27Palo Alto Networks Unit 42Anthony Kasza, Dominik Reichel
The Gamaredon Group Toolset Evolution
Pteranodon
2017-02-27Palo Alto Networks Unit 42Anthony Kasza, Dominik Reichel
The Gamaredon Group Toolset Evolution
Pteranodon RMS Gamaredon Group
2016-06-25NSHCNSHC Threatrecon Team
SectorC08: Multi-Layered SFX in Recent Campaigns Target Ukraine
Pteranodon
Yara Rules
[TLP:WHITE] win_pteranodon_auto (20260504 | Detects win.pteranodon.)
rule win_pteranodon_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-05-04"
        version = "1"
        description = "Detects win.pteranodon."
        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.pteranodon"
        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 = { e8???????? ff75b8 8b5db4 33c0 53 668906 ff75c0 }
            // n = 7, score = 100
            //   e8????????           |                     
            //   ff75b8               | push                dword ptr [ebp - 0x48]
            //   8b5db4               | mov                 ebx, dword ptr [ebp - 0x4c]
            //   33c0                 | xor                 eax, eax
            //   53                   | push                ebx
            //   668906               | mov                 word ptr [esi], ax
            //   ff75c0               | push                dword ptr [ebp - 0x40]

        $sequence_1 = { 8b049db8690310 894dfc 837c0118ff 7543 57 e8???????? }
            // n = 6, score = 100
            //   8b049db8690310       | mov                 eax, dword ptr [ebx*4 + 0x100369b8]
            //   894dfc               | mov                 dword ptr [ebp - 4], ecx
            //   837c0118ff           | cmp                 dword ptr [ecx + eax + 0x18], -1
            //   7543                 | jne                 0x45
            //   57                   | push                edi
            //   e8????????           |                     

        $sequence_2 = { 0f8530ffffff b8ffff0000 0fb7c0 0fb7f0 8b55e8 83fa10 0f8288000000 }
            // n = 7, score = 100
            //   0f8530ffffff         | jne                 0xffffff36
            //   b8ffff0000           | mov                 eax, 0xffff
            //   0fb7c0               | movzx               eax, ax
            //   0fb7f0               | movzx               esi, ax
            //   8b55e8               | mov                 edx, dword ptr [ebp - 0x18]
            //   83fa10               | cmp                 edx, 0x10
            //   0f8288000000         | jb                  0x8e

        $sequence_3 = { e8???????? 83c8ff e9???????? 6a10 }
            // n = 4, score = 100
            //   e8????????           |                     
            //   83c8ff               | or                  eax, 0xffffffff
            //   e9????????           |                     
            //   6a10                 | push                0x10

        $sequence_4 = { c1f906 56 57 6bf830 8b048db8690310 894df0 8b4c3818 }
            // n = 7, score = 100
            //   c1f906               | sar                 ecx, 6
            //   56                   | push                esi
            //   57                   | push                edi
            //   6bf830               | imul                edi, eax, 0x30
            //   8b048db8690310       | mov                 eax, dword ptr [ecx*4 + 0x100369b8]
            //   894df0               | mov                 dword ptr [ebp - 0x10], ecx
            //   8b4c3818             | mov                 ecx, dword ptr [eax + edi + 0x18]

        $sequence_5 = { 25f0070000 660f28a040314300 660f28b8302d4300 660f54f0 660f5cc6 }
            // n = 5, score = 100
            //   25f0070000           | and                 eax, 0x7f0
            //   660f28a040314300     | movapd              xmm4, xmmword ptr [eax + 0x433140]
            //   660f28b8302d4300     | movapd              xmm7, xmmword ptr [eax + 0x432d30]
            //   660f54f0             | andpd               xmm6, xmm0
            //   660f5cc6             | subpd               xmm0, xmm6

        $sequence_6 = { ffd6 ffb5f8fdffff ffd6 33c0 e9???????? 6a00 6a00 }
            // n = 7, score = 100
            //   ffd6                 | call                esi
            //   ffb5f8fdffff         | push                dword ptr [ebp - 0x208]
            //   ffd6                 | call                esi
            //   33c0                 | xor                 eax, eax
            //   e9????????           |                     
            //   6a00                 | push                0
            //   6a00                 | push                0

        $sequence_7 = { 0f57c0 6a01 50 0f1145e8 }
            // n = 4, score = 100
            //   0f57c0               | xorps               xmm0, xmm0
            //   6a01                 | push                1
            //   50                   | push                eax
            //   0f1145e8             | movups              xmmword ptr [ebp - 0x18], xmm0

        $sequence_8 = { 660f56fa 660fc5cc03 25ff000000 83c001 25fe010000 f20f593c8538f34200 660f122c8538f34200 }
            // n = 7, score = 100
            //   660f56fa             | orpd                xmm7, xmm2
            //   660fc5cc03           | pextrw              ecx, xmm4, 3
            //   25ff000000           | and                 eax, 0xff
            //   83c001               | add                 eax, 1
            //   25fe010000           | and                 eax, 0x1fe
            //   f20f593c8538f34200     | mulsd    xmm7, qword ptr [eax*4 + 0x42f338]
            //   660f122c8538f34200     | movlpd    xmm5, qword ptr [eax*4 + 0x42f338]

        $sequence_9 = { 751b 33c9 380d00000000 740c 8d5101 8a01 }
            // n = 6, score = 100
            //   751b                 | jne                 0x1d
            //   33c9                 | xor                 ecx, ecx
            //   380d00000000         | cmp                 byte ptr [0], cl
            //   740c                 | je                  0xe
            //   8d5101               | lea                 edx, [ecx + 1]
            //   8a01                 | mov                 al, byte ptr [ecx]

        $sequence_10 = { 8d8d08f9ffff e8???????? 8d8da8f8ffff c645fc31 51 8bd0 }
            // n = 6, score = 100
            //   8d8d08f9ffff         | lea                 ecx, [ebp - 0x6f8]
            //   e8????????           |                     
            //   8d8da8f8ffff         | lea                 ecx, [ebp - 0x758]
            //   c645fc31             | mov                 byte ptr [ebp - 4], 0x31
            //   51                   | push                ecx
            //   8bd0                 | mov                 edx, eax

        $sequence_11 = { 8d4ea0 e8???????? 8b4690 8b4004 c74430903c0d0310 }
            // n = 5, score = 100
            //   8d4ea0               | lea                 ecx, [esi - 0x60]
            //   e8????????           |                     
            //   8b4690               | mov                 eax, dword ptr [esi - 0x70]
            //   8b4004               | mov                 eax, dword ptr [eax + 4]
            //   c74430903c0d0310     | mov                 dword ptr [eax + esi - 0x70], 0x10030d3c

        $sequence_12 = { 51 8bce e8???????? 83c408 56 ff15???????? 57 }
            // n = 7, score = 100
            //   51                   | push                ecx
            //   8bce                 | mov                 ecx, esi
            //   e8????????           |                     
            //   83c408               | add                 esp, 8
            //   56                   | push                esi
            //   ff15????????         |                     
            //   57                   | push                edi

        $sequence_13 = { 57 68???????? ff35???????? 8d45e4 8bf9 }
            // n = 5, score = 100
            //   57                   | push                edi
            //   68????????           |                     
            //   ff35????????         |                     
            //   8d45e4               | lea                 eax, [ebp - 0x1c]
            //   8bf9                 | mov                 edi, ecx

        $sequence_14 = { c1f806 6bc938 8b0485e0874300 0fb6440828 83e040 5d c3 }
            // n = 7, score = 100
            //   c1f806               | sar                 eax, 6
            //   6bc938               | imul                ecx, ecx, 0x38
            //   8b0485e0874300       | mov                 eax, dword ptr [eax*4 + 0x4387e0]
            //   0fb6440828           | movzx               eax, byte ptr [eax + ecx + 0x28]
            //   83e040               | and                 eax, 0x40
            //   5d                   | pop                 ebp
            //   c3                   | ret                 

        $sequence_15 = { c645fc07 8b85d4f8ffff c7851cf9ffff0f000000 c78518f9ffff00000000 c68508f9ffff00 83f810 7213 }
            // n = 7, score = 100
            //   c645fc07             | mov                 byte ptr [ebp - 4], 7
            //   8b85d4f8ffff         | mov                 eax, dword ptr [ebp - 0x72c]
            //   c7851cf9ffff0f000000     | mov    dword ptr [ebp - 0x6e4], 0xf
            //   c78518f9ffff00000000     | mov    dword ptr [ebp - 0x6e8], 0
            //   c68508f9ffff00       | mov                 byte ptr [ebp - 0x6f8], 0
            //   83f810               | cmp                 eax, 0x10
            //   7213                 | jb                  0x15

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