简报 。 每当发现适用于macOS的恶意软件新样本时,它便为我们提供了评估新的黑客机会的机会,这些机会可用于我们自己的利益。 我的意思是,生命短暂,为什么要花时间编写自己的恶意软件?
我们通过讨论一种适应现有恶意软件“个人使用”的方法来开始讨论,重点介绍这种方法的弊端和优势。 然后,我们将对macOS的各种恶意软件样本进行武器化处理,包括交互式后门程序,用于文件泄漏的植入程序,勒索软件,甚至是广告软件。 我们的设置包括对运行时的各种二进制修改,这些修改迫使这些恶意程序接受来自我们自己的C&C服务器的任务和/或代表我们自动执行操作。

当然,现在这些样本处于原始状态,可以通过防病毒产品检测到。 因此,我们将考虑进行修改,以确保我们的“黑客”工具无法用于传统的防病毒程序。
总之,我们将研究仍可以检测到此类威胁的新启发式方法,以保护Mac用户,使其免受此类修改过的威胁的侵害。 为什么需要这个? 因为这是人类发展的正常周期,我们根本没有意识到我们看到的破坏意味着引入了新技术,而新技术在创造新工作之前会破坏旧工作。
问候大家,今天我们将讨论基于macOS黑客产品创建“大规模杀伤性武器”的主题。 我叫帕特里克(Patrick),我是Digital Security的Synack分析师,也是Mac安全网站和macOS的免费Objective-See安全套件的创建者。
我们将讨论出于自己的秘密目的而重制他人的恶意软件,我将解释为什么这是一个好主意。 然后,我将展示如何精确地重制适用于Mac的各种恶意软件样本,并且由于我们希望我们的漏洞对于Apple的内置防病毒服务和第三方防病毒软件仍然不可见。 最后,我们将研究检测此重做软件产品的各种常用技术,因为实际上,我们的最终目标是确保Mac用户免受此类威胁。
让我们从一个方案开始,该方案从概念上解释了根据您自己的需求重新使用恶意软件的过程。

想象一下,黑客A精心开发了功能完善的功能完善的恶意软件,并感染了世界各地的各种计算机系统。 黑客B偶然或从某些受感染的系统中提取了该恶意软件,从而成功将其持有。 这位骇客将这个产品的样本放在他的实验室并重新配置。 当我们谈论重新分析时,是指根据您的需要重新设计或重新配置一些现有的恶意软件。
幻灯片显示,更改后,黑客B可以针对新目标使用该软件,其使用的基础结构不同于黑客A为之开发的基础结构。这是一个相当合理的想法。 您可能会问为什么这样做是必要的,但是我们至少可以列举两个值得这样做的理由。

首先,有资金雄厚的组织,积极进取的技术武装团体,为中央情报局等政府机构工作的黑客以及开发令人难以置信的恶意软件的整个科学实验室。 此外,此功能齐全的软件已在现场进行了反复测试。
由于我很懒惰,而不是编码,所以我更喜欢在沙滩上闲逛,冲浪或瑜伽,我想:既然这些家伙创建了如此有效的黑客软件,为什么不使用它并根据您的需要进行重新制作呢? 让那些有更多时间和金钱的人为我做所有的辛苦工作。
其次,如果有人找到了我们转换后的程序,那么他们的著作权仍将归属于原始开发人员,而不是我们,这非常好。 您可能会问:“好吧,帕特里克,如果这是一个很棒的主意,为什么人们还没有这样做呢?” 我会回答:“他们正在这样做!” 我无法具体评论任何事情,但是公开显示的幻灯片显示,NSA使用恶意软件的概要分析来测试流行的防病毒程序的漏洞。 纽约时报报道,中国黑客也使用类似的技术。
使用重做黑客软件为富裕的代理机构提供了双重优势。 首先,他们使用在其他国家/地区开发的间谍软件,以达到另一个机构,另一个国家或网络间谍APT小组已经在冒险的目的。 例如,如果您在NSA工作,并且打算入侵其他黑客已经在做的对象,但又不想在此处注入自己的代码,那么您可以安全地使用经过改版的其他人的软件。 同时,您的活动将仍然是秘密的,因为首先已经有人对此有所怀疑。

由于此类代理机构更喜欢秘密工作,因此他们对发现自己参与此类事务的任何人都不感兴趣,并且重做软件对此有所贡献。 当然,随着黑客程序的更改会出现问题,我们今天将讨论这些问题。

但我们将看到,这些问题并非无法克服。 假设我们已经接管了别人的恶意软件以进行重制。 首先,我们没有源代码,只有二进制代码示例,因此我们将不得不使用逆向工程。 当我们试图了解该软件的功能,如何实现,如何安装,具有什么功能以及我们确定与之通信的C&C服务器时,我将其称为分析阶段。
处理完所有这些之后,第二阶段开始-确定如何修补此恶意软件。 由于我们没有源程序,因此我们正在开发二进制级别的补丁程序。
由于该软件在大多数情况下会与其自己的C&C服务器进行交互,因此我们将了解如何找到该服务器的地址以及使用哪种协议进行数据交换。 只有在那之后,您才能创建自己的C&C服务器,并在该服务器上部署重做软件,以便从那里与新感染的系统进行交互。
由于我们使用著名的恶意软件,因此Apple或其他防病毒安全系统很可能具有此威胁的特征。 因此,在重新配置的最后阶段,我们必须弄清楚如何防止检测到重做软件。
如果我们不希望发生真正的坏事情,则需要非常负责地进行重新配置。

