OS X / Hydromac:新Mac广告软件,从FlashCards应用程序泄露

2021-06-06 12:16:16

在这个Guest博客文章中,ConfiantIntel的安全研究员Taha Karim(@ Lordx64)潜入新的麦克风广告软件:Hydromac。写作最初发布在ConfiantIntel' S网站上。 Mahalo分享塔哈! 🤩

在@confiantintel,我们有一些“运气”找到一个针对新的苹果旗舰M1计算机的新恶意软件。我把“运气”在报价之间,正如我们知道的时候,你当你做网络时,你不依靠运气来找到东西,但你看起来很可能是这样的东西。

这与incoriant的检测引擎有关,以及我们在杀戮地区的独特地位:在美国的主要出版商网站上扫描恶意广告。

我们不仅看到了不好的广告加载,我们扫描它们,但我们也阻止了它们。换句话说,安全供应商将无法看到我们所看到的,除非他们早在Killchain才能扫描。我们发现了什么?

我们发现了一个我们被称为粉刷的恶意软件。我们并没有真正选择此名称,因为它从文件名中获取,而C2服务器此恶意软件与以下操作:映射[。] com

Mapperstate是在我们的蜜罐中安装在我们的蜜罐中,由OSX / Tarmac本身由OSX / Bundlore Loader,兼容的ARM下载,并在一周前报告的Apple公证:

OSX / Bundlore装载机找到(0检测VT)编译的ARM(针对新的M1 MacBook!),并由Apple公证..它是通过恶意传递的。下载Bundlor和一个未知的有效负载开发人员ID应用程序:Bobbie Miller(PX3WCCP368)Pic.Twitter.com/sjriev6WCU

- ConfiantIntel(@ConfiantIntel)5月14日,2021年5月14日

现在,不同阶段的链已经变得非常复杂,分析阶段需要更多的时间,由于恶意书作者'了解逆向工程如何完成,还要对我们写的工具进行解密,以便解密他们的恶意软件。我回忆起,我们发表了OSX / Tarmac Blogpost的几周后,OSX / Tarmac的新变种开始实施实现渲染我们以前的解密工具无用。粉刷是慢速分析技巧OSX / Tarmac作者使用的延续。

通常OSX / Tarmac在我们之前报道的情况下丢弃了Adobe Flash Player的合法副本。这一次,一个未知的恶意软件,其中包含以下SHA-256:

在下面的位置下载并坚持,并作为启动守护程序安装,要在Runatload处执行的文件称为MaperState.System:

com.mapperstate.csystem.System.Plist在编写本未知样本时的Launchdaemons不在Virustotal中,我们在发布此博客后立即上传。

此示例包含大约943个功能,剥离了调试符号,没有使用可识别的字符串或已知的加密算法。唯一的功能泄漏是导入的功能。事实上,如果我们看到一个popen或cfhttpmessageSetbody,我们知道此恶意软件将创建一个过程,或者分别通过HTTP将通过HTTP连接到C2服务器。仅传递给这些函数的参数都是在恶意软件功能中加密并隐藏在运行时的特定状态下的恶意软件功能中。

调试此恶意软件不会涵盖所有恶意软件功能.WE留下了字符串解密,以真实地了解此恶意软件的内容。这是恶意软件作者所知道的,这就是恶意软件作者投入所有努力来混淆功能的地方。

粉刷作者使用非常令人困惑的方法来加密他们的弦来减慢我们的分析。

在一块代码下,复制和粘贴198次(尽可能多地解密)。这是一个经典慢动力调试技术,这意味着如果我们只有一个函数解密的所有函数,则在此功能中设置断点的所有字符串就足够了。但现在我们有198个街区我们应该放置断点,这不再是一个选择。我们已经看到了新版本的OSX / Tarmac的完全相同的缓慢调试技术。

此代码块负责字符串解密,并对SSE指令进行了沉重的使用。

加密的字符串存储在变量UNK_100051700中,解码字符串是“00000000-000000-0000-0000-00000000000”,我们将不久谈论我们的IDapython解码器脚本的字符串。

