当前位置: 首页 > 科技观察

黑客隐藏踪迹的六种方式

时间:2023-03-19 18:51:09 科技观察

CISO拥有一系列不断改进的工具来帮助发现和阻止恶意活动:包括网络监控工具、病毒扫描程序、软件组成分析(SCA)工具、数字取证和事件响应(DFIR))解决方案等等。然而,网络安全是一场持续的战斗,攻击者不断创造新的挑战。诸如隐写术之类的旧技术——一种将信息(包括恶意负载)隐藏在图像等良性文件中的技术——也正在开发中,开辟了新的可能性。例如,一位研究人员最近证明,即使是Twitter也不能幸免于隐写术,因为平台上的图像可能会被滥用以将ZIP档案打包到其中高达3MB。然而,在我自己的研究中,我注意到除了使用混淆、隐写术和恶意软件打包技术之外,如今的威胁行为者还经常利用合法服务、平台、协议和工具来开展他们的活动。这允许它们与正常流量或活动混合在一起,这些流量或活动对于人类分析师和机器来说可能看起来“干净”。以下是网络犯罪分子目前用来掩盖踪迹的六种方式。滥用不发出警报的可信平台是安全专业人员在2020年看到的一种常见现象,并已蔓延到今年。从CobaltStrike和Ngrok等渗透测试服务和工具,到GitHub等已建立的开源代码生态系统,再到Imgur和Pastebin等图像和文本网站,仅在过去的几年里,攻击者就已经针对一系列受信任的平台。通常,道德黑客使用Ngrok来收集数据或为入站连接创建模拟隧道,作为漏洞赏金活动或渗透测试项目的一部分。但恶意行为者可以滥用Ngrok直接安装僵尸网络恶意软件,或将合法通信服务连接到恶意服务器。在最近的一个例子中,SANSInstitute的XavierMertens发现了一个用Python编写的恶意软件样本,其中包含base64编码的代码,可以使用Ngrok在受感染的系统上安装后门。由于Ngrok受到广泛信任,远程攻击者可以通过Ngrok隧道连接到受感染的系统,从而可能绕过公司防火墙或NAT保护。GitHub还被滥用于托管从OctopusScanner到Gitpaste-12等恶意软件。最近,狡猾的攻击者将GitHub和Imgur与开源PowerShell脚本结合使用,这使得他们可以在GitHub上托管一个简单的脚本,从一张良性的Imgur照片中解析CobaltStrike负载。CobaltStrike是一种流行的渗透测试框架,用于模拟高级现实世界的网络攻击,但与任何安全软件产品一样,它也可能被对手滥用。同样,开发人员所依赖的自动化工具也不能幸免。2021年4月,攻击者滥用GitHubActions以数百个存储库为目标,发起了利用GitHub的服务器和资源进行加密货币挖掘的自动化攻击。这些示例说明了为什么攻击者看到了以合法平台为目标的价值,而许多防火墙和安全监控工具可能还无法阻止这些平台。利用品牌价值、声誉或知名度的上游攻击SolarWinds漏洞后,软件供应链安全问题可能已引起公众的注意,但这些攻击已经上升了一段时间。无论是拼写错误、品牌劫持还是依赖性混淆(最初作为概念验证研究发现,但后来被滥用于恶意目的),“上游”攻击都利用了对已知合作伙伴生态系统的信任并利用了知名度或声誉品牌或软件组件。攻击者的目标是将恶意代码推送到与品牌关联的可信代码存储库,然后将代码分发到下游最终目标:品牌的合作伙伴、客户或用户。任何对所有人开放的系统也对对手开放。因此,许多供应链攻击都针对开源生态系统,其中一些没有经过严格验证以遵守“向所有人开放”的原则。但是,商业组织也会受到这些攻击。在最近的一个案例中,一些人将其比作SolarWinds事件,软件测试公司Codecov披露了对其BashUploader脚本的攻击,该攻击在两个多月内未被发现。Codecov拥有超过29,000家客户,其中包括一些全球知名品牌。在这次攻击中,公司客户使用的上传程序被修改,将系统的环境变量(密钥、凭证和令牌)泄露给攻击者的IP地址。防范供应链攻击需要多方面的行动。软件供应商需要大力投资以确保其开发版本的安全。基于AI和ML的开发运营解决方案可自动检测并阻止可疑的软件组件,有助于防止拼写错误、品牌劫持和依赖混淆攻击。此外,随着越来越多的公司采用Kubernetes或Docker容器来部署其应用程序,具有内置Web应用程序防火墙的容器安全解决方案以及及早发现简单错误配置的能力将有助于防止进一步的威胁。很大的伤害。通过无法追踪的方法进行加密货币支付鉴于其去中心化和注重隐私的设计,暗网市场卖家和软件运营商经常交易加密货币。但是,尽管不是由政府中央银行铸造或控制,加密货币仍然缺乏与现金相同的匿名性。因此,网络犯罪分子找到了在账户之间转移资金的创新方法。最近,与2016年Bitfinex黑客攻击相关的价值超过7.6亿美元的比特币在多个较小的交易中被转移到新账户,交易金额从1BTC到1,200BTC不等。加密货币并不是隐藏资金踪迹的万无一失的方法。在2020年美国总统大选之夜,美国政府清空了一个价值10亿美元的比特币钱包,其中包含与最臭名昭著的暗网市场丝绸之路相关的资金,该市场本身已于2013年关闭。一些其他加密货币,例如Monero(XMR)和Zcash(ZEC),在匿名交易方面比比特币具有更广泛的隐私保护能力。毫无疑问,随着攻击者继续寻找更好的方法来隐藏他们的踪迹,罪犯和调查人员之间的冲突将在这方面继续下去。使用公共渠道和协议与受信任的平台和品牌一样,合法应用程序使用的加密渠道、端口和协议为攻击者提供了另一种掩盖其踪迹的方式。例如,HTTPS协议是当今网络上普遍存在且不可或缺的协议,因此端口443(HTTPS/SSL使用)在企业环境中很难被阻止。然而,DNSoverHTTPS(DoH)——一种用于解析域的协议——也使用端口443,并且被恶意软件作者滥用以将他们的命令和控制(C2)命令传输到受感染的系统。这个问题有两个方面。首先,攻击者通过滥用HTTPS或DoH等通用协议,与合法用户一样享有端到端加密通道的隐私优势。其次,它也给网络管理员带来了困难。阻止任何形式的DNS本身就是一个挑战,但现在,鉴于DNS请求和响应是通过HTTPS加密的,安全专业人员拦截、挑选和分析来自许多HTTPS请求的可疑流量就成了理所当然的事情进出网络。麻烦。研究员AlexBirsan展示了依靠混淆技术侵入了超过35家大型科技公司,他能够通过使用DNS(端口53)泄露基本信息来最大限度地取得成功。Birsan选择DNS是因为企业防火墙很可能不会因性能要求和合法DNS使用而阻止DNS流量。使用签名二进制文件运行混淆的恶意软件使用非本机二进制文件(LOLBIN)的无文件恶意软件的常见概念仍然是一种有效的规避技术。LOLBIN是指合法的、经过数字签名的可执行文件,例如Microsoft签名的Windows可执行文件,攻击者可以滥用这些文件来启动具有提升权限的恶意代码或逃避防病毒等端点安全产品。上个月,微软就企业可以采用的一些防御技术分享了指南,以防止攻击者滥用微软的AzureLOLBIN。在另一个示例中,我分析的最近发现的Linux和macOS恶意软件在所有领先的防病毒产品中具有完美的零检测率。在二进制文件中包含混淆代码,这确实有助于逃避检测。然而,进一步调查还显示,该恶意软件是使用数百个合法开源组件构建的,并以与合法应用程序相同的方式执行恶意活动,例如获得管理权限。虽然混淆的恶意软件、运行时加壳程序、虚拟机规避或在图像中隐藏恶意负载是高级威胁使用的已知规避技术,但它们的真正威力来自绕过安全产品或在其雷达下运行。当有效载荷可以某种方式与受信任的软件组件、协议、通道、服务或平台相结合时,这是可能的。用不常见的编程语言编写恶意软件根据黑莓研究和情报团队的一份新报告,恶意软件作者越来越多地使用不常见的编程语言,部分原因是为了更好地逃避检测。主要使用的语言有Go、D、Nim和Rust。这些语言以几种不同的方式增加了混乱。首先,用新语言重写恶意软件意味着基于签名的检测工具将不再标记它(至少在创建新签名之前)。其次,黑莓研究人员还表示,语言本身起到了混淆层的作用。例如,用于解码、加载和部署其他常见恶意软件的第一阶段恶意软件是用一种有助于逃避端点检测的不常见语言编写的。BlackBerry研究人员指出,目前很少有针对以这些语言编写的恶意软件的自定义混淆。其中最常见的一种是Gobfuscate,用于使用Go编码的恶意软件。它可以处理包、函数、类型和方法名称,以及全局变量和字符串。