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
2026-06-25 ⋅ ESET Research ⋅ Zoltán Rusnák
Gamaredon in 2025: Leveraging tunnels, workers, dead drops, and new alliances
Pteranodon
2025-11-22 ⋅ Synaptic Security ⋅ Robin Dost
Inside Gamaredon 2025: Zero-Click Espionage at Scale
PteroGraphin Pteranodon
2025-09-07 ⋅ ⋅ 360 ⋅ 360
APT-C-53 (Gamaredon) Attacks on Ukrainian Government Functions
Pteranodon
2025-04-16 ⋅ HarfangLab ⋅ HarfangLab CTR
Inside Gamaredon’s PteroLNK: Dead Drop Resolvers and evasive Infrastructure
Pteranodon
2023-08-28 ⋅ National Coordination Center for Cyber Security
Gamaredon Activity amid Ukraine's Counteroffensive
Pteranodon
2023-06-15 ⋅ Symantec ⋅ Threat Hunter Team
Shuckworm: Inside Russia’s Relentless Cyber Campaign Against Ukraine
Pteranodon
2023-03-20 ⋅ ThreatMon ⋅ Seyit Sigirci (@h3xecute), ThreatMon Malware Research Team
Cybergun: Technical Analysis of the Armageddon's Infostealer
Pteranodon
2023-03-13 ⋅ ThreatMon ⋅ ThreatMon 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-21 ⋅ Blackberry ⋅ BlackBerry Research & Intelligence Team
Gamaredon Leverages Microsoft Office Docs to Target Ukraine Government and Military
Pteranodon
2022-05-24 ⋅ ThreatStop ⋅ Ofir Ashman
Gamaredon Group: Understanding the Russian APT
Unidentified 003 (Gamaredon Downloader) Pteranodon
2022-05-12 ⋅ Cisco ⋅ María José Erquiaga, Onur Mustafa Erdogan
Network Footprints of Gamaredon Group
Pteranodon
2022-04-20 ⋅ Symantec ⋅ Threat Hunter Team
Shuckworm: Espionage Group Continues Intense Campaign Against Ukraine
Pteranodon
2022-02-04 ⋅ Microsoft ⋅ Microsoft Digital Security Unit (DSU), Microsoft Threat Intelligence Center (MSTIC)
ACTINIUM targets Ukrainian organizations
DilongTrash DinoTrain Pteranodon QuietSieve Gamaredon Group
2022-02-04 ⋅ Microsoft ⋅ Microsoft Digital Security Unit (DSU), Microsoft Threat Intelligence
ACTINIUM targets Ukrainian organizations
Pteranodon QuietSieve DEV-0586
2022-02-04 ⋅ Microsoft ⋅ Microsoft Digital Security Unit (DSU), Microsoft Threat Intelligence Center (MSTIC)
ACTINIUM targets Ukrainian organizations
Pteranodon Gamaredon Group
2022-02-03 ⋅ Palo Alto Networks Unit 42 ⋅ Unit 42
Russia’s Gamaredon aka Primitive Bear APT Group Actively Targeting Ukraine
Pteranodon Gamaredon Group
2022-02-03 ⋅ Palo Alto Networks Unit 42 ⋅ Unit 42
Russia’s Gamaredon aka Primitive Bear APT Group Actively Targeting Ukraine (Updated June 22)
Pteranodon Gamaredon Group
2022-01-31 ⋅ Symantec ⋅ Symantec Threat Hunter Team
Shuckworm Continues Cyber-Espionage Attacks Against Ukraine
Pteranodon Gamaredon Group
2022-01-31 ⋅ Bleeping Computer ⋅ Bill Toulas
Russian 'Gamaredon' hackers use 8 new malware payloads in attacks
Pteranodon
2021-11-04 ⋅ Security Service of Ukraine ⋅ Security Service of Ukraine
Gamaredon / Armageddon Group: FSB RF Cyber attacks against Ukraine
EvilGnome Pteranodon RMS
2021-03-03 ⋅ ⋅ Cert-UA ⋅ Cert-UA
Renewal of cyber attacks using the Pterodo hacker group Armageddon/Gamaredon
Pteranodon
2020-06-11 ⋅ ESET Research ⋅ Jean-Ian Boutin
Gamaredon group grows its game
Pteranodon Gamaredon Group
2020-02-17 ⋅ Yoroi ⋅ Yoroi
Cyberwarfare: A deep dive into the latest Gamaredon Espionage Campaign
Pteranodon
2020-02-13 ⋅ Elastic ⋅ Andrew Pease, Daniel Stepanic, Seth Goodwin
Playing defense against Gamaredon Group
Pteranodon
2020-02-05 ⋅ SentinelOne ⋅ Vitali Kremez
Pro-Russian CyberSpy Gamaredon Intensifies Ukrainian Security Targeting
Pteranodon
2019-02-07 ⋅ ThreatStop ⋅ John Bambenek
An Inside Look at the Infrastructure Behind the Russian APT Gamaredon Group
Pteranodon
2019-01-07 ⋅ Vitali Kremez
Let's Learn: Deeper Dive into Gamaredon Group Pteranodon Implant Version '_512'
Pteranodon
2018-11-15 ⋅ ⋅ Cert-UA ⋅ Cert-UA
Виявлена підготовка до проведення кібератаки з використанням ШПЗ типу Pterodo
Pteranodon
2018-09-03 ⋅ ⋅ Cert-UA ⋅ Cert-UA
Bulk mailing of spyware like Pterodo
Pteranodon
2018-03-09 ⋅ Cert-UA ⋅ Cert-UA
Mass mailing of Pterodo-type spyware
Pteranodon
2017-05-31 ⋅ MITRE ⋅ MITRE ATT&CK
Gamaredon Group
Pteranodon Gamaredon Group
2017-02-27 ⋅ Palo Alto Networks Unit 42 ⋅ Anthony Kasza, Dominik Reichel
The Gamaredon Group Toolset Evolution
Pteranodon RMS Gamaredon Group
2017-02-27 ⋅ Palo Alto Networks Unit 42 ⋅ Anthony Kasza, Dominik Reichel
The Gamaredon Group Toolset Evolution
Pteranodon
2016-06-25 ⋅ NSHC ⋅ NSHC Threatrecon Team
SectorC08: Multi-Layered SFX in Recent Campaigns Target Ukraine
Pteranodon
Yara Rules
[TLP:WHITE] win_pteranodon_auto (20260917 | Detects win.pteranodon.)
rule win_pteranodon_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        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 = "20260916"
        malpedia_hash = "53a643781c18e08f4a50949af60172d837a0b6f6"
        malpedia_version = "20260917"
        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 = { 8bf1 68???????? 8975f8 ff15???????? 85c0 }
            // n = 5, score = 100
            //   8bf1                 | mov                 esi, ecx
            //   68????????           |                     
            //   8975f8               | mov                 dword ptr [ebp - 8], esi
            //   ff15????????         |                     
            //   85c0                 | test                eax, eax

        $sequence_2 = { c7869800000038c90210 c7460401000000 8b4dfc 5f 5e 33cd 5b }
            // n = 7, score = 100
            //   c7869800000038c90210     | mov    dword ptr [esi + 0x98], 0x1002c938
            //   c7460401000000       | mov                 dword ptr [esi + 4], 1
            //   8b4dfc               | mov                 ecx, dword ptr [ebp - 4]
            //   5f                   | pop                 edi
            //   5e                   | pop                 esi
            //   33cd                 | xor                 ecx, ebp
            //   5b                   | pop                 ebx

        $sequence_3 = { 2bc2 03ca 50 8d85b4fbffff 50 }
            // n = 5, score = 100
            //   2bc2                 | sub                 eax, edx
            //   03ca                 | add                 ecx, edx
            //   50                   | push                eax
            //   8d85b4fbffff         | lea                 eax, [ebp - 0x44c]
            //   50                   | push                eax

        $sequence_4 = { 8d45fc c745f400000000 50 6a00 6a00 8bf1 }
            // n = 6, score = 100
            //   8d45fc               | lea                 eax, [ebp - 4]
            //   c745f400000000       | mov                 dword ptr [ebp - 0xc], 0
            //   50                   | push                eax
            //   6a00                 | push                0
            //   6a00                 | push                0
            //   8bf1                 | mov                 esi, ecx

        $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 = { 8b8574f8ffff c78504f9ffff0f000000 c78500f9ffff00000000 c685f0f8ffff00 83f810 7213 40 }
            // n = 7, score = 100
            //   8b8574f8ffff         | mov                 eax, dword ptr [ebp - 0x78c]
            //   c78504f9ffff0f000000     | mov    dword ptr [ebp - 0x6fc], 0xf
            //   c78500f9ffff00000000     | mov    dword ptr [ebp - 0x700], 0
            //   c685f0f8ffff00       | mov                 byte ptr [ebp - 0x710], 0
            //   83f810               | cmp                 eax, 0x10
            //   7213                 | jb                  0x15
            //   40                   | inc                 eax

        $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 = { 51 0f4345d8 50 ff15???????? 898594feffff 83f8ff 0f847e000000 }
            // n = 7, score = 100
            //   51                   | push                ecx
            //   0f4345d8             | cmovae              eax, dword ptr [ebp - 0x28]
            //   50                   | push                eax
            //   ff15????????         |                     
            //   898594feffff         | mov                 dword ptr [ebp - 0x16c], eax
            //   83f8ff               | cmp                 eax, -1
            //   0f847e000000         | je                  0x84

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

        $sequence_11 = { d1f8 2b14c5e0f00210 7413 85d2 7905 }
            // n = 5, score = 100
            //   d1f8                 | sar                 eax, 1
            //   2b14c5e0f00210       | sub                 edx, dword ptr [eax*8 + 0x1002f0e0]
            //   7413                 | je                  0x15
            //   85d2                 | test                edx, edx
            //   7905                 | jns                 7

        $sequence_12 = { 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_13 = { 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_14 = { 6a09 68???????? 8d8dd8f8ffff c785ecf8ffff0f000000 c785e8f8ffff00000000 c685d8f8ffff00 e8???????? }
            // n = 7, score = 100
            //   6a09                 | push                9
            //   68????????           |                     
            //   8d8dd8f8ffff         | lea                 ecx, [ebp - 0x728]
            //   c785ecf8ffff0f000000     | mov    dword ptr [ebp - 0x714], 0xf
            //   c785e8f8ffff00000000     | mov    dword ptr [ebp - 0x718], 0
            //   c685d8f8ffff00       | mov                 byte ptr [ebp - 0x728], 0
            //   e8????????           |                     

        $sequence_15 = { 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                 

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