让我举一个例子,说明我们如何尝试为macOS重新制作一个恶意软件。 在修补过程中,我们忘记将备份地址更改为黑客C&C服务器。 我们确定我们使用的是恶意软件的完全重做部分,但是在某个时候,我们将备份发送到了原始黑客服务器,从而使它可以访问我们所攻击的基础结构。 因此,必须非常谨慎地进行他人软件的更改。
现在,让我们专门讨论针对Mac的恶意软件的重建,其目的是制作其他人的黑客软件。

第一步是根据2个条件选择一个恶意软件样本进行转换。 首先是要弄清楚该恶意软件应该使您了解是否需要交互式后门或加密矿工等。

间谍软件归因可能对您很重要-无论是归因于CIA还是俄罗斯黑客。 在objective-see.com上,我们收集了一系列令人印象深刻的macOS恶意软件。 我们今天将讨论的所有重做软件示例都可以从该站点下载。
一旦选择了样本进行更改,分析的时间就到了。 它的主要目的是找出诸如远程访问之类的东西。 如果恶意软件访问远程C&C服务器,则需要找出它是哪种服务器,以及是否有可能修改该软件,以便它无法与我们联系。

如果恶意软件无法与远程服务器通信,我们仍然需要处理该协议,以便在再次连接到我们时知道如何迷惑该程序。 当然,您必须完全了解该恶意软件的功能-它的工作方式,它与系统的交互方式(包括远程),以便知道可以使用哪些命令来远程控制恶意软件。
一旦解决了所有问题,就该重新配置或重新配置。 这通常意味着您必须在二进制级别修补恶意软件。

这张幻灯片显示,我们找到了嵌入代码中的原始C&C服务器的地址,并可以用HEX编辑器中所需的地址替换它。 这意味着更改后,该软件将能够与我们自己的服务器通信并从那里接收任务。
就像我说的那样,如果恶意软件是后门或植入的,并且是由原始C&C服务器控制的,那么我们将必须编写自己的管理服务器,并确保该程序已登录并连接到它,以便我们可以远程使用其所有功能。

定制的C&C服务器应该不会太复杂,只需编写一个能胜任的Python脚本即可,但是如果您打算针对许多目标使用软件,则可能需要更认真的事情。 先前的DefCon讨论了如何创建这些C&C服务器之一来分析软件样本。 使用不同的协议,您将分析的每个样本可能与其他样本不同,因此,对于转换后的软件的每个样本,您将需要单独的C&C服务器。
重制FruitFly后门
让我们看一下Mac恶意软件重新设计的真实示例。 此后门程序是由Mac安全专家在15年前创建的,称为FruitFly或Fruit Fly。
这种功能齐全的后门支持远程多任务处理,使我们成为重新分析的理想选择。 它具有感染文件和系统进程,控制网络摄像头,命令行,充当键盘记录程序的功能,可以远程获取受害者桌面的屏幕快照并收集有关运行macOS的受感染计算机的信息。 我们打算使用所有这些功能来解决我们自己的问题。

FruitFly后门程序是一个非常令人困惑的Perl脚本,但是如果仔细看一下,您会发现它的逻辑处理命令行参数。 我们可以说此脚本检查以查看某些命令行选项或标志是否导致其执行任何操作。

事实证明,他正在寻找端口或端口组合以将您的计算机连接到他的C&C服务器。 这意味着,如果我们可以通过命令行创建指向我们自己服务器的指示,则无需重做原始的Perl脚本或恶意二进制文件。
我们开始弄清楚是否可以将这个FruitFly脚本另存为启动器。 如幻灯片所示,我们可以将自己的C&C服务器的地址嵌入其中。 这意味着我们可以轻松地重新配置此后门以连接到我们的服务器,而绕开与原始黑客服务器的连接。

但是,要使用此后门,必须将其安装在用户的计算机上。 好消息是我已经编写了这样的安装程序,可以在pastebin.com上找到它。 几行代码以与原始后门完全相同的方式安装恶意软件。 由于我之前也写过C&C服务器来分析此样本,因此我们可以开始演示其操作。
像这样的实时演示总是有风险的,因此,我将在自己的研究型笔记本电脑上而非虚拟机上运行此恶意软件。 我再说一遍-我打算向您展示转换后的恶意软件的全部功能,并且在实际情况下的演示更加可信,因此,让我们看一下该软件在实际硬件上的运行情况。
首先要做的是启动C&C服务器。 您会看到现在系统正在等待与其连接。 然后,您需要通过安装程序来运行恶意软件,并向其传递该服务器的IP地址。 启动后,我们在窗口右侧看到恶意软件已成功连接到我们的C&C服务器。 我们还看到了很多黑客任务,该恶意软件可以将其用于我的个人笔记本电脑上运行的进程。

