浅谈无文件攻击

简介: 无文件攻击是高级持续性威胁的一种,不依赖硬盘上的文件,而是利用内存、注册表或硬件固件实施。这些攻击难以被传统防病毒软件检测到,包括通过文件漏洞、网络通信、硬件后门(如BIOS、CPU、USB)等方式进行。检测方法涉及监控内存、系统行为、日志和配置。防护措施包括限制系统工具执行、打补丁、使用安全软件及应用白名单策略。了解其手法对于提升网络安全至关重要。

浅谈无文件攻击
简介
与大多数恶意软件不同,“无文件”攻击并不会在目标计算机的硬盘中留下蛛丝马迹,而是直接将恶意代码写入内存或注册表中。由于没有病毒文件,传统基于文件扫描的防病毒软件很难侦测到它们的存在。然而,“无文件”攻击的定义已经逐渐扩大化,那些需要依靠文件系统的某些功能来实现激活或驻留的恶意软件也已经包括在了“无文件”攻击的范畴中。

无文件攻击属于高级持续性威胁(APT)的一种。APT在无文件攻击之外,还包括0day漏洞利用、缓冲区溢出攻击、傀儡进程等基于内存的攻击,同时还包括内存webshell等攻击,这些攻击可以轻松绕过现有的安全防护体系,将恶意代码悄无声息地植入内存中。

根据受感染计算机上的指纹数量来收集三种主要类型的无文件威胁。
需要操作文件进行活动
比较容易能理解的意思是恶意代码变成了数据,利用文件相关的程序漏洞或功能特性将恶意数据转换为恶意代码执行。

通过文件间接活动
即没有磁盘落地文件,但通过文件间接活动。恶意代码一般通过白文件间接加载到内存中执行。这类攻击恶意代码的载体大多数都是脚本,通过程序命令执行,也有通过磁盘引导记录等特定机制的执行。

没有任何的文件活动
简单说就是攻击活动都不需要磁盘上的文件即可运行,一般这种攻击的实施都脱离了操作系统,是由更上层的硬件固件和软件层发起的,可能隐藏在例如设备固件(BIOS)、USB外围设备(Bad USB攻击)或网卡固件中。这种类型的感染特别难以检测,因为大多数防病毒产品都没有检查固件的能力。

按感染主机对无文件威胁进行分类
在介绍了广泛的类别后,我们现在可以深入了解详细信息,并提供感染宿主的细目。 此综合分类涵盖通常称为无文件恶意软件的全景。 它推动我们努力研究和开发新的保护功能,以消除攻击的类,并确保恶意软件不会占上风。
利用
基于文件的(类型III:可执行文件、Flash、Java、文档):初始文件可以利用操作系统、浏览器、Java引擎、Flash引擎等执行shellcode并在内存中传递有效负载。虽然有效负载是无文件的,但初始条目向量是一个文件。

基于网络的(类型I):利用目标计算机中的漏洞的网络通信可以在应用程序或内核上下文中实现代码执行。例如WannaCry,它利用SMB协议中以前修复的漏洞在内核内存中传递后门。

硬件
基于设备的(类型I:网卡、硬盘):硬盘和网卡等设备需要芯片集和专用软件才能正常运行。在设备的芯片集中驻留在和运行的软件称为固件。虽然任务很复杂,但固件可能受到恶意软件的感染,就像公式间谍组织被抓到一样。

基于CPU的(类型I):新式CPU很复杂,可能包括用于管理目的运行固件的子系统。此类固件可能容易被劫持,并允许执行从CPU内部运行的恶意代码。2017年12月,两位研究人员报告了一个漏洞,该漏洞允许攻击者执行管理引擎内的代码(ME)存在于Intel的任何新式CPU中。同时,观察到攻击者组PLATINUM能够使用Intel的Active Management Technology(AMT)绕过安装的操作系统执行不可见的网络通信。ME和AMT本质上是位于CPU内部且在极低级别运行的自主微计算机。由于这些技术的目的是提供远程可管理性,因此它们可以直接访问硬件,独立于操作系统,即使计算机已关闭,也可以运行。

除了在固件级别易受攻击外,CPU还可以使用直接插入硬件线路的后门进行制造。这种攻击在过去已经研究并证明是可能的。据报道,x86处理器的某些模型包含一个类似于RISC的辅助嵌入式CPU核心,可以有效地提供后门,通过该后门,常规应用程序可以获得特权执行。

基于USB的(类型I):可以使用恶意固件重新编程各种USB设备,这些固件能够以邪恶的方式与操作系统交互。例如,BadUSB技术允许重新编程的USB摇杆充当键盘,通过击键将命令发送到计算机,或作为网络卡,可以随时重定向流量。

基于BIOS的(类型I):BIOS是在芯片集中运行的固件。它在计算机上启用电源、初始化硬件,然后将控制权传输到启动扇区时执行。BIOS是一个重要组件,在低级别运行并在启动扇区之前执行。可以使用恶意代码重新编程BIOS固件,就像过去使用Mebromi rootkit一样。