拍卖串串解密例程在调查后,似乎以UNK_变量的形式引用加密字符串(AS IDA Pro不确定这是什么类型),并且始终将整数值复制到表示加密字符串长度的EDX寄存器。 。

换句话说,此块始终需要两个更改的参数,我们将使用IDA Pro UNK_类型来定位所有这些字符串。

重写Python中的解密例程将带我们很多时间,所以我们决定模拟这个块,并在飞行中提取它们时解密所有字符串(考虑始终改变的长度变量)。

重要的是要注意,我们面临两种难度仿真。加密块调用一些麦斯卡斯卡API,并且Unicorn引擎不会模拟。所以我们必须效仿它们,我们在以下功能上添加了软钩子:

软钩我们只关注模拟麦白皮和新操作员的其余钩子,我们刚刚跳过了库调用.Below为Memcpy提供了一个快速和肮脏的实现:

映像在Unicorn Engine New()操作员在Unicorn Engine中实现,然后我们能够完全模仿解密码块,然后我们将努力直接在_Text部分中定位_unk字符串:

find_encrypted_strings查找标签:_unk最后,我们需要获取字符串的更改长度(传递给EDX的值)。此字符串长度并不总是在_unk参数之后,有时之前是指令,或者之后,我们可以在吹气组件片段中看到:

所以我们写了一个将向前扫描的函数然后向前扫描此值,每次0x30字节:

扫描MOV EDX,x所有粘合在一起的次数,我们可以运行iDapython脚本,这将为我们呈现解密块,每次通过不同的加密字符串及其长度,下面是脚本输出:

Drecrypeded映射的一部分解密映射有能力下载和执行其他程序,它似乎是另一个恶意软件的简单下载器。

Deprypted字符串的一部分我们没有达到视图,看看这个恶意软件下载,因为C2服务器以空的内容回复。但我们将继续狩猎。

2019年9月左右,我们透露并分析了OSX / Tarmac时,我们选择的恶意软件名称并不随意。在解密OSX / Tarmac字符串并在Internet上搜索它们后,我们发现了一个有趣的FlashCards应用程序,该应用程序是公开曝光的OSX / Tarmac代理,命令和控制命令。

我们在我们的示例中找到的命令,100%匹配闪存卡应用中列出的命令。事实上,这就是柏油群岛最初来自的地方。以下是Tarmac Malware的闪存卡之一:

纳米酒法消息,记录在闪存卡Appthe帐户中披露了FlashCards应用程序的信息,将被称为单独的X.基于Osint Info,似乎个人X在圣地亚哥,加州的某个地方生活,并已注册域名y,使用看起来像个人的gmail帐户。此外,个人X有GitHub帐户,具有相同的句柄和相同的配置文件照片,如FlashCards App帐户中。大多数Repos都与Web开发有关:

个人X,GitHub账户在查看同一个人X发布的其他Flashcard时,另一个查找,揭示了另一个恶意软件被称为Hydomac:

Tarmac和Hydromac Flashcards查看Hydromac消息抽奖卡,我们在我们的捣乱样本中找到了确切的命令!请参阅下面列出,作为示例,命令HM_RA_DOWNLOAD_STARTED_1(参考HYDROMAC的HM)我们在个人X发布的FlashCards应用程序中列出了我们从样本中解密的:

从映射发送的另一个命令hm_ra_init_1。这次我们从调试器中抛弃它来确认它真的被发送到C2。我们这样做,有时恶意软件包含甚至没有使用的随机字符串。下面是MAPERSTETS HM_RA_INIT_1命令在加密并发送到C2服务器之前:

用C2交通解密的水力测量消息如此终于找到了Hydromac的C2流量解密了Hydromac消息?答案是肯定的。我们发现的示例(映射)实际上是FlashCard应用程序中的Hydromac根代理(称为HM_RA_XXX),没有HYDROMAC Flashcards应用程序中列出的所有命令,而且只有初始命令才能参考下载和执行其他二进制文件。

