工具集:BlobRunner【Shellcode 快速调试工具】

admin 2025年2月19日10:09:39评论14 views字数 1654阅读5分30秒阅读模式
BlobRunner 是一个简单的工具,可用于快速调试在恶意软件分析过程中提取的 Shellcode。 BlobRunner 会为目标文件分配内存,并跳转到分配内存的基址(或偏移量)。这使得分析人员能够迅速对提取的代码片段进行调试,且几乎无需额外开销和过多精力。
工具集:BlobRunner【Shellcode 快速调试工具】
要使用 BlobRunner,您可以从发布页面下载已编译的可执行文件,或者按照以下步骤自行构建。
工具集:BlobRunner【Shellcode 快速调试工具】

构建    

构建可执行文件的过程非常直接,而且相对轻松。

Windows 系统

所需条件

下载并安装 Microsoft Visual C++ Build Tools(微软 Visual C++ 构建工具)或 Visual Studio(Visual Studio 集成开发环境)。

构建步骤

打开 Visual Studio 命令提示符(即 Visual Studio Command Prompt)。 进入包含 BlobRunner 源代码的目录(即切换到存放 BlobRunner 代码的文件夹)。 通过运行以下命令来构建可执行文件:

cl blobrunner.c

构建 BlobRunner x64

构建 x64 版本的过程几乎与上述步骤相同,只是使用了 x64 工具链。

  • 打开 x64 版的 Visual Studio 命令提示符(即 x64 Visual Studio Command Prompt)。

  • 进入包含 BlobRunner 源代码的目录(即切换到存放 BlobRunner 代码的文件夹)。

  • 通过运行以下命令来构建可执行文件:

 cl /Feblobrunner64.exe /Foblobrunner64.out blobrunner.c

用法 

进行调试:

  • 在您常用的调试器中打开 BlobRunner。

  • 将 Shellcode 文件作为第一个参数传递。

  • 在跳转到 Shellcode 之前添加一个断点。

  • 步入 Shellcode 进行调试。

BlobRunner.exe shellcode.bin

在特定偏移量处对文件进行调试。

BlobRunner.exe shellcode.bin --offset 0x0100

对文件进行调试且在跳转前不停顿。警告:确保你在跳转之前设置了一个断点。

BlobRunner.exe shellcode.bin --nopause

即时(Just-In-Time,JIT)调试器 可选参数 --jit 可用于通过配置好的即时(JIT)调试器来调试 Shellcode。为了触发调试器,BlobRunner 会取消新分配内存区域的执行权限。这会导致程序在尝试执行加载的 Shellcode 时引发访问违规(0xC0000005)异常。

示例:
BlobRunner.exe shellcode.bin --jit

一旦调试器加载完成,授予该区域可执行权限。使用 x64Dbg 时,你可以使用 setpagerights 命令,并传入 BlobRunner 返回的地址。

setpagerights <region>, ExecuteReadWrite

调试 x64 Shellcode

由于 x64 编译器不支持内联汇编,因此为了支持调试 x64 Shellcode,加载器会创建一个挂起的线程,这允许你在恢复线程之前在线程入口处设置断点。

远程调试 Shellcode(IDAPro) 

这一过程几乎与本地调试 Shellcode 完全相同,唯一的区别是你需要将 Shellcode 文件复制到远程系统。如果文件被复制到你运行 win32_remote.exe 的同一路径下,你需要使用文件名作为参数。否则,你需要指定远程系统上 Shellcode 文件的路径。

Shellcode 示例

你可以使用 Metasploit 工具 msfvenom 快速生成 Shellcode 示例。

生成一个简单的 Windows 执行有效载荷(payload)。

msfvenom -a x86 --platform windows -p windows/exec cmd=calc.exe -o test2.bin

项目地址

https://github.com/OALabs/BlobRunner

原文始发于微信公众号(风铃Sec):工具集:BlobRunner【Shellcode 快速调试工具】

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月19日10:09:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   工具集:BlobRunner【Shellcode 快速调试工具】https://cn-sec.com/archives/3759287.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息