基于虚拟机监控程序的(类型I):新式CPU提供硬件虚拟机监控程序支持,使操作系统能够创建可靠的虚拟机。虚拟机在封闭的模拟环境中运行,理论上不知道仿真。接管计算机的恶意软件可能会实现小型虚拟机监控程序,以隐藏在正在运行的操作系统领域之外。此类恶意软件过去已被理论化,最终观察到真正的虚拟机监控程序根基,尽管迄今鲜为人知。

执行和注入

基于文件的(类型III:可执行文件、DLL、LNK文件、计划任务):这是标准执行向量。可以将简单的可执行文件作为第一阶段恶意软件启动,以在内存中运行额外的有效负载,或注入其他合法运行的进程。

基于宏的(类型III:Office文档):VBA语言是一种灵活而强大的工具,旨在自动编辑任务并向文档添加动态功能。因此,攻击者可能会滥用它来执行恶意操作,例如解码、运行或注入可执行有效负载,甚至实现整个勒索软件,如qkG。宏在Office进程的上下文中执行(,例如,Winword.exe)并使用脚本语言实现。防病毒无法检查任何二进制可执行文件。虽然Office应用需要用户的明确同意才能从文档中执行宏,但攻击者使用社交工程技术来欺骗用户允许执行宏。

基于脚本的(类型II:文件、服务、注册表、WMI存储库、shell):默认情况下,Windows平台上提供JavaScript、VBScript和PowerShell脚本语言。脚本与宏具有相同的优势,它们是文本文件(不是二进制可执行文件)并在解释器的上下文中运行(如wscript.exe、powershell.exe),这是一个干净而合法的组件。脚本是通用的,可以通过双击)或直接在解释器的命令行上执行,从文件(运行脚本。在命令行上运行允许恶意软件将恶意脚本编码为自动启动注册表项内的服务,作为WMI存储库中的WMI事件订阅。此外,获得受感染计算机访问权限的攻击者可能会在命令提示符上输入脚本。

基于磁盘的(类型II:启动记录):启动记录是磁盘或卷的第一个扇区,包含启动操作系统启动过程所需的可执行代码。Petya等威胁可以通过使用恶意代码覆盖启动记录来感染该记录。启动计算机时,恶意软件会立即获得控制。启动记录位于文件系统外部,但操作系统可访问它。新式防病毒产品能够对其进行扫描和还原。
发展历史
利用缓冲区漏洞
2001年7月19日,红色代码病毒曝光,当天全球超过359000台计算机受到了感染。红色代码是一种网络蠕虫病毒,利用微软IIS的缓冲区溢出漏洞进行病毒的感染和传播。
2003年1月,另一个蠕虫病毒SQL Slammer出现,它利用SQL Server2000和数据桌面引擎的缓冲区溢出漏洞来感染服务器内存。
利用注册表
利用缓冲区漏洞的无文件攻击有一个弊端就是一旦进程或系统关闭,恶意攻击也就不复存在。为了实现攻击的持久化,攻击者们将恶意代码写入注册表的RUN键值,调用合法的rundll32.exe程序执行JavaScript代码,使自己在重启后自动继续运行,并使用Powershell工具执行恶意脚本。最早使用该技术的是2014年被发现的点击欺诈软件Powelikes。类似的恶意软件还有Phasebot、Kovter。
利用Microsoft Word宏
2016年,“无文件”恶意软件的发展又出现了新的特点。PowerSniff、PowerWare、August等利用Microsoft Word宏来进行钓鱼传播的“无文件”恶意软件陆续出现。
利用WMI
2017年,名叫“POSHSPY”的“无文件”恶意软件出现,它利用系统提供的WMI(Windowa Management Instrumentation)功能来实现定时自启动,并利用PowerShell工具执行恶意脚本。

检测难点
无文件攻击由系统或软件漏洞侵入系统,利用受信任的软件或系统工具来躲避检测,通过注册表实现永久驻留,或者使用 WMI 功能定时自启,同时不断渗透进入其他计算机,利用操作系统特性来达到数据隐身,让基于文件监测的查杀手段失效。

检测方法
监控进程内存,利用已知的远控、Shellcode、无文件攻击框架等特征,匹配正在运行进程的内存数据,查找恶意代码。
监控系统行为,利用行为检测技术,分析系统进程的启动、注入、网络通信等异常行为,发现可疑的攻击活动。
监控系统日志,利用日志分析技术,收集和分析系统的事件日志、安全日志、应用日志等,发现可疑的攻击痕迹。
监控系统配置,利用配置管理技术,检查系统的计划任务、注册表、服务等,发现可疑的自启动项或恶意修改。
防护手段
禁用或限制系统内置的工具或脚本,如关闭Office文档的宏功能,禁用或限制Rundll32、Powershell、Mshta等程序的执行。
安装和更新系统的补丁,修复已知的缓冲区溢出漏洞,防止恶意代码的注入。
安装和更新系统的杀毒软件,利用杀毒软件的实时防护、行为防护、内存防护等功能,阻止恶意代码的执行。
安装和更新系统的EDR软件,利用EDR软件的行为检测、日志分析、配置管理等功能,检测和清除无文件攻击;使用最新的安全软件,及时更新系统的补丁和防护规则,提高系统的安全性能和抵抗能力。
应用白名单策略,限制可信程序或工具的执行权限,防止恶意代码的注入或执行。
启用系统的安全设置,禁用不必要的服务或功能,如PowerShell、宏、WMI等,减少攻击的攻击面。
使用行为分析技术,监测系统的异常行为,如进程注入、注册表修改、网络连接等,及时发现和阻止攻击。
使用内存取证技术,分析内存中的恶意代码,提取攻击的特征和证据,追踪攻击的来源和目的。

无文件攻击是一种隐蔽而危险的攻击方式,需要我们提高警惕,加强防护,及时应对。

相关文章
|
3月前
|
人工智能 前端开发 数据挖掘
全链路实战:依托Codex完成PPT、数据分析、网页与APP一站式AI开发教程
在AI技术飞速迭代的当下,代码生成早已不是AI工具的单一能力边界。OpenAI旗下的Codex经过持续升级,如今已经成长为一款综合性智能生产力平台,除了经典的代码编写能力外,还支持插件调用、电脑远程操控、数据分析、多媒体制作、全品类应用开发等多元功能。本文将结合完整实操流程,一步步演示如何使用Codex完成PPT制作、体育赛事数据分析预测、网页开发以及移动端APP开发四大核心场景,全程记录操作指令、执行过程、代码实现以及问题优化方案,直观展现AI如何重塑传统工作与开发流程,同时剖析这套全链路AI工作模式的优势与现存局限。整套流程无需深厚的专业功底,普通办公人员、初级开发者都可以参考落地。
1107 1
|
11月前
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
751 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
数据安全/隐私保护 Windows
电脑文件夹加密全攻略:Anvi Folder Locker 工具详解(附下载),一键实现锁定、只读、隐藏三重保护
Anvi Folder Locker是由Anvsoft Corporation开发的免费文件夹和文件加密工具,适用于Windows系统。它提供多种保护方式,如隐藏、密码保护、锁定和只读等,确保敏感数据安全。软件功能强大,集成在Windows资源管理器中,支持24/7免费技术支持。用户可自定义权限,防止文件被修改、复制或删除。初次使用需设置主密码,安装后即可快速保护文件夹。
9471 3
|
存储 缓存 网络协议
第五问:一个程序从点击到启动发生了什么?
一个可执行程序从用户点击启动到运行,经历了8个主要阶段:用户触发启动、操作系统查找文件、进程创建、可执行文件加载到内存、初始化程序上下文、执行程序入口点、程序运行和程序退出。涉及硬盘、内存、缓存等硬件交互。
|
文字识别 数据可视化 项目管理
2024年知识管理软件评测:哪款工具最适合初创团队提升工作效率?
本文评测了8款适合初创企业的知识管理软件,包括板栗看板、Notion、Confluence、Evernote Business、Slack、Miro、Trello和Airtable。这些工具不仅支持高效的团队协作,还具备强大的信息管理功能,帮助企业在快速成长的过程中保持信息的有序和共享。初创企业可根据自身需求选择最适合的工具,提升团队效率。
 2024年知识管理软件评测:哪款工具最适合初创团队提升工作效率?
|
监控 安全 网络安全
IT 知识百科:什么是暴力破解?
本文深入解析了“暴力破解”这一信息技术领域的常见话题,涵盖其原理、应用及防范措施。文章首先介绍了暴力破解的基本概念,即通过穷举所有可能的字符组合来尝试获取信息或密码。接着,探讨了暴力破解在密码破解、系统入侵和数据库攻击中的应用。最后,提出了包括使用强密码、限制登录尝试次数、多因素认证、定期更新密码、加强系统安全防护及监控预警在内的六项防范措施,旨在帮助用户有效抵御暴力破解攻击,保障信息安全。
1139 3
|
Web App开发 安全 关系型数据库
xss漏洞原理(五)BeEF
xss漏洞原理(五)BeEF
|
存储 SQL 分布式计算
浅谈MPP架构
浅谈MPP架构
|
Java 应用服务中间件 nginx
Spring Boot 学习研究笔记(二十)-docker部署SpringBoot使用nginx配置域名
Spring Boot 学习研究笔记(二十)-docker部署SpringBoot使用nginx配置域名
940 0
|
存储 Ubuntu 小程序
操作系统分类和Linux系统版本及起源| 学习笔记
快速学习操作系统分类和Linux系统版本及起源
1023 0
操作系统分类和Linux系统版本及起源| 学习笔记

热门文章

最新文章