除了我们发现的水肿根代理旁边,还有一种水力测量剂和水力测量剂插件(基于Flashcards应用程序泄漏)。编写一个简单的雅拉规则,帮助我们在在线恶意软件存储库中找到一些水力测量组件。该规则将寻找与水色根代理,水力测量药物或水力测量卡片相关的任何东西,组件:

规则cfnt_hydromac_components {meta:author =" [email protected]"字符串:$ a =" hm_a_init_1" $ b =" hm_a_init_1"宽ascii $ c =" hm_ra_init_1" $ d =" hm_ra_init_1"宽ASCII $ E =" HM_A_P_INIT_1" $ f =" hm_a_p_init_1"宽Asciicondition:($ a)或($ b)或($ c)或($ d)或($ e)或($ f)}

在我们做了复古狩猎的时候,它给了我们一个单身,是一个水力测量的代理,并具有所有调试符号:

Hydromacace Agent样本串转储有趣的是,在字符串中,我发现这种加氢计代理商与已知的C2服务器通信:API [。] Mughthesec.com

Hydromac Agent Sample C2服务器此C2服务器已成为着名恶意软件称为Mughthesec的C2(最初于2017年分析,由MacOS安全专家Patrick Wardle)。

这让我感兴趣。我去检查了Mughthesec,发现Mughthesec包含OSX / Tarmac代理命令:(trmc_xxx指的是柏油渣),因为我们可以在下面看到(字符串转储):

原始Mughthesec样本:9C4F74Feff131FA93DD04175795F3346490795F3346490795F334649EE91AD7FCE11DC661231254E1EBD84我们还报告了上面的命令,在我们在2019年发布的之前的OSX / Tarmac样本分析中。

保留此处的信息是我们发现的水力测量药剂,并从2017年开始的先前的Mughthesec以及最近的水肿根代理(粉刷)是相关的,并通过恶意的附属公司使用真正的恶意软件活动。

这是基于我们在有效载荷中找到的重叠,以及C2服务器和从FlashCards应用程序泄露的关键信息以及我们跟踪提供OSX / Tarmac以及现在OSX / Hydomac的可操作性广告系列。

换句话说,FlashCards应用程序中存在的信息是合法的,并对应于野外中找到的真实恶意软件。

人们可以相信个人x,做了我们在网络安全行话中所说的,操作安全性(OPSEC)错误:通过披露名称,照片ID,个人电子邮件,并且可能是物理地址的指示,但我们不确定。

值得注意的是,个人X链接到一个名为“CashwithFB”的可疑组织,基于Wayback机器,以及2017年的旧论坛帖子,它似乎这家公司通过租用并提供租用,从其他人的Facebook广告账户运行广告活动订户将“在2天内至少50美元,每周高达100美元”。经典。

侧面注意:CashWithFB运行依赖于船舶的广告用于登录Facebook的受害者IP地址。这是通过使用名为splashtop的远程桌面软件来完成的:

CashwithFB广告个人X是否与HydromacaC Allucards相关,或者恶意软件本身尚不清楚,尽管我们注意到个人X和美国公司运营的经典恶意计划之间的可疑链接。

恶意链接,柏油碎石/水肿是恶意软件,通过恶意,Web开发技巧,描述恶意软件命令的Apprcards应用程序,众多Opsec错误,使我们认为个人X可能与恶意关联。虽然我们不是100%肯定的关系,但我们将把这个个人级别归因留给更多主管组织。

要关闭本章,值得注意的是,这不是首次通过FlashCards应用程序泄露的关键信息,有趣的是本周Bellingcat据报道,美国士兵通过FlashCard应用程序公开了核武器秘密,因为他们正在使用它们以获得学习目的。

美国士兵驻欧洲基地,主持核武器的欧洲武器已经暴露了众多敏感的安全细节 - 包括武器的储存&秘密胁迫单词 - 通过使用闪存的学习应用程序在线搜索在线搜索https://t.co/s5vocxlfvp

- Bellingcat(@bellingcat)5月28日,2021年

FlashCard应用程序的使用可能用于培训目的?或者个人X只有一个更大组织的成员?我们不知道,但我们会继续狩猎。