精华内容
下载资源
问答
  • APT分析
    千次阅读 热门讨论
    2021-04-21 16:35:33

    这是作者新开的一个专栏,主要翻译国外知名安全厂商的APT报告,了解它们的安全技术,学习它们溯源APT组织和恶意代码分析的方法,希望对您有所帮助。当然,由于作者英语有限,会借助机翻进行校验,还请包涵!

    前文分享了Lazarus攻击工业事件,主要采用ThreatNeedle高级恶意软件集群。这篇文章将详细讲解俄罗斯的APT组织Sofacy(APT28)中Zebrocy的Dropper文档。简短的文章读起来很轻松,希望对您有所帮助。

    在这里插入图片描述


    一.APT28介绍

    Sofacy 是一个从2008年就一直处于活跃状态的APT组织,并在2016年美国总统选举黑客事件中崭露头角。该组织更广为人知的名字是 FancyBearAPT28,其攻击目标包括政府、J队、安全机构和私人组织等,并以参与黑客攻击和泄M行动而闻名。在过去的几年里,Sofacy进行了彻底的重组,在很大程度上避开了分析师的关注。其中一个比较典型的变体称为 Zebrocy,其目标主要集中在前苏联和亚洲周边国家。

    在这里插入图片描述

    2018年,网络安全公司Palo AltoNetworks的研究人员就发现,与俄罗斯政府关系密切的SofacyAPT(又名APT28、Fancy Bear或Sednit)威胁组织使用Go编程语言编写了他们常用的Zebrocy工具的新版本。Zebrocy主要通过网络钓鱼攻击来实现,其中包含有宏和可执行文件附件的诱饵Microsoft Office文档。

    该恶意软件的幕后操纵者于2015年首次被发现与GreyEnergy具有高度关联性。GreyEnergy是一个威胁组织,被认为是BlackEnergy (又名Sandworm)的继任者,这表明它是一个与Sofacy和GreyEnergy关联的子组织。它实际上充当了一个后门和下载器,能够收集系统信息、操作文件、捕获屏幕截图并执行恶意命令,然后将这些恶意命令传输到攻击者控制的服务器。

    在2020年,Sofacy利用COVID-19作为诱饵发送Zebrocy恶意软件发起在野攻击。虽然Zebrocy最初是用Delphi(称为Delphocy)编写的,但此后已被用六种语言实现,包括AutoIT,C ++,C#,Go,Python和VB.NET。这篇文章将分享其Dropper的一个攻击案例。

    在这里插入图片描述

    在2021年3月,我们观察到了一系列针对哈萨克斯坦的攻击活动,它们使用Delphi编写的恶意软件 Delphocy 发起攻击,该恶意软件与以前的 Zebrocy 有关。被发现的Word文档据称来自哈萨克斯坦一家名为Kazchrome的公司,该公司是一家采矿和金属公司,并且是全球最大的铬矿和铁合金生产商之一。

    总体来说,我们发现了6个与这个集群相关的Delphocy Word文档,它们都包含相同的删除PE文件的VBA脚本。在这六份Word文件中,有两份似乎是来自哈萨克斯坦的受害者上传到VirusTotal的真实文件。上传的文件包含了原始文件名:

    • Авансовыйотчет(новый).doc
    • Формадокладной(служебной)записки.doc

    在这篇文章中,我们将深入研究这些样本,并分享一些其他分析师用来逆向Delphocy dropper文档的技术。我们展示了研究人员如何绕过密码保护宏,并描述了如何使用IDR(交互式Delphi重构器)反编译Delphi,以及如何使用dhrake的插件将保存的IDC文件导入Ghidra。

    我们的分析结果引导发现了更多的Zebrocy簇,提供了一组IOC和YARA检测规则,使威胁搜索程序能够在其环境中搜索和这些相关的工件。


    二.绕过VBA宏密码保护

    在使用VBA宏分析Office文档时,攻击者有许多不同的工具和技术来完成这项工作,但我已经养成了一个习惯。当我第一次开始逆向恶意软件时,在手动绕过受密码保护的宏中,我就使用了这个习惯。

    在这里插入图片描述

    步骤如下:

    • 1.打开您最喜欢的十六进制编辑器,本文使用HxD
    • 2.加载Word文档
    • 3.搜索以下文本
      CMG=
      GC=
      DPB=
    • 4.向每个添加一个x
      CMGx=
      GCx=
      DPBx=
    • 5.保存更改的文件

    在这里插入图片描述

    当打开Word文档并查看宏时,您可以看到脚本和表单。在分析函数时,最突出的地方是:

    • ert.DataType=“bin.base64”

    这表明UserForm1采用base64编码。

    在这里插入图片描述


    三.Wininition用户表单

    当选择UserForm1时,文本框将显示一个 base64 编码的字符串,这正是我们上面讨论过的函数。下一步是将整个字符串复制到一个文件中,以便对其进行解码。

    在这里插入图片描述

    现在我们通过base64解码二进制文件并将其保存为wininition.exe。

    在这里插入图片描述

    接下来,使用HxD清理头部(headers),然后使用PE-Bear修改块头部(fix the sections headers),以进入下一阶段的分析。

    在这里插入图片描述

    当对一个二进制文件进行分类时,首要工具是Hiew,它可以调查并寻找线索以便进行更深层次的理解。通过 winintion,我注意到Embarcadero字符串,这意味着这个二进制文件是用Delphi编写的。在逆向Delphi二进制文件时,我总是使用IDR(交互式Delphi重构器)。其中,IDR是一个用Delphi编写的可执行文件和动态库(DLL)的反编译器。

    在这里插入图片描述


    四.用Ghidra和dhrake逆向Delphi二进制文件

    在搜索IDR的最新进展时,我们遇到了一个很棒的 Ghidra 插件。它是一个用在Ghidra中的脚本集合,使用IDR输出到IDC的Delphi二进制文件进行逆向工程。虽然这是一年前发表的,但如果攻击者使用Ghidra,它就是一个宝藏。

    dhrake允许您将IDC文件从IDR导入Ghidra。这将导入符号名、函数签名并为Delphi类创建结构。该插件从IDR生成的IDC文件中提取并应用Delphi符号,并且试图查找Ghidra错误确定函数入口点的情况。如果您从未将插件导入Ghidra,请阅读另一篇文章。

    在这里插入图片描述

    这那篇文章中,我已经把IDC保存到一个选定的文件夹,然后将插件安装在Ghidra中,并运行提示输入IDC文件的脚本将其加载!

    在这里插入图片描述

    在这里插入图片描述

    在wininit二进制文件中,WinMain的第一个函数是 SetWindowsHookExW,这是一个钩子程序(hook procedures),用来监视系统中某些类型的事件。钩子进程的低级键盘输入事件是 WH_KEYBOARD_LL,其参数中的数字是13。该钩子是一种拦截按键事件的机制,然后将所有事件保存到一个日志文件中,并将其发送到C2。

    在这里插入图片描述

    C2使用十六进制进行模糊处理,十六进制可以转换为ascii。

    • 68747470733A2F2F7777772E786268702E636F6D2F646F6D696E61726772656174617369616E6F6479737365792F77702D636F6E74656E742F706C7567696E732F616B69736D65742F7374796C652E706870
    • hxxps://www.xbhp[.]com/dominargreatasianodyssey/wp-content/plugins/akismet/style.php
    • 68747470733A2F2F7777772E63346373612E6F72672F696E636C756465732F736F75726365732F66656C696D732E706870
    • hxxps://www.c4csa[.]org/includes/sources/felims.php

    注意:这些域名似乎是被盗用的域名。


    五.结论

    通过对这些文件的分析,我们找到了其他的Zebrocy集群。随着Zebrocy的范围不断发展,组织必须具有适当的可见性和检测能力来发现这个威胁行动者。我们希望在这篇文章中讨论的技术将有助于其他研究人员分析Delphocy droppper文档,特别是文档中有密码保护的宏。

    此外,为了阻止此类攻击,CISA建议在使用可移动媒体打开来自未知发件人的电子邮件和附件,以及扫描可疑的电子邮件附件时,请确保谨慎行事,并确保扫描附件的扩展名与文件头匹配。

    前文分享:

    2020年8月18新开的“娜璋AI安全之家”,主要围绕Python大数据分析、网络空间安全、逆向分析、APT分析报告、人工智能、Web渗透及攻防技术进行讲解,同时分享CCF、SCI、南核北核论文的算法实现。娜璋之家会更加系统,并重构作者的所有文章,从零讲解Python和安全,写了近十年文章,真心想把自己所学所感所做分享出来,还请各位多多指教,真诚邀请您的关注!谢谢。

    在这里插入图片描述

    (By:Eastmount 2021-05-07 星期五 晚上7点写于武汉 http://blog.csdn.net/eastmount/ )


    IOC指标

    Word文件

    SHA256
    3b548a851fb889d3cc84243eb8ce9cbf8a857c7d725a24408934c0d8342d5811
    1dd03c4ea4d630a59f73e053d705185e27e2e2545dd9caedb26a824ac5d11466
    1e8261104cbe4e09c19af7910f83e9545fd435483f24f60ec70c3186b98603cc
    c213b60a63da80f960e7a7344f478eb1b72cee89fd0145361a088478c51b2c0e
    2bf088955007b4f47fe9187affe65fffea234ff16596313a74958a7c85129172
    d9e7325f266eda94bfa8b8938de7b7957734041a055b49b94af0627bd119c51c
    
    SHA1
    fc0b7ad2ae9347d6d2ababe2947ffb9f7cc73030
    71b4b9f105de94090fc36d9226faaa1db6d9f3d1
    6a8f63c4491adcf2cf7f76cd1481c5647615a6c9
    a3ecf1fdc1206e9d3061530fa91775cf3d97f788
    ae01ca2cf0dc07abb3a7bef9930e38c9212975d5
    66b39f4fd1dd51c2f548330e5818f732dad0aa28
    

    VBA

    SHA256
    a442135c04dd2c9cbf26b2a85264d31a5ac4ec5d2069a7b63bc14b64a6dd82b7
    
    SHA1
    6ec4eb883752b70db134ac0f4e0d5b4a77196184
    

    Wininition

    SHA256
    ee7cfc55a49b2e9825a393a94b0baad18ef5bfced67531382e572ef8a9ecda4b
    
    SHA1
    afbdb13d8f620d0a5599cbc7a7d9ce8001ee32f1
    

    网址

    hxxps://www.xbhp[.]com/dominargreatasianodyssey/wp-content/plugins/akismet/style.php
    hxxps://www.c4csa[.]org/includes/sources/felims.php
    

    Yara Rules

    rule apt_RU_delphocy_encStrings {
      meta:
        desc = "Hex strings in Delphocy drops"
        author = "JAG-S @ SentinelLabs"
        version = "1.0"
        TLP = "White"
        last_modified = "04.09.2021"
        hash0 = "ee7cfc55a49b2e9825a393a94b0baad18ef5bfced67531382e572ef8a9ecda4b"
        hash1 = "07b2d21f4ef077ccf16935e44864b96fa039f2e88c73b518930b6048f6baad74"
    
      strings:
        $enc_keylogger2 = "5B4241434B53504143455D" ascii wide
        $enc_keylogger3 = "5B5441425D" ascii wide
        $enc_keylogger4 = "5B53484946545D" ascii wide
        $enc_keylogger5 = "5B434F4E54524F4C5D" ascii wide
        $enc_keylogger6 = "5B4553434150455D" ascii wide
        $enc_keylogger7 = "5B454E445D" ascii wide
        $enc_keylogger8 = "5B484F4D455D" ascii wide
        $enc_keylogger9 = "5B4C4546545D" ascii wide
        $enc_keylogger10 = "5B55505D" ascii wide
        $enc_keylogger11 = "5B52494748545D" ascii wide
        $enc_keylogger12 = "5B444F574E5D" ascii wide
        $enc_keylogger13 = "5B434150534C4F434B5D" ascii wide
        $cnc1 = "68747470733A2F2F7777772E786268702E636F6D2F646F6D696E61726772656174617369616E6F6479737365792F77702D636F6E74656E742F706C7567696E732F616B69736D65742F7374796C652E706870" ascii wide
        $cnc2 = "68747470733A2F2F7777772E63346373612E6F72672F696E636C756465732F736F75726365732F66656C696D732E706870" ascii wide
    
      condition:
        uint16(0) == 0x5a4d and (any of ($cnc*) or all of ($enc_keylogger*))
    }
    
    rule apt_RU_Delphocy_Maldocs {
      meta:
        desc = "Delphocy dropper docs"
        author = "JAG-S @ SentinelLabs"
        version = "1.0"
        TLP = "White"
        last_modified = "04.09.2021"
        hash1 = "3b548a851fb889d3cc84243eb8ce9cbf8a857c7d725a24408934c0d8342d5811"
        hash2 = "c213b60a63da80f960e7a7344f478eb1b72cee89fd0145361a088478c51b2c0e"
        hash3 = "d9e7325f266eda94bfa8b8938de7b7957734041a055b49b94af0627bd119c51c"
        hash4 = "1e8261104cbe4e09c19af7910f83e9545fd435483f24f60ec70c3186b98603cc"
    
      strings:
        $required1 = "_VBA_PROJECT" ascii wide
        $required2 = "Normal.dotm" ascii wide
        $required3 = "bin.base64" ascii wide
        $required4 = "ADODB.Stream$" ascii wide
        $author1 = "Dinara Tanmurzina" ascii wide
        $author2 = "Hewlett-Packard Company" ascii wide
        $specific = "Caption         =   \"\\wininition.exe\"" ascii wide
        $builder1 = "Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} UserForm1" ascii wide
        $builder2 = "{02330CFE-305D-431C-93AC-29735EB37575}{33D6B9D9-9757-485A-89F4-4F27E5959B10}" ascii wide
        $builder3 = "VersionCompatible32=\"393222000\"" ascii wide
        $builder4 = "CMG=\"1517B95BC9F7CDF7CDF3D1F3D1\"" ascii wide
        $builder5 = "DPB=\"ADAF01C301461E461EB9E2471E616F01D06093C59A7C4D30F64A51BDEDDA98EC1590C9B191FF\"" ascii wide
        $builder6 = "GC=\"4547E96B19021A021A02\"" ascii wide
    
      condition:
        uint32(0) == 0xE011CFD0 and all of ($required*) and (all of ($author*) or $specific or 5 of ($builder*))
    }
    

    参考文献:

    • [1] http://blog.nsfocus.net/windows-apt-zebrocy/
    • [2] https://www.sohu.com/a/283726515_804262
    • [3] https://www.welivesecurity.com/2019/09/24/no-summer-vacations-zebrocy/
    • [4] https://www.4hou.com/posts/x7jq
    更多相关内容
  • 这是作者新开的一个专栏,主要翻译国外知名的安全厂商APT报告文章,了解它们的安全技术,学习它们溯源APT组织的方法,希望对您有所帮助。第一篇文章主要分享Linux系统下针对性的APT攻击及技术要点,并简单总结溯源...

    这是作者新开的一个专栏,主要翻译国外知名的安全厂商APT报告文章,了解它们的安全技术,学习它们溯源APT组织的方法,希望对您有所帮助。第一篇文章主要分享Linux系统下针对性的APT攻击及技术要点,并简单总结溯源部分APT组织的方法。

    在这里插入图片描述


    关于Windows系统的APT攻击已经写了很多文章,这也许并不奇怪。由于Windows的流行,我们发现它是最适合攻击的平台。与此同时,人们普遍认为Linux是一种默认安全的操作系统,不会受到恶意代码的影响。毫无疑问,Linux并没有面临Windows系统多年来所遭遇的病毒、蠕虫和木马。但这并不意味着不存在,Linux确实也存在恶意软件——包括PHP后门(backdoors)、rootkit和exp代码(exploit code)。

    此外,数据可能会误导人。运行Linux服务器的战略重要性使它们成为各种攻击者的目标。如果攻击者能够攻击运行Linux的服务器,他们不仅可以访问存储在服务器上的数据,还可以访问连接到服务器上运行Windows或macOS的端点。同时,Linux计算机更有可能不受保护,因此这种情况很可能不会引起注意。当2014年 “心脏出血”(Heartbleed)和“Shellshock”漏洞 首次被报道时,有两个主要的担忧是,受感染的Linux服务器可能成为攻击者进入公司网络的通道,并且可以使攻击者访问敏感的公司数据。

    卡巴斯基全球研究与分析团队(GReAT)定期发布有关高级持续威胁(APT)活动的摘要,该摘要基于我们在APT私人报告中详细讨论的威胁情报研究。 在本报告中,我们重点介绍APT威胁参与者针对Linux资源的目标。



    Barium

    卡巴斯基安全团队在2013年首次撰写了有关 Winnti APT集团(又名APT41或Barium) 的文章,当时他们主要针对游戏公司以获取其财务利润。与此同时,他们扩大了自己的业务,开发了大量的新工具,并致力于更复杂的目标。

    • MESSAGETAP是该小组使用的Linux恶意软件,用于选择性地拦截来自电信运营商基础设施的SMS消息。据FireEye称,该组织在短信网关系统(SMS )上部署了这种恶意软件,作为渗透isp和电信公司以建立网络行动的一部分。
    • 该恶意软件会从网络流量中解析并提取SMS消息数据,包括短信内容、IMSI号、来源和目的地电话号,恶意软件在SMS消息内容中搜索keywordVec列表中的关键字,将IMSI编号与imsiMap列表中的编号进行比较,然后将提取的电话号码与phoneMap列表中的编号进行比较。

    在这里插入图片描述

    最近,我们发现了另一种怀疑的Barium / APT41工具,它是用编程语言Go(也被称为Golang)编写的,该工具为Linux机器实现了动态的,受C2控制的数据包破坏/网络攻击工具。虽然它是否是为系统管理任务而开发的工具或者是否是APT41工具集的一部分还不清楚,但是它提供的功能也可以通过其他系统管理工具来实现,这一事实表明其目的不好的。而且,它在磁盘上的名称相当普通,与它的功能无关,这再次表明它可能是一个用于执行某些类型的破坏性攻击的工具。更多关于这个工具的细节可以在我们的报告中找到。

    APT41溯源
    C&C、数字证书、域名、电子邮件,主要针对电子游戏公司。通过分析受感染PC的样本和行为,发现恶意代码将辅助程序ff.exe 下载到受感染计算机上的Config.Msi文件夹中,此代码在硬盘上搜索 HTML、MS Excel、MS Word、Adobe、PowerPoint和MS Works文档以及文本文件(.txt)。在ff.exe_中发现了调试行为,从而进行溯源。它们并没有立即引起注意,因为在编辑器中看起来像这样,但在进行详细分析后发现,该文本为中文简体GBK编码。同时,在恶意程序CmdPlus.dll插件的组件之一中也发现了ZW。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述



    Cloud Snooper

    2020年2月,Sophos发布了一份报告,描述了一组恶意工具,该报告将其归因于一种之前未知的威胁行为——云窥探者(Cloud Snooper)。其核心是一个面向服务器的Linux内核rootkit,该内核钩子连接netfilter流量控制功能,以支持穿越防火墙的隐蔽C2(命令和控制)通信。我们分析并描述了rootkit的用户区同伴后门,称为“Snoopy”,并能够设计检测和扫描方法来大规模识别rootkit。同时,还发现了更多的样本以及亚洲的目标服务器。我们相信这个进化的工具集可能至少从2016年就已经在开发中了。

    • 攻击者采用了独特的技术组合来逃避检测,能让恶意软件无视防火墙与C2服务器自由通信。 此次攻击虽然在AWS上发生,但并不是AWS本身的问题,攻击者滥用合法流量(例如普通Web流量)来承载C2流量,这种方法可以绕过大多防火墙的限制。该恶意软件被命名为Cloud Snooper,受感染的系统同时运行Linux和Windows EC2实例。鉴于攻击的复杂性和对APT工具的使用,该恶意软件背后的可能是APT组织团伙在运营。

    • 推荐资料:Cloud Snooper Attack Bypasses AWS Security Measures

    在这里插入图片描述
    在这里插入图片描述



    Equation

    我们在2015年发现了方程式组织(Equation Group)。这是一个非常复杂的威胁组织,可以追溯到2001年,也许早在1996年就参与了多次CNE(计算机网络利用)行动。多年来,该威胁组织与其他强大的APT团体进行了互动或合作。例如Stuxnet和Flame。

    • Equation group
    • Stuxnet
    • Flame

    该小组拥有强大的武器库,我们发现的包括:

    • EQUATIONLASER
    • EQUATIONDRUG
    • DOUBLEFANTASY
    • TRIPLEFANTASY
    • FANNY
    • GRAYFISH

    在这里插入图片描述

    方程式组织的创新不限于Windows平台,该小组的POSIX兼容代​​码库允许在其他平台上进行并行开发。2015年,我们发现了针对Linux的早期DOUBLEFANTASY恶意软件。该植入程序收集系统信息和凭证,并提供对受感染计算机的通用访问。

    在这里插入图片描述

    溯源
    Equation Group使用的其他C&C似乎早在1996年就已注册,这可能表明该组已经活跃了将近20年。该小组本身为其工具和植入物有许多代号,包括SKYHOOKCHOW、UR、KS、SF、STEALTHFIGHTER、DRINKPARSLEY和GROK等。对于一个这样的精英团体来说,这似乎令人难以置信,一位开发人员犯了一个不可原谅的错误,即在其中一个恶意软件样本中保留其用户名“ RMGREE5 ”,如工作文件夹的路径“C:\users\rmgree5\”。同时, Fann蠕虫使用的LINK漏洞(Microsoft公告MS09-025修补的漏洞)如下:

    在这里插入图片描述
    在这里插入图片描述



    HackingTeam

    HackingTeam是一家意大利信息技术公司,它向世界各地的政府、执法机构和企业出售入侵软件。不幸的是,他们在2015年遭到了黑客攻击,并遭受了一次严重的数据泄露,受害者是一位名叫菲尼亚斯·菲舍(Phineas Phisher)的活动人士。随后,包括源代码和客户信息在内的400GB被盗公司数据被泄露,使得这些工具被世界各地的攻击者获取、改造和使用,比如DancingSalome(又名Callisto)。泄露的工具包括:

    • 对Adobe Flash的0day攻击CVE-2015-5119
    • 能够提供远程访问、键盘记录、常规信息记录和过滤的复杂平台
    • 绕过流量加密直接从内存中检索Skype音频和视频帧的功能
    • RCS远程控制系统恶意软件(又名Galileo、Da Vinci、Korablin、Morcut和Crisis),包含多个组件,即Windows、macOS和Linux的桌面代理

    参考资料:Spyware. HackingTeam

    通过电子邮件发送的所有Mac OS X恶意文件都有指向名为“guido”的文件夹中文件链接,并且一个用户的linkedin.com资料表明他是HackingTeam的前开发人员,他的名字也叫Guido。

    在这里插入图片描述

    在这里插入图片描述



    Lazarus

    在2018年底,我们发现了一个以前未知的恶意框架,并在内部将其命名为MATA。该框架用于定位韩国、印度、德国和波兰的商业公司。虽然我们找不到与任何其他已知角色重叠的代码,但卡巴斯基威胁归因引擎显示出与Manuscrypt代码相似之处,它是Lazarus(又名Hidden Cobra)使用过的复杂恶意软件。与Lazarus开发的早期恶意软件一样,此框架包括Windows后门。但是,我们还发现了一个Linux变体,我们认为它是为网络设备设计的。

    • MATA框架不仅针对Windows系统,而且针对Linux和macOS系统

    在这里插入图片描述

    在这里插入图片描述

    2020年6月,我们分析了与拉撒路行动AppleJeus和TangoDaiwbo活动有关的macOS新样本,这些macOS被用于金融和间谍攻击。样本已经上传到VirusTotal,上传的文件还包括一个Linux恶意软件变种,其功能与macOS TangoDaiwbo恶意软件类似。这些样本证实了我们两年前强调的一个进展——该组织正在积极开发非Windows恶意软件。

    参考文章:MATA: Multi-platform targeted malware framework

    溯源
    MATA恶意框架与Lazarus的关联,MATA协调器使用两个唯一的文件名c_2910.cls和k_3872.cls,这些文件名以前仅在几种Manuscrypt变体中能看到,包括在US-CERT出版物中提到的样本。

    在这里插入图片描述
    此外,MATA使用全局配置数据,包括随机生成的会话ID、基于日期的版本信息、休眠间隔以及多个C2和C2服务器地址。我们已经看到Manuscrypt变体与MATA框架共享相似的配置结构。这个旧的Manuscrypt变体是一个活动的后门,它具有类似的配置数据,例如会话ID、睡眠间隔、C2地址的数量、受感染的日期和C2地址,它们不相同,但是结构相似。

    在这里插入图片描述



    Sofacy

    Sofacy(又名APT28, Fancy Bear, STRONTIUM, Sednit和Tsar团队)是一个非常活跃和高产的APT威胁行动者。从它的大量零日部署到它的创新广泛的恶意软件集合,Sofacy是我们监控的顶级组织之一。在该组织的武器装备中,有一种工具是SPLM(也被称为CHOPSTICK和XAgent),这是一种第二阶段的工具,有选择地用于对付世界各地的目标。

    多年来,Sofacy已经为多个平台开发了模块,包括在2016年被检测为“Fysbis”的Linux模块,并在Windows、macOS、iOS和Linux上看到的一致成果表明,相同的开发人员或小型核心团队正在修改和维护代码。

    在这里插入图片描述



    The Dukes

    The Dukes是一个复杂的威胁组织,最早由美国在2013年记录在案,但他们的工具被用于攻击可以追溯到2008年。该组织负责针对乌克兰、格鲁吉亚以及西方国家和目标,北约和个人。同时,该组织被认为是2016年美国MZD大会的幕后黑手。Dukes的工具集包括一套全面的恶意软件,这些恶意软件实现了相似的功能,但使用几种不同的编程语言进行了编码。该组织的恶意软件和活动包括:PinchDuke、GeminiDuke、CosmicDuke、MiniDuke、CozyDuke、OnionDuke、SeaDuke、HammerDuke和CloudDuke。其中至少有一个SeaDuke包含Linux变体。

    MiniDuke恶意软件:将使用Twitter(用户不知道)并从预制帐户中查找特定的推文,这些帐户由MiniDuke的命令和控制(C2)操作员创建,并且这些推文还维护特定的标签。标签为后门标记了加密的URL,然后URL提供对C2的访问,C2提供潜在的命令以及通过GIF文件将其他后门加密传输到系统上。

    在这里插入图片描述



    The Lamberts

    Lamberts是一个高度复杂的威胁组织,据称拥有庞大的恶意软件库,包括被动的、网络驱动的后门,模块化后门,收集工具和用于进行破坏性攻击的wipers。我们创建了一种配色方案,以区分针对全球不同受害者的各种工具的时间表。

    在这里插入图片描述

    2017年,我们发布了Lamberts家族概述,进一步的更新(GoldLambert、SilverLambert、RedLambert、BrownLambert)将提供给我们威胁情报报告的客户。各种Lamberts变体的焦点肯定是Windows,但是,我们为Windows的Green Lambert创建的签名也触发了功能与Windows版本相似的macOS变体。此外,我们还确定了针对Windows和Linux编译的SilverLambert后门示例。

    在这里插入图片描述



    Tsunami backdoor

    海啸(又名Kaiten)是一个UNIX后门,自2002年首次在野外发现以来,被多个威胁者使用。其源代码几年前就公开了,现在有70多个变种。源代码可以在各种嵌入式设备上顺畅地编译;还有针对ARM、MIPS、Sparc和思科4500/PowerPC的版本。

    海啸仍然是基于Linux的路由器、DVR和不断增加的物联网设备的威胁。2016年,Linux Mint黑客使用了Tsunami的变体,其中一个未知的威胁因素破坏了Linux Mint发行版ISO,使其包含后门。我们还观察到使用Tsunami后门以手术方式针对Linux上的许多加密货币用户。



    Turla

    Turla(又名Uroboros、Venomous Bear和Waterbug)是一个多产的俄语组织,以其秘密的渗透策略而闻名,比如利用劫持的卫星连接、在政府网站上挖洞、秘密通道后门、rootkits和欺骗策略。像其他APT组织一样,该威胁组织多年来也对其工具集进行了重大更改。直到2014年,我们看到的Turla使用的每个恶意软件样本都是针对32位或64位版本的Windows设计的。

    在这里插入图片描述

    然后在2014年12月,我们发布了有关Turla工具库中Linux组件Penguin Turla的报告。这是一个后门,不需要提升特权,即管理员或root权限。即使有人对系统的访问受到限制,后门也可以拦截传入的数据包并在保持隐身性的同时运行系统攻击者的命令。 它也很难被发现,因此,如果将其安装在受感染的服务器上,则可能会长时间不被注意。对Penguin Turla的进一步研究表明,其起源可以追溯到1990年代中期的月光迷宫行动。今年5月,来自Leonardo的研究人员发表了有关Penguin_x64的报告,这是 Penturin Turla Linux 后门的先前未记录的变体。根据此报告,我们生成了可大规模检测Penquin_x64感染主机的网络探针,使我们能够在2020年7月之前在欧洲和美国发现几十个受感染服务器。我们相信,根据GNU/Linux工具的公开文档,Turla可能已经对Penguin进行了改造,使其能够执行传统情报收集之外的操作。

    在这里插入图片描述



    Two-Sail Junk

    2020年1月,一个水坑(watering hole)被发现,该水坑利用完整的远程iOS漏洞链部署了功能丰富的植入物LightSpy。根据登陆页面的内容,该网站似乎是为XG用户设计的。目前,在我们能把这个活动和一个已知的组织联系起来之前,我们已经把这个植入物背后的威胁者命名为Two-Sail Junk。然而,尽管我们的公开报告聚焦于iOS的植入程序,但这个项目比之前想象的更广泛,它也支持Android的植入,并可能也支持Windows、Linux和MacOS的植入。

    LightSpy iOS植入组件的布局和通信如下图所示:

    在这里插入图片描述

    最初的水坑站点(hxxps://appledaily.googlephoto[.]vip/news[.]html)于2020年1月10日设计,旨在通过复制粘贴HTML来模仿XG知名报纸《苹果日报》。原始内容:

    在这里插入图片描述

    从2月18日开始,攻击者开始利用一系列不可见的iframe将潜在受害者从诱饵重定向到漏洞利用站点以及预期的合法新闻站点。

    在这里插入图片描述



    WellMess

    2020年3月,我们开始积极跟踪与恶意软件WellMess相关的新C2服务器,这意味着潜在的大规模新活动浪潮。该恶意软件最初是在2018年7月被JPCERT记录下来的,从那以后就偶尔活跃起来。有传言暗示可能与CozyDuke(又名APT29)有关,还有猜测称目前的活动主要集中在医疗保健行业,尽管我们无法证实这两种说法。

    • WellMess是一种用.NET和Go(Golang)编写的远程访问木马,可以交叉编译以与Windows和Linux兼容


    WildNeutron

    我们在2015年与Symantec的同事Morph或Butterfly一起首次发布了有关WildNeutron的信息。该群体在2012至2013年对Twitter、Microsoft、Apple和Facebook的攻击中脱颖而出,是我们所见到的最难以捉摸、最神秘和最活跃的群体之一。他们的武器库包括许多有趣且创新的工具,例如LSA后门或IIS插件,以及基于0day的部署和物理部署。毫不奇怪,在几种已知的攻击中,WildNeutron也使用了定制的Linux后门。

    溯源
    在该组织的某些样本示例中,加密的配置包括罗马尼亚语字符串,该字符串用于标记C&C通信的结束。有趣的是,“ La revedere”在罗马尼亚语中是“再见”。除此之外,我们发现了另一个非英语字符串,这是俄语单词Успешно(“ uspeshno”->“ successfully”)的拉丁语转录。执行C2命令后,将此字符串写入管道。

    在这里插入图片描述



    Zebrocy

    Zebrocy是自2015年以来一直在跟踪的自定义恶意软件。使用该恶意软件的组织最初是Sofacy的子集,但与其他APT组也有相似之处和重叠之处。该小组已经开发了多种语言的恶意软件,包括Delphi、AutoIT、.NET、C#、PowerShell和Go。Zebrocy主要针对国内和偏远地区的中亚政府相关组织。该组织广泛使用鱼叉式网络钓鱼来破坏Windows端点。但是,它的后门配置为通过端口80与IP分配的Web服务器主机直接通信。并且该小组似乎更喜欢Linux作为其基础架构的一部分,特别是在Debian Linux上运行的Apache 2.4.10。

    在这里插入图片描述



    保护Linux系统的建议

    Linux系统不受保护的主要原因之一是:对使用Linux而不是更流行(且更具针对性)的Windows会产生一种错误的安全感。尽管如此,我们希望上述所有观点足以说服您,让您开始认真地保护基于Linux的计算机。

    • 第一个建议是维护一个可信任的软件源列表
      就像Android或iOS应用推荐的方法一样——只安装官方存储库中的应用程序。在Linux世界中,我们享受更多的自由:例如,即使你在使用Ubuntu,你也不会被限制在Canonical自己的存储库中。任何.deb文件甚至GitHub的应用程序源代码,都可以为您服务。但请明智地选择这些来源。不要盲目地遵循“从我们的服务器上运行这个脚本来安装”这样的指令;或者“curl https://install-url | sudo bash”,这是一个安全噩梦。

    • 请注意从这些受信任存储库获取应用程序的安全方式
      更新应用程序的通道必须使用HTTPS或SSH协议加密。除了您对软件资源及其交付渠道的信任之外,及时地进行更新也非常重要。大多数现代Linux风格都能够为您完成这一点,但是一个简单的cron脚本将帮助您保持更多的保护,并在开发人员发布所有补丁时立即获得它们。

    • 接下来我们建议检查与网络相关的设置
      使用像“netstat -a”这样的命令,您可以过滤掉您主机上所有不必要的打开端口。请避免使用您不需要或不使用的网络应用程序来最小化您的网络占用。此外,强烈建议从您的Linux发行版适当地设置防火墙,以过滤流量并存储主机的网络活动,不直接上网也是个好主意,可以通过NAT。

    • 为了继续使用与网络相关的安全规则,建议至少使用密码保护本地存储的SSH密钥
      在更多的“偏执”模式下,您甚至可以将密钥存储在外部受保护的存储中,例如来自任何受信任供应商的令牌。在连接的服务器端,现在为SSH会话设置多因素身份验证并不难,比如发送到手机的消息或身份验证程序等其他机制。

    • 保存和分析网络活动日志
      到目前为止,我们的建议涵盖了软件来源、应用程序交付渠道、避免不必要的网络占用和加密密钥的保护。对于监视在文件系统级别找不到的威胁,我们推荐的另一个方法是保存和分析网络活动日志。您可以安装和使用带外网络tap来独立地监视和分析Linux系统的网络通信。

    • 定期监控主配置文件以及系统二进制文件的完整性,以防文件病毒
      作为威胁模型的一部分,您需要考虑这样一种可能性,即尽管有上述所有措施,攻击者仍可能破坏您的保护。根据攻击者在系统中的持久性考虑下一个保护步骤。他们可能会做出改变,以便能够在系统重启后自动启动木马。因此,您需要定期监控主配置文件以及系统二进制文件的完整性,以防文件病毒。

    • 设备的物理安全性也很重要
      如果您的笔记本电脑最终落入攻击者的手中,并且您没有采取措施保护它免受攻击,那么您对网络和系统级强化的关注程度也无关紧要。您应该考虑全盘加密和安全引导机制以实现物理安全。一种更像间谍的方法是将防篡改安全带放置在最关键的硬件上。

    • 专用Linux安全解决方案,可以简化保护任务
      网络威胁保护检测恶意和钓鱼网站;网络威胁保护检测传入流量中的网络攻击;行为分析检测恶意活动,而设备控制允许管理连接的设备并访问它们。

    • 使用Docker容器
      容器的感染是一个非常现实的问题,容器化本身并不能提供安全性。一些容器与主机之间是完全隔离的,但不是它们中存在网络和文件系统接口,并且在大多数情况下,物理世界和容器化世界之间存在桥梁。为了防止供应链攻击,可以使用容器,图像以及本地和远程存储库的On-Access扫描(OAS)和On-Demand扫描(ODS)。名称空间监视、灵活的基于掩码的扫描范围控制和扫描容器的不同层的能力有助于实施安全的开发最佳实践。

    我们把这些建议分成了合理的部分。请记住,除了应用我们提到的所有措施外,您还应该定期审计和检查所有生成的日志和任何其他消息。否则你可能会错过被打扰的迹象。最后一个想法,对于安全狂热者来说,是采取积极的措施——不时地提供系统渗透测试。



    总结

    写到这里,这篇文章就介绍完毕,主要翻译了卡巴斯基的Linux中APT攻击的报告,并融合了自己的理解及相关资料,希望这系列翻译文章对您有所帮助。学安全一年,认识了很多安全大佬和朋友,希望大家一起进步。这篇文章中如果存在一些不足,还请海涵。作者作为网络安全初学者的慢慢成长路吧!希望未来能更透彻撰写相关文章,深知自己很菜,得努力前行。

    2020年8月18新开的“娜璋AI安全之家”,主要围绕Python大数据分析、网络空间安全、人工智能、Web渗透及攻防技术进行讲解,同时分享CCF、SCI、南核北核论文的算法实现。娜璋之家会更加系统,并重构作者的所有文章,从零讲解Python和安全,写了近十年文章,真心想把自己所学所感所做分享出来,还请各位多多指教,真诚邀请您的关注!谢谢。

    在这里插入图片描述

    (By:Eastmount 2020-09-14 星期一 晚上11点写于武汉 http://blog.csdn.net/eastmount/ )

    展开全文
  • APT分析及TTPs提取1

    2022-08-03 14:47:19
    1. 常规攻击 3. 恶意软件 1. 攻击者购买拥有 2. 攻击者攻陷的 3. 使的第三平台或者服务 1. 攻击的性强,为了达到的不择段 2. 雄厚的持 3.
  • [译] APT分析报告:01.Linux系统下针对性的APT攻击概述收藏 1分类专栏:APT分析及溯源安全攻防进阶篇网络安全自学篇文章标签:网络防御安全分析报告
  • 这是作者新开的一个专栏,主要翻译国外知名的安全厂商APT报告文章,了解它们的安全技术,学习它们溯源APT组织的方法,希望对您有所帮助。前文分享了Turla新型水坑攻击后门(NetFlash和PyFlash),通过伪造Adobe ...

    这是作者新开的一个专栏,主要翻译国外知名的安全厂商APT报告文章,了解它们的安全技术,学习它们溯源APT组织的方法,希望对您有所帮助。前文分享了Turla新型水坑攻击后门(NetFlash和PyFlash),通过伪造Adobe Flash更新,欺骗受害者下载两个新型恶意软件NetFlash和PyFlash,从而实现恶意攻击。这篇文章将详细介绍Rampant Kitten攻击活动,包括Windows信息窃取程序、Android后门和电报网络钓鱼页面,这是Check Point Research机构的分析报告,非常值得大家学习。

    在这里插入图片描述


    Check Point Research揭露了伊朗实体多年来一直针对伊朗侨民和持不同政见者多年进行监视行动。尽管其他研究人员和记者先前曾报道过一些针对个人的攻击事件,但我们的调查能够将不同的攻击行动联系起来,并将它们归因于同一攻击者。

    我们发现了不同的攻击载体,包括:

    • 四种不同版本的Windows信息窃取程序,旨在窃取受害者的个人文件以及访问其电报(Telegram)桌面和KeePass帐户信息
    • Android后门从短信(SMS messages)中提取双因素验证代码,记录手机的语音环境等
    • 电报钓鱼网页,利用伪造的电报服务帐户分发

    上述工具和方法似乎主要用于对付伊朗少数MZ、FZQ组织和抵抗YD,例如:

    • 阿什拉夫营和自由营居民家庭协会(AFALR)
    • 阿塞拜疆MZ抵抗组织
    • 俾路支人

    一.初次感染

    我们首先遇到的文档名称为 “وحشت_رژیم_از_گسترش_کانونهای_شورشی.docx”,大致翻译为“当局担心GMDP的扩散”.docx。该文件的标题实际上指的是伊朗ZQ与GMDP运动之间的持续斗争。

    Mujahedin-e Khalq是一个FZF组织,其目标是使伊朗摆脱目前的地位。1986年,MEK开始建立他们的新总部,后来在Iraqi小镇哈里斯附近被称为Ashraf营地。但是,Iraqi多年的紧张局势最终导致该营地的居民被转移到一个新的、偏远的目的地——阿尔巴尼亚。

    上面的文档利用了外部模板技术,允许它从远程服务器加载文档模板,在本例中是 afalr-sharepoint[.]com。远程模块如下图所示:

    在这里插入图片描述

    出于对这个网站的好奇,我们开始探索更多关于它的信息。我们发现一些反对伊朗ZQ的账户发布推文,提到了一个非常类似的SharePoint网站,该文档中的网站很可能冒充了以下网站:

    在这里插入图片描述

    AFALR的官方网站如下图所示:

    在这里插入图片描述


    二.感染链

    当受害者打开文档并下载了远程模板后,模板中的恶意宏代码将执行一个批处理脚本,该脚本尝试从afalr-sharepoint[.]com下载并执行下一阶段的有效负载。

    在这里插入图片描述

    然后,有效负载会检查是否在受感染的计算机上安装了Telegram,如果检查有效,它将继续从其资源中提取三个额外的可执行文件。

    • BOBC3953C59DA7870
      加载器(Loader),由RunDLL执行,将主要有效载荷注入explorer.exe中
    • CO9D5A739B85C37C1
      信息窃取的有效载荷(Infostealer payload)
    • Updater.exe
      修改电报的更新程序

    三.有效载荷分析

    该恶意软件的主要功能包括:

    • 信息窃取者
      上传受害者电脑的相关电报文件,这些文件允许攻击者充分利用受害者的电报帐户;从KeePass应用程序窃取信息;上传任何它能找到的以预定义扩展名结尾的文件;记录剪贴板数据,并采取桌面屏幕截图。
    • 模块下载器
      下载并安装几个额外的模块。
    • 独特的持久性
      实现了一种基于Telegram内部更新过程的持久性机制。

    1.电报结构基础

    首先,让我们回顾一下Telegram Desktop如何组织其文件。以下是一个普通的电报文件结构,通常可以在 %APPDATA%\Roaming\Telegram Desktop 路径找到。

    在这里插入图片描述

    如上所述,在感染链期间,有几个文件被拖放到Telegram工作目录中。删除的文件位于一个名为03A4B68E98C17164s的目录中,由于是一个定制的 Desktop.ini文件,所以第一眼看上去像一个文件,但它实际上是一个目录。受感染的Telegram Desktop目录如下图所示。

    在这里插入图片描述


    2.配置

    有效负载的一个资源包含编码的配置数据。编码方案使用常规的Base64算法,但是使用自定义索引表为:

    • eBaEFGHOQRS789TUYZdCfPbDIJ+/KLMNwxyzquv0op123VWXghijmnkl45rst6Ac

    对该资源进行解码可为我们提供以下配置信息:

    在这里插入图片描述


    3.C&C沟通

    该恶意软件使用SOAP进行通信。SOAP是用于Web服务通信的基于XML的简单数据结构。SOAP Web服务的API是公开的,可以从以下浏览器访问网站来观察。C&C网站中的SOAP API如下图所示:

    在这里插入图片描述

    消息(命令)可以分为以下几类:

    • 身份认证
      HelloWorld:身份认证消息
    • 模块下载器
      DownloadFileSize:检查是否应该下载模块
      DownloadFile:从远程服务器下载模块
    • 数据渗漏
      UploadFileExist:检查是否已上传特定的受害者文件
      UploadFile:上传一个特定的受害者文件

    (1) 身份认证
    有效通信隧道的第一条消息应该是HelloWorld,它实现了简单的用户名/密码身份验证。凭证在示例中进行了硬编码,并且该消息的SOAP响应包含一个会话ID,该会话ID必须用于其余的会话。

    (2) 模块下载器
    该程序尝试获取其当前模块的更新,并下载几个其他模块。一些额外的确实模块无法获取,包括:

    • D07C9D5A79B85C331.dll
    • EO333A57C7C97CDF1
    • EO3A7C3397CDF57C1

    (3) 数据渗漏
    该恶意软件的核心功能是从目标设备中窃取尽可能多的信息。有效负载针对两个主要应用程序:Telegram Desktop和著名的密码管理器KeePass。

    一旦相关的Telegram桌面和KeePass的文件已被上传,恶意软件就会列举在受害者电脑上找到具有以下扩展名的相关文件:

    • .txt;.csv;.kdbx;.xls;.xlsx;.ppt;.pptx;

    对于每个这样的文件,恶意软件在将其编码为base64后将其上传。


    4.持久性

    该恶意软件使用一种独特的持久性方法,该方法与电报更新过程相关联。它将定期将Telegram主可执行文件复制到中 Telegram Desktop\tupdates,一旦电报应用程序启动,就会触发一个更新程序。该恶意软件的持久性方法的一个隐藏技巧是更改默认的Telegram更新器文件 Telegram Desktop\Updater.exe,其中包含已删除的有效载荷之一(具体的是CO79B3A985C5C7D30)。该更新程序最显着的更新是再次运行有效负载,其中Telegram更新程序运行主要有效负载如下图所示。

    在这里插入图片描述


    四.基础设施和连接

    在分析了有效载荷之后,我们能够追溯到2014年的多种变体,这表明这种攻击已经酝酿了多年。由相同攻击者开发的恶意软件变体之间常常会有细微的差异,尤其是在相同的时间范围内使用它们时。但是,在这种情况下,我们注意到,虽然某些变体是同时使用的,但它们是用不同的编程语言编写的,利用了多种通信协议,并不总是窃取相同类型的信息。

    在下表中,我们列出了发现的变体并突出了它们的独特特征。请参阅下面的技术附录,了解关于每种变体的详细信息。

    在这里插入图片描述

    相关样本还揭示了更多的C&C服务器,通过查找它们的被动DNS信息和其他元数据,我们可以找到由同一攻击者操作的相似域。事实证明,某些域名出现在恶意Android应用程序和网络钓鱼页面中,从而暴露了该操作的更多层次信息。下图为恶意基础架构的Maltego图。

    在这里插入图片描述


    五.Android后门

    在我们的调查过程中,还发现了与相同威胁参与者有关联的恶意Android应用程序。该应用程序伪装成一种服务,以帮助在瑞典说波斯语的人获得驾照的服务。我们已经找到了同一应用程序的两个不同变体,一个似乎是为了测试而编译的,另一个是要在目标设备上部署的发行版。Android应用程序的主界面如下图所示。

    在这里插入图片描述

    此Android后门包含以下功能:

    • 窃取现有的SMS消息
    • 向攻击者控制的C&C服务器提供的电话号码转发两因素认证短信
    • 检索个人信息,例如联系人和帐户详细信息
    • 启动电话周围环境的录音
    • 执行Google帐户网络钓鱼
    • 检索设备信息,如已安装的应用程序和正在运行的进程

    有关此应用程序的详细信息,请参阅下面的技术附录。


    六.电报网络钓鱼

    这些后门并不是攻击者试图窃取有关Telegram帐户信息的唯一方法。与该恶意活动相关的某些网站还托管了仿冒Telegram的网络钓鱼页面,如下图所示。

    在这里插入图片描述

    令人惊讶的是,几个伊朗电报频道实际上已经发出了针对这些钓鱼网站的警告,并声称伊朗ZQ是他们的幕后黑手。针对网络钓鱼尝试的翻译后的消息警告如下图所示。

    在这里插入图片描述

    根据这些频道,钓鱼信息是由电报机器人发送的。这些信息警告收件人,他们正在不当使用Telegram的服务,如果他们不进入钓鱼链接,他们的账户将被封掉。

    在这里插入图片描述

    另一个Telegram频道提供了钓鱼企图的截图,显示攻击者建立了一个冒充官方Telegram的账户。最初,攻击者在新的Telegram更新中发送了有关这些功能的消息,使其显得合法。网络钓鱼消息仅在5天后发送,并指向https://telegramreport[.]me/active(与上面图相同的域)。下图展示了从假电报帐户发送的网络钓鱼消息。

    在这里插入图片描述


    七.有效载荷传递

    尽管在某些情况下我们无法确定恶意文件如何到达受害者,但我们收集了一些有关攻击者分发恶意软件方式的潜在线索。例如,访问 mailgoogle[.]info 表明它模拟 ozvdarozv[.]com 并推广了一种软件,以增加Telegram频道中的成员数量。mailgoogle[.]info下载页面如下图所示。

    在这里插入图片描述

    但是,在单击“下载”后,一个名为 Ozvdarozv-Windows.rar 的有密码保护的文档就会被下载,其包含一种恶意软件变种。

    2018年一篇被删除的博客文章指控一名网络安全专家剽窃,当时他在接受阿拉比亚新闻频道采访,讨论伊朗的网络攻击。我们相信这个页面是针对此人或他的同伙的有针对性的攻击的一部分。这个博客包含了一个链接,可以下载一个有密码保护的档案,其中包含了来自 endpload [.]com 的抄袭证据。

    endupload[.]com 通过几个被动DNS跃点连接到上述PC和Android操作,包括通过历史DNS服务器信息直接连接到 mailgoogle[.]info 域名。我们不仅没有发现在合法环境中使用过该域名的任何实例,而且还发现了该域名已被波斯语黑客注册的证据。请参见下面的“归因”部分,已删除的博客文章及其链接 endupload[.]com 如下图所示。

    在这里插入图片描述

    与2012年不同的博客文章讨论了伊朗人权活动家协会附属新闻机构HRANA的侵犯人权行为报告。再次,此博客引用了可以从endupload[.]com以下网站下载的文档:

    2012年的另一篇博客文章则讨论了伊朗RQ活动人士协会(Iranian Association of human rights Activists)下属新闻机构HRANA发布的一篇报告。同样,这个博客引用了一个可以从 endpload [.]com 下载的文档。下图展示了博客中带有指向 endupload [.] com 的链接。

    在这里插入图片描述

    不幸的是,我们无法获得两个博客条目所指的文件,也无法确认它们是否是恶意的。但是,似乎 endupload[.]com 已经由攻击者控制了多年,因为与此攻击有关的一些恶意样本(可追溯到2014年)已与该网站进行了通信。


    八.溯源

    尽管我们发现多年来在此攻击中使用过的许多文件和网站,但它们并未归因于特定的威胁组织或实体。但是,威胁攻击者留在恶意事件中的一些指纹使我们可以更好地了解攻击可能来自何处。

    1.攻击起源

    首先,某些恶意网站的WHOIS信息表明,它们据称是由伊朗个人注册的。下图展示了 endupload[.]com 和 picfile[.]net 的WHOIS信息。

    在这里插入图片描述

    WHOIS记录了 endpload[.]com 还提到一个电子邮件地址,nobody.gu3st@gmail[.]com。显然,该网站的注册用户在网上非常活跃,因为查询的用户名是“nobody.gu3st ”,我们可以在伊朗黑客论坛上看到关于他的许多帖子。

    在这里插入图片描述

    2.目标

    我们观察到的目标清单反映了伊朗内部的一些斗争和这次Xi击背后的动机。精心挑选的目标包括SZ组织和阿塞拜疆组织的支持者,这两个著名的抵抗运动提倡JF伊朗人民和伊朗境内的少数MZ。

    在这里插入图片描述

    这些运动与伊朗当局之间的意识形态CT使它们成为这种Xi击的自然目标,因为它们与该ZQ的目标相吻合。此外,后门的功能以及窃取敏感文件、访问KeePass和Telegram账户的重点表明,攻击者对收集受害者的情报、了解他们的更多活动很感兴趣。


    九.结论

    追踪这次攻击的踪迹可以发现,这次大规模行动在很大程度上成功地隐藏了至少6年。根据我们收集到的证据,这些似乎来自伊朗的攻击者利用多种攻击载体暗中监视他们的受害者及其个人电脑和移动设备。

    由于我们确认的大多数目标都是伊朗人,这可能是伊朗攻击者正在收集关于该组织潜在对手的情报。SandBlast Mobile可提供实时威胁情报和对移动威胁的可见性,防止受到恶意软件、网络钓鱼、中间人攻击、操作系统攻击等的侵害。Check Point的反网络钓鱼解决方案包括针对网络钓鱼攻击的所有攻击媒介的产品,包括电子邮件、移动电话、端点和网络。


    十.技术附录——PC后门变异分析

    1.TelB变体

    “ TelB”是我们遇到的最新变体,其分析如上所示。我们之所以这样命名是因为下一个调试字符串:

    • D:\Aslan\Delphi\TelB\BMainWork\SynCryptoEN.pas

    2.TelAndExt变体

    此变体可能是“ TelB”的旧版本,主要在2019年和2020年期间活跃。它与新版本共享以下特性和技术:

    • 在Delphi中开发
    • 与“TelB”变体共享大量代码
    • 专注于Telegram Desktop应用程序
    • 类似的持久化和更新方法
    • 使用FTP而不是SOAP进行数据溢出

    我们将此变体命名为“TelAndExt”,因为下一个调试字符串为:

    • D:\Aslan\Delphi\TelAndExt\TelegramUpdater\SynCryptoEN.pas

    3.Python信息窃取变体分析

    我们发现了一些使用以下方法的样本:

    • 两层SFX(自解压存档),可提取多个.bat / .vbs / .nfs / .conf文件
    • 通过将可执行文件(以结尾.nfs)复制到
      %appdata%\Microsoft\Windows\Start Menu\Programs\Startup\audio-driver.exe
    • 可执行文件的名称为speaker-audio.exe或keyboard-EN.exe,具体取决于示例
    • 该可执行文件是使用Pyinstaller创建的
    • 下载名为net-update.exe的第二阶段有效负载
    • 在上传之前,使用带有硬编码密码的库pyAesCrypt对数据进行加密

    根据我们的分析,该变体在信息窃取方面,使用硬编码的凭据与FTP服务器通信,并窃取以下数据:

    • 电报桌面应用程序相关文件
    • Paltalk NG应用程序相关文件
    • Chrome、Firefox和Edge的相关数据
    • 以给定配置中列出的扩展名结尾的任何文件。如果未提供任何配置,它将搜索具有以下扩展名的文件:.txt;.docx;.doc;.exe;.jpg;.html;.zip;.pdf

    同时,在调查过程中,我们看到了几个Python信息窃取器,它们与同一个FTP服务器通信,但是将窃取的信息以不同的别名存储在不同的页面中。我们怀疑这是恶意软件作者的操作方式:

    • 选择一个目标,并在FTP服务器中为它们创建一个指定的文件夹
    • 使用针对数据上传的唯一AES密钥和FTP凭证构建针对目标定制的样本
    • 通过感染链载体之一提供武器化的可执行文件

    第二阶段有效负载HookInjEx:其核心功能之一是获取第二阶段的有效负载。如果指定的FTP文件夹包含名为 net-update.exe 的文件,则它将下载并执行该文件。我们分析了其中的几个net-update.exe样本,发现与下面的“HookInjEx”变体完全重叠,从而使其成为有针对性的高级有效负载。


    4.HookInjEx变体

    该变体自2014年以来一直在使用,并具有32位和64位版本。随着时间的流逝,该变体不断演变并添加了一些功能,同时还更改了其感染链中不同组件的名称。我们发现了两种主要的感染链:

    • SFX(自解压存档)包含所有组件。它将所有这些文件放入一个文件夹,然后执行主加载程序 DrvUpdt.exe(ehtmlh.exe在旧版本中)。
    • 伪造的SCR文件充当可执行文件。为了看起来像合法的SCR文件,加载程序包含一个诱饵 JPEG / PPTX / DOC文件作为资源(Resource_1),该文件在运行时加载。

    SCR文件还将其他有效载荷作为其资源删除,并使用命令行运行主加载程序:

    cmd.exe /C choice /C Y /N /D Y /T 3 & 
    "%APPDATA%\\Microsoft\\Windows\\Device\\DrvUpdt.exe" -pSDF32fsj8979_)$
    

    恶意SCR打开诱饵JPG资源如下图所示:

    在这里插入图片描述

    该变体在挂钩和注入(Hooking and Injection)方面,主加载程序使用称为“HookInjEx”的挂钩和注入方法。该方法将DLL映射到explorer.exe,在其中将Start按钮子类化。在我们的示例中,加载的DLL是DrvUpdtd.dll(dhtmlh.dll在较早的版本中)。

    在新版本中,该恶意软件还会以其他语言挂起“Start”按钮。不同语言的存在可能表明它的受害者来自世界各地的国家。不同的翻译是:

    在这里插入图片描述

    该恶意软件从一个名为Devinf.asd的文件接收其配置。asd(在旧版本中命名为file2.asd)。配置被解密并写入一个名为Drvcnf的新文件。asd(旧版本中命名为file3.asd)。加密方法为:

    该恶意软件从一个名为的文件Devinf.asd(在较早的版本中名为file2.asd)接收配置。解密配置并将其写入名为Drvcnf.asd的新文件(在旧版本中名为file3.asd)。加密方法为:

    def decode(content):
        dec_array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 
        0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 
        0x16, 0x17, 0x18, 0x19, 0x1a,0x1b, 0x1c, 0x1d, 
        0x1e, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 
        0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 
        0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 
        0x38, 0x39,0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 
        0x40, 0x41, 0x42, 0x43, 0x44]
        output_str = ''
        known_values = [9, 10, 13, 32]
        for j in range(len(content)):
            int_cur_content = ord(content[j])
            cur_byte = 0
            for i in range(62):
                if int_cur_content == dec_array[i]:
                    if i < 26:
                        cur_byte = i + 0x61
                    elif 26 <= i < 52:
                        cur_byte = i + 0x27
                    elif 52 <= i < 62:
                        cur_byte = i - 0x4
                    output_str += (chr(cur_byte))
                    break
            if cur_byte == 0:
                if int_cur_content in known_values:
                    cur_byte = int_cur_content
                elif int_cur_content - 0x61 <= 0xe:
                    cur_byte = int_cur_content - 0x40
                elif int_cur_content - 0x70 <= 0x6:
                    cur_byte = int_cur_content - 0x36
                elif int_cur_content - 0x77 <= 0x5:
                    cur_byte = int_cur_content - 0x1c
                elif int_cur_content - 0x53 <= 0x3:
                    cur_byte = int_cur_content + 0x28
                output_str += (chr(cur_byte))
        return output_str
    

    解密配置后,恶意软件会解析这些值并将其放入全局变量中。

    <Reg></Reg> - Registry key for persistence
    <Pre></Pre> - pre value for info files to send
    <Pas></Pas> - extensions for info files to send
    <Path_Log></Path_Log> - log path direcory
    <L_s></L_s> - minimum size for file to send
    <S_n></S_n> - FTP domain
    <F_k></F_k> - FTP User value
    <F_R></F_R> - FTP Password value
    <Ver></Ver> - version
    <U_u2></U_u2> - Downloads updates URL
    <U_u1></U_u1> -  Downloads updates URL
    <F_f></F_f> - Directory in ftp connection.
    <U_t></U_t> - timer_1
    <S_t></S_t> - timer_2
    <S_q></S_q> - timer_3
    <U_u3></U_u3> - Downloads updates URL
    <El></El> - value for encryption method to files
    <Ez></Ez> - value for encryption method to files
    <F_n></F_n> - Fake name
    <E_dt></E_dt>
    <E_dy></E_dy>
    <Snd_P></Snd_P> - Value to choose name template for info files to send.
    <Mlt></Mlt> - flag for exeucting again from different place.
    <Ws1></Ws1> - WHOIS first URL
    <Ws2></Ws2> - WHOIS second URL
    <Ws3></Ws3> - WHOIS third URL
    <S_li></S_li>
    <RTL></RTL>
    <SHttpR></SHttpR> - value to download using computer-name and username
    <OPP></OPP> - Opera gather data flag
    <FIP></FIP> - Firefox gather data flag
    <CHP></CHP> - Chrome gather data flag
    <WHP></WHP> - WHOIS flag
    <TRP></TRP> - tracert flag
    <FRC></FRC> - number of tries
    <Clipfp></Clipfp> - clipboard data flag of CF_HDROP (CLB-f.jpg)
    <Cliptp></Cliptp> - clipboard data flag of text, unicode, oemtext and locale (clb-t.jpg)
    <Clipip></Clipip> - clipboard data flag of bitmap and dib (clb-p.jpg)
    

    在持久化方面:
    该恶意软件将< Reg >配置文件值中的注册表项(几乎总是注册表项RunOnce)设置为以下值,它将名称设置为SunJavaHtml或DevNicJava,其值为DrvUpdt.exe 11。这样恶意软件就知道它已经被执行了。在旧版本中,该恶意软件用来删除名为rreegg.exe或Capdev.exe的文件。该文件被添加到RunOnce中,然后依次执行DrvUpdt.exe 11。

    在信息窃取方面:
    该恶意软件的主要功能是从受害者的计算机中窃取信息,然后使用FTP将其发送到C2。该恶意软件窃取了不同类型的数据:

    • Opera / Chrome / Firefox登录数据
    • Firefox信息:配置文件,密钥和数据库文件
    • tracert www.google.com的输出
    • WHOIS信息(基于< Ws1 >值)
    • 前台窗口的屏幕截图和标题
    • 一分钟的波形音频记录
    • 来自可移动驱动程序的文件。文件类型基于文件中的< cpy >标记Devufl1.tmp(winufl1.tmp在旧版本中)。在某些版本中,该逻辑是在名为的文件中实现的uflscan.exe
    • 有趣的是,如果驱动程序的名字是以下内容之一:A65RT52WE3F、09353536557 或 transcend20276,恶意软件就会终止线程。我们认为它是一个调试代码,它的目的是防止恶意软件从作者的电脑收集文件
    • 来自其他驱动器的基于Devufl2.tmp(旧版本为winufl2.tmp)文件中的标记的文件
    • 键盘日志和剪贴板数据从各种格式。包括拖放、CF_HDROP、CF_UNICODETEXT、虚拟键代码、CF_OEMTEXT、CF_LOCALE、CF_BITMAP和CF_DIB。
    • 使用webcam捕获(旧版本的tcwin.exe)
    • 自2018Telegram桌面数据

    下图为带有硬编码可移动驱动程序的调试代码。

    在这里插入图片描述

    在C2通讯方面:
    此变体使用FTP协议将文件上传到其C2域。FTP域位于< S_n >标记内的配置文件中。

    • 该连接首先使用配置文件中的密码和用户名进行身份验证
    • 然后该恶意软件根据< F_f >标记和其中的子目录及其之前生成的用户ID,创建一个目录。用户ID根据写入文件中的网络适配器的信息生成的Mcdata.dat(PAdata.dat在较早的版本中)。
    • 之后,连接TYPE I和PASV命令继续进行,然后再使用命令存储文件STOR

    该变体还与其他域联系以更新其不同组件。域被放置在配置文件内< U_U1 >,< U_U2 >和< U_U3 >标签。使用 URLDownloadToFileW 从给定的URL下载文件,这些文件user_id包含在URL中。

    在字符串混淆方面:
    在较新版本(自2018年起)中,使用以下脚本对字符串进行加密:

    buf_1 = 'qweyuip[];lkjhgdszcm,.><MNBVCXZ|ASDFGHJK:}{POIUYTREWQ123456789-=+_)(*&^%$#@!'
    buf_2 = '!#$%&()*+,-.123456789:;<=>@ABCDEFGHIJKMNOPQRSTUVWXYZ[]^_cdeghijklmpqsuwyz{|}'
    input_str = "" # The encrypted string
    output_str = ''
    for i in range(len(input_str)):
          cur_byte = input_str[i]
          place = buf_2.find(cur_byte)
          if place == -1:
                output_str += cur_byte
                continue
          new_byte = buf_1[place]
          output_str += new_byte
    print(output_str)
    

    十一.技术附录——Android后门分析

    第一个活动是MainActivity,它负责向用户提供诱饵内容并请求执行特权活动的权限。它还启动一个名为MainService的后台服务,并在服务器发送命令时启动第二个MainActivityFake (GmailActivity)。下图展示了要求用户允许一组权限。

    在这里插入图片描述

    1.数据采集

    一旦GmailActivity启动MainService,它将负责以下任务:计时器注册、配置监视、显示虚假通知(如下所述)和敏感数据收集。在此初始数据收集过程中,将读取并准备以下信息:

    • 已安装的应用程序列表
    • 账户信息
    • 短信
    • 联系人信息

    从C&C服务器收到命令后,其余信息将按需收集:

    • 录音–默认情况下为30秒录音
    • Google凭据-服务器触发身份验证网络钓鱼尝试

    2.Google凭据盗窃

    在收到正确的命令从C&C服务器,谷歌登录页面将显示给受害者,通过激活MainActivityFake (GmailActivity)。Google登录页面如下图所示:

    在这里插入图片描述

    此时,用户会看到一个合法的 accounts.google.com 登录页面,位于Android的WebView中。为了窃取输入的凭证,使用了Android的JavascriptInterface,以及一个定时从用户名和密码输入字段中检索信息的计时器。定期检索Google帐户凭据代码如下图所示:

    在这里插入图片描述


    3.“已启用Google保护”

    如前所述,它的核心功能之一是打开麦克风并记录周围环境。为了实时实现这一目标,应用程序需要在后台运行其服务。任何想要执行此类操作的Android应用程序都需要向用户发布一个正在进行的通知,提醒用户设备上有未启动的活动。为了规避这个问题,恶意软件开发者选择向用户显示一个“谷歌保护已启用”的假通知。下图展示了应用程序显示虚假通知。

    在这里插入图片描述

    结果是伪装成“ Google保护”的永远在线的诱饵通知。

    在这里插入图片描述


    4.C&C

    该恶意软件使用常规的HTTP与C&C服务器通信。它将初始请求发送给alarabiye[.]net,并继续与gradleservice[.]info通信以获得配置、命令和状态更新信息。为了上传所有敏感信息,该恶意软件使用带有硬编码凭证的FTPS。

    在这里插入图片描述

    此外,在将敏感文件上传到FTP服务器之前,它会使用AES算法以及预先配置的密码对它们进行加密,AES加密代码如下。

    在这里插入图片描述

    5.短信渗透

    此恶意应用程序的独特功能之一是将前缀为G-(谷歌双因素身份验证码的前缀)的短信转发到它从C&C服务器接收到的电话号码。此外,所有来自Telegram等社交网络应用的短信也会自动发送到攻击者的电话号码。

    在我们的分析过程中,很明显这个恶意应用程序仍在积极开发中,各种资产和功能要么是以前操作的遗留,要么是尚未使用。其中一个未使用的网络钓鱼资产甚至包含一个预先输入的用户名,可能是攻击者先前操作的目标。未使用的网络钓鱼HTML资产和位置跟踪代码如下图所示。

    在这里插入图片描述

    在这里插入图片描述


    十二.相关指标及总结

    网络钓鱼

    • telegramreport[.]me
    • telegramco[.]org
    • telegrambots[.]me
    • mailgoogle.info

    安卓C&C服务器

    • gradleservice[.]info
    • alarabiye[.]net

    文件的MD5

    • 4ae3654b7ed172b0273e7c7448b0c23c
    • ca154dfd01b578b84c0ec59af059fb62

    文件的SHA-1

    • f3a4feedd4f62702c65b037a91bd8332d9518c08
    • 735f761462443deff23dde5b76746b7ab0ceaf71

    文件的SHA-256

    • 24e5b2967437dbc1866df3ac1bf776a4960a5a56676b48bb9a143e62849a43d2
    • 881ab44385541ac7cd0f3279ba4fb8519df07d529456c9e34074787ebb33f658

    TelB变体C&C服务器

    • afalr-sharepoint [.] com
    • afalr-onedrive [.] com

    后门的MD5

    • 315e6338bf9c9bcbe3d5af0482f51dfd

    后门的SHA-1

    • 8b00d62a5c03efa76dfca8bd8c95c969167f83ee

    后门的SHA-256

    • a713a2749e9791243a89471a2603bf1f32ec11c9179771ca46fb5583b8412cb0

    最后希望这篇文章对您有所帮助,更多指标推荐大家阅读原文。非常感谢大家的祝福和关心,希望早些时候带思远去珞珈山看看,如果以后他能考上就更好了,哈哈。爸爸即将返校奋斗,希望宝宝和女神都健健康康、开开心心。敏而多思,宁静致远。无思远人,劳心忉忉。爱你们喔回去后得更加努力,脚踏实地,当然最重要的还有远方和你们,晚安娜~

    在这里插入图片描述

    前文分享:

    2020年8月18新开的“娜璋AI安全之家”,主要围绕Python大数据分析、网络空间安全、逆向分析、APT分析报告、人工智能、Web渗透及攻防技术进行讲解,同时分享CCF、SCI、南核北核论文的算法实现。娜璋之家会更加系统,并重构作者的所有文章,从零讲解Python和安全,写了近十年文章,真心想把自己所学所感所做分享出来,还请各位多多指教,真诚邀请您的关注!谢谢。

    在这里插入图片描述

    (By:Eastmount 2020-11-09 星期一 晚上10点写于贵阳 http://blog.csdn.net/eastmount/ )

    展开全文
  • 1.键盘记录插件 2.过程监控器插件 1.文件结构 3.Loader组件 1.键盘记录插件 2.过程监控器插件
  • 1.恶意软件概述 2.配置(Configuration) 3.混淆(Obfuscation) 4.C&C服务器通信 5.下载模块 6.横向移动 1.BLINDI
  • 这是作者新开的一个专栏,主要翻译国外知名安全厂商的APT...个人感觉这篇文章应该是韩国或日本安全人员撰写,整体分析的深度距安全大厂(FireEye、卡巴斯基、360)的APT分析报告还有差距,但文章内容也值得我们学习。

    这是作者新开的一个专栏,主要翻译国外知名安全厂商的APT报告,了解它们的安全技术,学习它们溯源APT组织的方法,希望对您有所帮助。前文分享了Rampant Kitten攻击活动,包括Windows信息窃取程序、Android后门和电报网络钓鱼页面。这篇文章将介绍APT组织拉撒路(Lazarus)使用的两款恶意软件,并进行详细分析。个人感觉这篇文章应该是韩国或日本安全人员撰写,整体分析的深度距安全大厂(FireEye、卡巴斯基、360)的APT分析报告还有差距,但文章内容也值得我们学习。

    在这里插入图片描述


    一.网络入侵后的恶意软件

    JPCERT/CC 观察到Lazarus(也称为“隐藏眼镜蛇”)针对日本组织的攻击活动,入侵前后使用了不同类型的恶意软件。第一款工具将介绍网络入侵后使用的一种恶意软件。

    Lazarus(T-APT-15)组织是来自朝鲜的APT组织,该组织长期对韩国、美国进行渗透攻击,此外还对全球的金融机构进行攻击,堪称全球金融机构的最大威胁。该组织最早的攻击活动可以追溯到2007年。据国外安全公司的调查显示,Lazarus组织与2014 年索尼影业遭黑客攻击事件,2016年孟加拉国银行数据泄露事件,2017年美国GF承包商、美国能源部门及英国、韩国等比特币交易所被攻击等事件有关。而2017年席卷全球的最臭名昭著的安全事件“Wannacry”勒索病毒也被怀疑是该组织所为。

    1.恶意软件概述

    该恶意软件下载及执行模块如下。它以 .drv 文件的形式保存在 C:\Windows\System32 文件夹中,并作为服务运行。使用VMProtect将其混淆,文件末尾包含一些不必要的数据,使文件大小增加到约150MB。图1显示了恶意软件运行前的事件流。

    在这里插入图片描述

    以下各部分将说明有关恶意软件的详细信息,包括配置、通信格式和模块。


    2.配置(Configuration)

    恶意软件的配置(大小0x6DE)被加密并存储在注册表项中,并在执行时加载。在此分析中,已确认配置存储在以下目录中:

    • Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\eventlog\Application
    • Value: Emulate

    图2是一个解码配置示例,它包含一个加密密钥以及C&C服务器的信息。(详见附录A)

    在这里插入图片描述


    3.混淆(Obfuscation)

    恶意软件中的所有字符串均使用AES128加密,加密密钥被硬编码在恶意软件中。图3是加密密钥的示例,由于恶意软件将16个字母的字符串转换为宽字符(32个字节),因此只有前16个字节被用作密钥。

    在这里插入图片描述

    Windows API名称也经过AES加密。在解密API字符串后,将解析由LoadLibrary和GetProcAddress调用的API的地址。

    在这里插入图片描述


    4.C&C服务器通信

    以下是恶意软件首先发送的HTTP POST请求示例。

    在这里插入图片描述

    POST数据的参数([param])是从以下随机选择的。

    • tname;blogdata;content;thesis;method;bbs;level;maincode;tab;idx;tb;isbn;entry;doc;category;articles;portal;notice;product;themes;manual;parent;slide;vacon;tag;tistory;property;course;plugin

    POST数据中的值是以下数据的Base64编码的字符串。

    • [default AES Key]@[Unique ID]

    如果从C&C服务器返回一个与Cookie(Base64编码)中的“ 4位认证密钥”相同的值作为响应,则该恶意软件将发送以下信息。第二次通信后,恶意软件发送以下HTTP POST请求。

    在这里插入图片描述

    POST数据的参数是从上述列表中随机选择的。POST数据包含两条信息,“Data1”包含命令,而“Data2”包含命令执行的结果和其他附加数据(详细信息请参见附录B)。响应数据的格式与请求相同,但缺少参数。响应数据经过AES加密,然后像POST数据一样进行Base64编码。区别在于“+”号被一个空格代替。

    图5是从与C&C服务器通信开始到下载模块的通信流程。在第二次通信中,恶意软件发送一个新的AES密钥,该密钥对随后的通信进行加密。

    在这里插入图片描述

    在第三次通讯时,将下载一个模块(Module)。以下是下载模块时来自C&C服务器的响应示例。

    在这里插入图片描述


    5.下载模块

    模块下载成功后,它将执行如从C&C服务器接收命令的主要功能。恶意软件提供了包括C&C服务器和加密密钥的信息作为参数,下载的模块经过UPX加密,如图6所示。

    在这里插入图片描述

    通信以与前面提到的几乎相同的格式执行。经确认,该模块具有以下功能:

    • 对文件的操作(创建列表、删除、复制、修改创建的时间)
    • 对进程的操作(创建列表、执行、终止)
    • 上传/下载文件
    • 创建并上传任意目录的ZIP文件
    • 执行任意shell命令
    • 获取磁盘信息
    • 修改系统时间

    6.横向移动

    为了横向移动,在通过Pyinstaller将其转换为Windows PE文件后,使用了SMBMap这个Python工具。该工具允许通过SMB访问远程主机,攻击者通过利用事先获得的帐户信息来横向传播感染。

    在这里插入图片描述

    Lazarus的活动已经被许多不同的组织都报告过,并且在多个国家都发生了攻击。在日本也有可能继续观察到类似的情况。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述



    二.恶意软件BLINDINGCAN

    在上一部分,我们介绍了Lazarus在网络入侵后使用的一种恶意软件。可以肯定的是,该组织使用了多种类型的恶意软件,其中包括CISA最近在其报告中引入的BLINDINGCAN。接下来我们分析BLINDINGCAN的攻击流程。

    1.BLINDINGCAN概述

    当加载程序加载DLL文件时,恶意软件就会运行。图1显示了BLINDINGCAN运行之前的事件流。JPCERT/CC 已确认DLL文件已在某些示例中编码(这需要在执行前由加载程序进行解码)。

    在这里插入图片描述

    BLINDINGCAN与上述恶意软件有一些相似之处,包括其功能和通信编码算法。下面的部分将解释它的配置和通信协议。


    2.配置(Configuration)

    BLINDINGCAN的配置(大小0xA84)主要存储在以下位置中:

    • 硬编码在恶意软件本身中
    • 存储在注册表项中
    • 保存为文件

    如果将其保存为文件,则将其存储在BLINDINGCAN所在的文件夹中。我们已经确认,如果配置存储在注册表项中,则使用以下目录。

    • Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
    • Value: “SM_Dev16[numeric string]”

    配置使用XOR编码、AES或RC4进行加密。加密密钥是固定的,也可以根据受感染设备的环境生成。JPCERT/CC 已确认以下加密密钥模式:

    • [File name][Export function name][Service name]
    • [CPUID][Computer name][Processor name][Physical memory size]

    下图显示了解码配置的示例。这包括代理信息以及C&C服务器信息。(详细信息请参阅附录)

    在这里插入图片描述


    3.混淆(Obfuscation)

    BLINDINGCAN中的某些代码部分使用RC4进行了混淆。下图是混淆代码的示例。RC4加密密钥在示例本身中进行了硬编码。

    在这里插入图片描述


    4.C&C服务器通信

    下面是BLINDINGCAN最初发送的HTTP POST请求数据示例。

    在这里插入图片描述

    数据格式如下,除了RC4密钥,所有值都是RC4加密和Base64编码的。第一个HTTP POST请求中的param2是字符串“T1B7D95256A2001E”的编码值。

    在这里插入图片描述

    POST数据中的参数(param1,param2,param3)是从以下内容中随机选择的:

    • boardid,bbsNo,strBoardID,userid,bbs,filename,code,pid,seqNo,ReportID,v,PageNumber,num,view,read,action,page,mode,idx,cateId,bbsId,pType,pcode,index,tbl,idx_num,act,bbs_id,bbs_form,bid,bbscate,menu,tcode,b_code,bname,tb,borad01,borad02,borad03,mid,newsid,table,Board_seq,bc_idx,seq,ArticleID,B_Notice,nowPage,webid,boardDiv,sub_idxa

    此处使用的RC4加密与常规加密不同。它有一个进程来将密钥流移动C00h。以下是用Python编写的RC4加密过程,它不适用于使用常规RC4的param3。

    在这里插入图片描述

    下图是从与C&C服务器通信开始到接收命令的通信流程。

    在这里插入图片描述

    如果服务器收到一个Base64编码的param3值(上图中的随机二进制数据)作为对第一个请求的响应,则恶意软件将发送另一个请求。下一数据是用param3中的空param2和一个命令请求(上图中的命令请求0x2040)发送的。param3中的数据是异或编码、RC4加密,然后Base64编码。此后,BLINDINGCAN从C&C服务器接收命令,响应数据也经过XOR编码、RC4加密和Base64编码。唯一的区别是“ +”号被空格代替。


    5.指令

    BLINDINGCAN执行多种功能,具体如下:

    • 对文件的操作(创建列表,删除、移动、修改时间戳,复制)
    • 对进程的操作(创建列表、执行、终止)
    • 上传/下载文件
    • 获取磁盘信息
    • 获取服务列表
    • 执行任意的shell命令

    到目前为止,我们已经介绍了Lazarus使用的两种恶意软件。但是,已知它们也使用其他类型的恶意软件。如果发现任何新型恶意软件,我们将提供更新。



    三.总结

    Lazarus APT是来自朝鲜的APT组织,挺厉害和出名的一个攻击组织。该组织擅长使用邮件钓鱼进行鱼叉攻击,同时武器库强大,具有使用0Day发起攻击的能力。而从披露的该组织的活动来看,该组织发起攻击的规模都巨大。虽然该组织的攻击活动被不断的披露,但是该组织从未停止攻击活动的脚步,相反攻击活动还更加的活跃,同时还把攻击目标不断扩大,从能源、JS、政企等部门到专项金融机构,尤其是数字货币交易所等。因此,我们提醒政企等广大用户,切勿随意打开来历不明的邮件附件,同时安装安全软件。最后希望这篇文章对您有所帮助,更推荐大家阅读原文。

    前文分享:

    2020年8月18新开的“娜璋AI安全之家”,主要围绕Python大数据分析、网络空间安全、逆向分析、APT分析报告、人工智能、Web渗透及攻防技术进行讲解,同时分享CCF、SCI、南核北核论文的算法实现。娜璋之家会更加系统,并重构作者的所有文章,从零讲解Python和安全,写了近十年文章,真心想把自己所学所感所做分享出来,还请各位多多指教,真诚邀请您的关注!谢谢。

    在这里插入图片描述

    (By:Eastmount 2020-11-19 星期四 晚上8点写于贵阳 http://blog.csdn.net/eastmount/ )


    展开全文
  • [译] APT分析报告:04.Kraken - 新型无文件APT攻击利用Windows错误报告服务逃避检测.pdf
  • 这是作者新开的一个专栏,主要翻译国外知名的安全厂商APT报告文章,了解它们的安全技术,学习它们溯源APT组织的方法,希望对您有所帮助。前文分享了Linux系统下针对性的APT攻击及技术要点,这篇文章将介绍钓鱼邮件...
  • 这是作者新开的一个专栏,主要翻译国外知名的安全厂商APT报告文章,了解它们的安全技术,学习它们溯源APT组织的方法,希望对您有所帮助。前文分享了一种新型无文件APT攻击Kraken,它会利用Windows错误报告服务逃避...
  • 这是作者新开的一个专栏,主要翻译国外知名的安全厂商APT报告文章,了解它们的安全技术,学习它们溯源APT组织的方法,希望...其中,DllMain函数反分析检查,以确保它不在分析/沙箱环境或调试器中运行非常值得我们学习。
  • 这是作者新开的一个专栏,主要翻译国外知名安全厂商的APT报告,了解它们的安全技术,学习它们溯源APT组织和恶意代码分析的方法,希望对您有所帮助。当然,由于作者英语有限,会借助机翻进行校验,还请包涵!前文分享...
  • 这是作者新开的一个专栏,主要翻译国外知名安全厂商的APT报告,了解它们的安全技术,学习它们溯源APT组织和恶意代码分析的方法,希望对您有所帮助。当然,由于作者英语有限,会借助机翻进行校验,还请包涵!前文分享...
  • 这是作者新开的一个专栏,主要翻译国外知名的安全厂商APT报告文章,了解它们的安全技术,学习它们溯源APT组织的方法,希望对您有所帮助。前文分享了钓鱼邮件网址混淆URL逃避检测,这篇文章将介绍APT组织Fin7 / ...
  • 简单了解APT

    千次阅读 2021-05-20 11:28:30
    APT(Advanced Persistent Threat):高级持续威胁,主要特点是利用手段高,攻击持续,高危害。换句话说其实当于持续性高级渗透,加上恶意的目的或者谋取利益的想法时,就成了威胁,而APT防御一般出现于酒足饭饱之后
  • APT攻击现状; 基于APT恶意软件基因的可靠数据获取; 还原预测攻击者的战术意图及主攻方向; APT家族分析
  • 随着德国的“工业4.0”、美国的“再工业化”风潮、“中国制造2025”等国家战略的推出,以及云计算、大数据、人工智能、物联网等新一代信息技术与制造技术的加速融合,工业控制系统由从原始的封闭独立走向开放、由...
  • 在享受着网络技术带来的便利的同时,潜在的威胁在...因此,基于动态监测APT病毒的目的,笔者采用了行为分析的检测方法,结合MAPREDUCE编程方式和支持向量机算法,得出了一种新的APT检测模型并测算出了分析权重数据。
  • 这是作者新开的一个专栏,主要翻译国外知名安全厂商的APT报告,了解它们的安全技术,学习它们溯源APT组织和恶意代码分析的方法,希望对您有所帮助。当然,由于作者英语有限,会借助机翻进行校验,还请包涵!前文分享...
  • 针对目前缺少APT攻击中系统威胁风险评估理论模型的问题,提出了一种基于攻防树的网络攻击风险分析方法。将APT攻击过程分为攻击阶段与防护阶段,定义不同阶段内的参数计算方法,首先通过漏洞收集和攻击事件捕获构建...
  • APT攻击行为的分析与防御,为大家分享APT攻击行为的分析过程,和防御方式,指导大家在APT监测与防御领域的项目建设、产品建设。
  • APT案例调研和研究

    2022-01-03 11:48:03
    APT案例调研和研究 1.整理国内外2个影响较大的APT攻击案例,简述其步骤和过程: Google极光攻击 2010年的Google Aurora(极光)攻击是一个十分著名的APT攻击。Google的一名雇员点击即时消息中的一条恶意链接,引发了一...
  • APT模型

    千次阅读 2020-04-30 00:49:55
    APT模型介绍一 套利定价理论是将因素模型与无套利条件相结合从而得到期望收益和风险之间的关系。史蒂芬·罗斯在1976年提出的套利定价理论(arbitrage pricing theory , APT),它基于三个基本假设:因素模型能描述...
  • 针对APT 攻击特征分析传统网络安全防御体系对其失效的原因,并在此基础上提出APT 攻击防御方案。该防御方案包括基础安全防御和动态防御体系,力求构建从保护、检测、响应到恢复的信息安全防御体系。最后,对 APT ...
  • •常规分析作业流程 •乌克兰电力系统遭受攻击事件 •来自南亚次大陆的白象攻击组织 •从“方程式”到“方程组” •总结
  • APT攻击介绍 Advanced Persistent Threat APT是指高级的持续性的渗透攻击,是...APT攻击案例分析 APT攻防分析 如何有效发现0day攻击 如何定义攻击路径及行为 如何定义恶意文件的特征及行为 如何可以更好的了解APT攻击
  • APT(advanced persistent threat)攻击的日益频繁对APT攻击行为的检测提出了更高的要求,对同源行为进行分析是尽早发现APT攻击行为的一种有效方法。针对数据量过大造成数据对比认证效率低下的难题,提出了借助数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,355
精华内容 22,942
关键字:

APT分析