SYMBOLCOMMON_NAMEaka. SYNONYMS
win.grillmark (Back to overview)

GRILLMARK

aka: Hellsing Backdoor

Actor(s): Hellsing, Leviathan


This is a proxy-aware HTTP backdoor that is implemented as a service and uses the compromised system's proxy settings to access the internet. C&C traffic is base64 encoded and the files sent to the server are compressed with aPLib.

References
2019-04-11FireEyeFireEye
@online{fireeye:20190411:mtrend:597b240, author = {FireEye}, title = {{M-Trend 2019}}, date = {2019-04-11}, organization = {FireEye}, url = {https://content.fireeye.com/m-trends/rpt-m-trends-2019}, language = {English}, urldate = {2020-01-10} } M-Trend 2019
GRILLMARK
2015-04-15Kaspersky LabsCostin Raiu, Maxim Golovkin
@online{raiu:20150415:chronicles:aa4af84, author = {Costin Raiu and Maxim Golovkin}, title = {{The Chronicles of the Hellsing APT: the Empire Strikes Back}}, date = {2015-04-15}, organization = {Kaspersky Labs}, url = {https://securelist.com/the-chronicles-of-the-hellsing-apt-the-empire-strikes-back/69567/}, language = {English}, urldate = {2021-02-06} } The Chronicles of the Hellsing APT: the Empire Strikes Back
GRILLMARK Naikon
Yara Rules
[TLP:WHITE] win_grillmark_auto (20211008 | Detects win.grillmark.)
rule win_grillmark_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2021-10-07"
        version = "1"
        description = "Detects win.grillmark."
        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.grillmark"
        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 = { 0bc3 8b5d08 0345bc 8d840362251ef6 8bd8 c1eb1b c1e005 }
            // n = 7, score = 300
            //   0bc3                 | or                  eax, ebx
            //   8b5d08               | mov                 ebx, dword ptr [ebp + 8]
            //   0345bc               | add                 eax, dword ptr [ebp - 0x44]
            //   8d840362251ef6       | lea                 eax, dword ptr [ebx + eax - 0x9e1da9e]
            //   8bd8                 | mov                 ebx, eax
            //   c1eb1b               | shr                 ebx, 0x1b
            //   c1e005               | shl                 eax, 5

        $sequence_1 = { 50 68???????? e8???????? 8d85fcfeffff 8dbe08010000 50 57 }
            // n = 7, score = 300
            //   50                   | push                eax
            //   68????????           |                     
            //   e8????????           |                     
            //   8d85fcfeffff         | lea                 eax, dword ptr [ebp - 0x104]
            //   8dbe08010000         | lea                 edi, dword ptr [esi + 0x108]
            //   50                   | push                eax
            //   57                   | push                edi

        $sequence_2 = { 50 8d45c8 50 6a13 57 }
            // n = 5, score = 300
            //   50                   | push                eax
            //   8d45c8               | lea                 eax, dword ptr [ebp - 0x38]
            //   50                   | push                eax
            //   6a13                 | push                0x13
            //   57                   | push                edi

        $sequence_3 = { 8d85f4fcffff 50 56 e8???????? 83c410 8d85fcfeffff }
            // n = 6, score = 300
            //   8d85f4fcffff         | lea                 eax, dword ptr [ebp - 0x30c]
            //   50                   | push                eax
            //   56                   | push                esi
            //   e8????????           |                     
            //   83c410               | add                 esp, 0x10
            //   8d85fcfeffff         | lea                 eax, dword ptr [ebp - 0x104]

        $sequence_4 = { ff30 e8???????? 5d c3 55 8bec 51 }
            // n = 7, score = 300
            //   ff30                 | push                dword ptr [eax]
            //   e8????????           |                     
            //   5d                   | pop                 ebp
            //   c3                   | ret                 
            //   55                   | push                ebp
            //   8bec                 | mov                 ebp, esp
            //   51                   | push                ecx

        $sequence_5 = { c3 55 8bec 81ec9c020000 80a5fcfeffff00 }
            // n = 5, score = 300
            //   c3                   | ret                 
            //   55                   | push                ebp
            //   8bec                 | mov                 ebp, esp
            //   81ec9c020000         | sub                 esp, 0x29c
            //   80a5fcfeffff00       | and                 byte ptr [ebp - 0x104], 0

        $sequence_6 = { f3ab 8d85bcfdffff 50 e8???????? 85c0 59 7441 }
            // n = 7, score = 300
            //   f3ab                 | rep stosd           dword ptr es:[edi], eax
            //   8d85bcfdffff         | lea                 eax, dword ptr [ebp - 0x244]
            //   50                   | push                eax
            //   e8????????           |                     
            //   85c0                 | test                eax, eax
            //   59                   | pop                 ecx
            //   7441                 | je                  0x43

        $sequence_7 = { 899d40ffffff 6a08 f3ab 59 8d7de0 895ddc 6a59 }
            // n = 7, score = 300
            //   899d40ffffff         | mov                 dword ptr [ebp - 0xc0], ebx
            //   6a08                 | push                8
            //   f3ab                 | rep stosd           dword ptr es:[edi], eax
            //   59                   | pop                 ecx
            //   8d7de0               | lea                 edi, dword ptr [ebp - 0x20]
            //   895ddc               | mov                 dword ptr [ebp - 0x24], ebx
            //   6a59                 | push                0x59

        $sequence_8 = { e8???????? 8d85f0feffff c70424???????? 50 e8???????? 59 }
            // n = 6, score = 300
            //   e8????????           |                     
            //   8d85f0feffff         | lea                 eax, dword ptr [ebp - 0x110]
            //   c70424????????       |                     
            //   50                   | push                eax
            //   e8????????           |                     
            //   59                   | pop                 ecx

        $sequence_9 = { 8b55f4 ff45f0 8345f404 893a ff45f8 880f 47 }
            // n = 7, score = 300
            //   8b55f4               | mov                 edx, dword ptr [ebp - 0xc]
            //   ff45f0               | inc                 dword ptr [ebp - 0x10]
            //   8345f404             | add                 dword ptr [ebp - 0xc], 4
            //   893a                 | mov                 dword ptr [edx], edi
            //   ff45f8               | inc                 dword ptr [ebp - 8]
            //   880f                 | mov                 byte ptr [edi], cl
            //   47                   | inc                 edi

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