13号命令的执行显示了该恶意软件的安装目录/ Users / Patrick / fpsaud。 使用命令2,您可以截取屏幕截图,使用参数0可以截取全屏屏幕截图。

现在,我将尝试截屏并将其发送到我们的C&C服务器。 如您所见,一切正常。 重新设计的FruitFly后门程序就是这样工作的。
矿工CreativeUpdate的变更
接下来,我们将讨论为达到目的而重新制造CreativeUpdate加密货币矿机。 如果您想使用其他人的计算机进行加密挖掘,但同时又没有时间,技能和资源,这将很有用。

该加密矿工集成到Trojans中,并通过MacUpdate.com上流行的第三方应用程序进行分发。 幻灯片显示了一个安装Firefox Quantum浏览器的示例,该浏览器没有原始Mozila开发人员的签名,而是从其中一个Adobe Creative Cloud服务器上下载了一个加密矿工到用户的计算机。

如果我们挂载包含此类特洛伊木马的受感染磁盘映像,并对主二进制文件进行反向工程,我们会发现它使用的方法是“执行带打印脚本”-“执行带打印脚本”。 如果您看一下它对反编译器或反汇编器的作用,您会发现它只是在应用程序资源目录外执行一个名为“脚本”的文件。 首先,他以用户下载到他的计算机上的流行产品(例如Firefox浏览器)的副本为幌子启动了Trojan程序,这样他就不会怀疑有什么坏处。

接下来,我们在此脚本中看到它与攻击者服务器进行通信,并从该服务器下载mdworker.zip存档。 在解压缩过程中,此归档文件在系统上安装了名为mdworker的文件。 如果查看从存档中提取的MacOS.plist文件,您会发现它会将这个非常恶意的mdworker二进制文件保存在用户的计算机上。

我们还看到传递给此二进制文件的命令行参数。 如果执行此二进制mdworker文件,则可以看到它是采矿公司Miner Gate拥有的完全合法的加密货币矿工。
命令行参数还指示将向其发送挖掘结果和挖掘加密货币类型的矿工帐户。
由于相应的参数是通过命令行传递的,并且没有嵌入二进制文件中,因此,例如在Fruit Fly的情况下,我们可以替换命令行参数来重新定义此恶意软件的用途。 因此,我们首先修改属性列表属性列表的文件或恶意软件的.plist,使其指向我们自己的矿工帐户,然后再次将恶意软件的所有组件打包到存档中。 此外,我们无需将存档从服务器下载,只需将其添加到恶意软件应用程序即可。 因为我们不需要配置要引导的远程服务器,所以这更简单,更自治。
接下来,我们重新配置该脚本,以便它可以与添加的存档一起使用。 最后,我们将所有内容重新打包到Firefox.dmg映像中,然后开始工作。

我提请您注意第二个演示。 在文件窗口中,您会看到应用程序组件,包括恶意脚本,mdworker.zip存档,应用程序设置文件AppSettings.plist和原始的Firefox浏览器。

在主窗口中,我们看到用户下载的内容即将启动。

我在笔记本电脑上运行该应用程序,以便将其用于自己的加密货币挖矿。 我单击浏览器图标,Firefox浏览器窗口出现在屏幕上,从外观上看一切正常。
要查看启动此应用程序后系统上实际发生的情况,我将macOS终端窗口称为屏幕。 , mdworker, , patrick@objective-see.com.
- ransomware
, , , - ransomware, .

, KeRanger. , macOS. Bit-Torrent, -. , , .
, General.rtf. , , macOS. , C&C- .

, , , «» . -.
. -, , .

, , HEX- , «», C&C-, 127.0.0.1. RSA , RSA- , NetCat.
. , , KeRanger. NetCat , .

, .

README_FOR_DECRIPT.txt. , : « wardle@objective-see.com!».

Windtall
Windtall. , , APT-. , .

malware. macOS, , URL-.
, . , , , macOS Custom URL, , .
, , , - URL, macOS .
Java . , URL, Mac. Java-, URL, .
, , , , .

, , . , , , , C&C- .
. SPF, , C&C-, , , C&C-.

24:00
DEFCON 27. macOS. 第二部分一点广告:)
感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的资料吗? 通过下订单或向您的朋友推荐以支持我们
,开发人员的云VPS从4.99美元起 ,
为Habr用户提供
30%的折扣,这是我们为您发明的入门级服务器的独特模拟: 关于VPS(KVM)E5-2650 v4的全部真相(6核心)10GB DDR4 240GB SSD 1Gbps from $ 20或如何共享服务器? (RAID1和RAID10提供选件,最多24个内核和最大40GB DDR4)。
戴尔R730xd便宜2倍? 只有我们有
2台Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100电视在荷兰起价199美元 ! 戴尔R420-2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB-$ 99起! 阅读有关
如何构建基础架构大厦的信息。 使用价格为9000欧元的Dell R730xd E5-2650 v4服务器的上等课程?