利用图形处理单元(GPU)的计算能力来执行shellcode。该工具由H1d3r开发它通过使用GPU提高代码执行的效率和隐蔽性,这一特点使其在传统计算任务中表现出色。
背景
GPU是专门为图形渲染设计的硬件。然而,其并行处理能力使其适用于图形渲染以外的各种计算任务,这种用法被称为通用图形处理单元计算(GPGPU)。GPGPU已经在科学模拟、机器学习等领域得到了广泛应用,现在也被引入到网络安全领域。
Shellcode执行
Shellcode是一小段代码,通常作为软件漏洞利用的有效载荷。它通常赋予攻击者对受感染系统的控制。传统的shellcode执行方法依赖于CPU,这使得它们容易被安全机制检测到。
操作步骤
- 初始化:首先,我们需要设置和初始化一些结构,并运行我们的VEH(Vectored Exception Handler)处理程序。
- 运行无阶段有效载荷:其次,我们运行无阶段有效载荷。我们必须使用无阶段有效载荷,以便确定反射将落在哪里(我使用Cobalt Strike,它使用DLL反射加载器)。在此步骤中,我们只关注第二阶段(即实际的有效载荷)。此步骤中没有添加任何技巧,只有一个VirtualAlloc和一个RWX(可读写可执行)部分。
- 将有效载荷复制到GPU内存:当有效载荷进入睡眠状态时,我们将有效载荷复制到GPU内存,并清除实际内存中的有效载荷。
- 处理异常:当睡眠结束后,VEH处理程序将通过重新设置内存权限来处理异常(EXCEPTION_ACCESS_VIOLATION),将内存权限设置为PAGE_EXECUTE_READWRITE,并将有效载荷从GPU放回原位。
工具示例
工具地址
https://github.com/H1d3r/GPU_ShellCode
原文始发于微信公众号(安全视安):【工具推荐】将 ShellCode 隐藏在 gpu 内存内
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论