"Double-click Hijacking" (双击劫持) 是一种恶意行为,攻击者利用操作系统的文件关联机制或其他系统特性,在用户不知情的情况下,将他们的双击操作重定向到恶意程序。下面是它的 底层原理:
"Double-click Hijacking" (双击劫持) 是一种恶意行为,攻击者利用操作系统的文件关联机制或其他系统特性,在用户不知情的情况下,将他们的双击操作重定向到恶意程序。下面是它的 底层原理:
1. 文件关联机制
操作系统中,文件与程序之间的关联是通过文件扩展名来管理的。当用户双击某个文件时,操作系统会根据该文件的扩展名,查找并启动与该文件类型关联的默认应用程序。
- 例如,
.txt文件通常会与文本编辑器(如 Notepad)关联,而.exe文件则会启动可执行程序。 - 双击劫持 通过修改文件的默认关联设置或通过恶意软件操控这些设置,来改变文件关联的行为,使用户的双击操作启动的是恶意程序而非预期的应用。
2. 恶意文件扩展名的利用
攻击者可能会创建伪装成正常文件的恶意文件,通常这种文件在外观上不会引起用户的警觉。最常见的方式是利用 扩展名混淆。
- 例如,攻击者可能将一个可执行的恶意文件命名为
document.txt.exe,并且通过隐藏文件扩展名的方式,让用户看到的只是document.txt,从而误导用户双击。 - 在某些情况下,攻击者可能会通过修改文件扩展名(如
.lnk、.vbs)来使得恶意脚本或链接文件以正常文件的形式出现。
3. 注册表修改
在 Windows 系统中,文件类型与程序的关联设置存储在系统注册表中,恶意软件可能通过修改这些注册表项,改变文件的默认打开程序。
-
例如,攻击者可能通过篡改注册表中的
"HKEY_CLASSES_ROOT"或"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts"键,来使得某些文件的双击行为被重定向到恶意程序。示例路径:
"HKEY_CLASSES_ROOT\.txt"会显示.txt文件的默认关联程序。"HKEY_CLASSES_ROOT\exefile"用于控制.exe文件的处理。
4. 恶意链接和快捷方式
攻击者还可以通过在系统中创建伪装的快捷方式或链接(如 .lnk 文件),将正常的文件路径指向恶意程序。通过伪装成常见的文件类型或应用,攻击者能够诱使用户双击这些伪装的快捷方式,从而执行恶意代码。
"Double-click Hijacking"(双击劫持)是一种利用用户习惯的攻击方式,攻击者通过修改系统设置或利用文件关联机制来劫持用户的双击操作,迫使用户执行恶意代码。除了文件关联机制外,恶意链接和快捷方式是攻击者常用的手段。接下来我们深入探讨它们的底层原理:
1. 伪装成正常文件的快捷方式
攻击者可以创建伪装成普通文件的快捷方式(.lnk文件),这类文件通常会指向一个特定的程序或文件。当用户双击这个看似无害的快捷方式时,实际上会启动指向的恶意程序。快捷方式本身并不会显示出其真正的目标路径,而是通过隐藏路径或伪装的方式来诱导用户执行恶意操作。
- 伪装文件类型:攻击者会创建一个快捷方式,名称可能是像
MyDocuments.lnk、Invoice.pdf.lnk等,诱使用户认为它是一个文档或常见文件类型。实际上,这个快捷方式指向的是一个恶意程序或脚本(如.exe或.bat文件)。例如,攻击者可以通过这种方式让文件的真实路径指向一个看似无害的程序,但实际上该程序是恶意的。 - 隐藏文件扩展名:如果操作系统没有显示文件扩展名,用户无法辨别这个
.lnk文件的真实性。攻击者可以通过文件扩展名混淆的手段,使得快捷方式看起来像是一个普通文档或图片,用户容易误操作。
2. 利用文件属性篡改
恶意链接或快捷方式不仅仅是简单的指向程序文件,它们还可以利用文件的其他属性来增加攻击的隐蔽性。例如,攻击者可能修改文件的图标,让快捷方式的图标看起来与一个常见的应用程序图标完全相同(如Word、Excel等),使用户更容易相信它是一个正常文件。
- 改变快捷方式图标:通过改变快捷方式的图标,使其看起来像是正常的系统文件或应用程序图标。这种伪装可以让用户对文件产生信任,尤其是当文件的名字与常见文件相似时(如
MyFile.lnk)。这样,当用户双击该快捷方式时,他们实际上运行的是一个恶意程序。
3. 链式攻击与恶意挂载
攻击者不仅可以创建单一的恶意快捷方式,还可以设计链式攻击,即多个恶意快捷方式相互作用。例如,恶意快捷方式可能会启动一个可执行文件,该文件在运行时再创建其他恶意快捷方式,最终使攻击扩展到系统的多个部分,达到更严重的攻击效果。
- 利用网络共享:攻击者还可以利用共享文件夹中的快捷方式,诱使其他用户在网络环境中双击从恶意共享目录中获得的快捷方式。这类攻击的潜在影响可以远远超出本地环境,成为广泛传播的恶意链条。
- 挂载驱动器漏洞:有时,恶意快捷方式会与系统挂载驱动器的漏洞结合,使攻击者能够在其他驱动器上执行恶意代码。比如,某些操作系统可能默认允许用户挂载外部设备并自动打开其中的快捷方式,攻击者通过设计恶意快捷方式实现漏洞利用。
4. 漏洞利用与权限提升
有时,恶意快捷方式不仅仅执行恶意程序,还可能利用系统的漏洞来进行权限提升。攻击者通过执行特定的快捷方式文件,可以触发操作系统的漏洞,从而获得更高的系统权限(如管理员权限)。
- 权限提升:通过利用快捷方式文件的特殊属性或权限配置,攻击者可以通过双击该快捷方式提升权限。例如,某些特定的快捷方式可能会在系统环境中以管理员身份运行,从而绕过安全设置。
5. 防范措施
- 禁用快捷方式自动启动:可以通过组策略或注册表设置禁用或限制快捷方式的自动启动。这样,操作系统不会轻易允许快捷方式在没有明确许可的情况下启动。
- 显示文件扩展名:确保操作系统设置为显示所有文件的扩展名,这样可以防止攻击者通过隐藏扩展名来伪装恶意快捷方式。
- 定期检查快捷方式目标:定期检查所有文件的目标路径,尤其是快捷方式文件,以确保它们指向的程序和目标文件是合法和可信的。
- 安全意识培训:提高用户的安全意识,教育他们如何辨别快捷方式和文件的真正来源,避免轻易打开来源不明的文件。
恶意链接和快捷方式是攻击者利用“双击劫持”进行恶意操作的重要手段。通过伪装成正常文件或系统文件,攻击者可以欺骗用户点击快捷方式并执行恶意程序。理解这些攻击手段的工作原理并采取适当的防范措施,可以大大降低遭遇此类攻击的风险。
5. 自动执行和命令注入
在一些情况下,攻击者可以利用双击文件触发某些自动执行的命令。比如通过修改某个合法文件的文件头或尾部,注入恶意命令或脚本。
“自动执行和命令注入”是双击劫持攻击中一种常见的手段,攻击者通过操控文件的执行行为来执行恶意代码。下面详细解释这一过程的底层原理:
1. 自动执行功能(Auto-Execution)
在操作系统中,某些文件类型和程序可能会触发自动执行的行为。例如,Windows操作系统支持某些文件的自动执行,比如AutoRun功能,通常用于便捷地启动U盘或CD中的程序。
- AutoRun:当你插入USB驱动器时,系统可能会自动运行存储在驱动器中的
autorun.inf文件指定的程序。这对于恶意攻击者来说是一个漏洞,攻击者可以通过在USB或其他可移动存储设备中放置恶意的autorun.inf文件,让文件在插入后自动执行。 - 恶意脚本注入:攻击者可以通过将恶意脚本(如批处理文件、PowerShell脚本、VBS文件等)嵌入到一个看似无害的文件中,使得当用户双击该文件时,脚本被执行,达到执行恶意代码的目的。
2. 命令注入(Command Injection)
攻击者还可以通过“命令注入”技术,利用操作系统或应用程序的漏洞,将恶意命令注入到正常的文件或程序执行过程中。当用户无意中打开这些文件时,注入的命令被执行。
- 恶意文件头注入:某些文件格式(如图片、PDF文档)支持附加数据。如果攻击者能够控制这些文件的内容,就可以在文件头或文件尾部添加恶意代码。系统在打开文件时,可能会解析或执行这些附加的恶意命令。
- 例如,某些图片格式(如JPEG、PNG)支持将脚本嵌入到文件头部,如果应用程序没有足够的安全性检查,攻击者可以在图片文件的头部注入一个恶意的执行命令。双击该图片时,文件中隐藏的命令就会被触发,执行攻击者设定的操作。
3. 注入恶意脚本
攻击者也可以利用注入恶意脚本的方法,通过篡改文件来达到执行恶意命令的目的。
- 恶意批处理文件:攻击者可以将恶意批处理命令嵌入到文本文件中。当用户双击该文本文件时,文件会被打开并执行批处理命令。比如,某些文档文件(例如
.txt或.rtf文件)可以包含恶意的批处理脚本,攻击者通过隐藏这些脚本,使得用户在打开文件时执行恶意命令。 - PowerShell注入:攻击者还可以通过PowerShell脚本来执行恶意操作,PowerShell具有较高的系统访问权限,能够执行文件操作、下载恶意软件或控制计算机。攻击者可以将PowerShell命令注入到其他文件中,利用系统漏洞触发这些脚本。
4. 利用文件类型识别漏洞
某些文件类型和应用程序在解析文件时可能存在漏洞,攻击者可以利用这些漏洞来注入恶意代码。当操作系统或应用程序打开文件时,恶意代码会在后台执行。
- 文件类型混淆:攻击者可以通过混淆文件类型(例如,将
.exe文件伪装为.jpg图片文件)来欺骗用户或操作系统。文件扩展名可以通过隐藏来掩盖其实际类型,使得用户误以为这只是一个普通的图片或文档文件。当用户双击该文件时,文件实际是一个可执行的恶意程序。 - PDF和Office文件漏洞:PDF和Office文档(如Word、Excel)支持嵌入宏和脚本代码。攻击者可以通过修改文档,添加恶意脚本。当用户打开这些文件时,宏或脚本会自动执行,导致恶意软件的下载或系统控制。
5. 防范措施
- 禁用自动执行:禁用操作系统中的“AutoRun”功能,尤其是对于USB驱动器等可移动设备,以避免恶意程序的自动执行。
- 检查文件扩展名:确保操作系统显示所有文件的扩展名,以便用户能清楚地知道文件的真实类型,避免文件扩展名被隐藏。
- 避免运行不明来源的文件:不要随便双击从不明来源(如邮件附件、网络下载、可疑USB驱动器)获取的文件。
- 启用宏安全:对于Office文件,启用宏安全设置,禁止不明来源的宏执行。
- 定期更新操作系统和应用程序:保持操作系统和应用程序的更新,及时修补可能被恶意利用的安全漏洞。
- 使用防病毒软件:及时安装并更新防病毒软件,帮助识别和阻止恶意文件的执行。
自动执行和命令注入是双击劫持攻击中的核心原理,攻击者通过利用操作系统的自动执行机制、文件类型漏洞、注入恶意脚本或命令,在用户双击文件时执行恶意操作。理解这些底层原理有助于采取适当的安全防范措施,以减少受到此类攻击的风险。
6. 典型的双击劫持攻击手段
- 伪装文件:攻击者创建看似正常的文件(如 PDF 文件、图像文件等),但实际上它是一个恶意的可执行文件或脚本。
- 通过脚本注入:攻击者可以通过利用 PowerShell 脚本、VBS 脚本等,使双击某个看似无害的文件时,实际上会运行恶意命令。
- 文件关联利用:恶意软件修改文件的扩展名关联,或者篡改系统设置,导致用户在双击某个文件时,实际打开的是恶意程序。
7. 防范措施
为了避免双击劫持,用户可以采取以下措施:
- 避免隐藏扩展名:确保系统显示所有文件扩展名,避免攻击者利用扩展名混淆。
- 启用杀毒软件:使用可靠的杀毒软件对文件进行实时监控,防止恶意程序的执行。
- 限制不明文件的双击执行:避免双击不明来源的文件,尤其是电子邮件附件和网络下载文件。
- 定期检查文件关联:手动检查文件的默认关联程序,确保系统未被恶意修改。
双击劫持的底层原理主要基于操作系统的文件关联机制、快捷方式利用以及恶意代码注入。攻击者通过修改文件类型的默认关联或伪装正常文件,利用用户的无意双击执行恶意程序。有效的防范措施包括不隐藏文件扩展名、定期检查文件关联设置,以及使用杀毒软件保护系统安全。

浙公网安备 33010602011771号