SHELLSILO 是一款尖端工具,可将 C 语法转换为系统调用汇编及其对应的 shellcode

admin 2024年10月8日12:57:26评论18 views字数 1093阅读3分38秒阅读模式

SHELLSILO 是一款尖端工具,可将 C 语法转换为系统调用汇编及其对应的 shellcode

SHELLSILO 是一款尖端工具,可将 C 语法转换为系统调用汇编及其对应的 shellcode。它简化了构造和使用结构、分配变量以及进行系统调用的过程。使用此工具,将字符串集成到 shellcode 中并初始化 Unicode 字符串从未如此简单。

SHELLSILO 已经在两种不同的 Windows 10 型号和 Windows 11 上进行了测试。

SHELLSILO 如何获取系统调用号?

  • SHELLSILO 从https://j00ru.vexillium.org/syscalls/nt/64/导入了系统调用编号表,并将每个 Windows 版本转换为其对应的型号。通过检查 PEB(进程环境块),SHELLSILO 可以轻松获取系统的型号,并将其与“syscallslist.txt”表中的自身型号进行比较。

  • SHELLSILO 仅比较代码中使用的系统调用 API。

安装

  • pip3 安装 keystone 引擎

SHELLSILO 支持以下内容:

  • 读取和解析结构

  • 结构体实例

  • 结构成员分配

  • 无限 while 循环

  • If 语句

  • 变量定义和赋值

  • 函数调用

  • 初始化 unicode 字符串

  • 一些 C 常量,例如 MEM_COMMIT 和 MEM_RESERVE

实例:

所提供文件中最实用的模板是 ntwrt.c 文件。

ntwrt.c 文件中发生了什么?

  • 代码首先循环遍历两个系统调用 API NtAllocateVirtualMemory 和 NtQuerySystemInformation,以查找您将在代码中定义的特定运行进程。将代码中的进程名称从“Calculator.exe”更改为您想要的任何进程,例如:“CalculatorApp.exe”(Windows 10)。您更改的进程名称将使用 ShellSilo 的内置函数 InitUnicodeStr 自动初始化为 unicode 字符串,您无需担心该部分。

  • 下一步是使用 NtOpenProcess 和 NtAllocateVirtualMemory 在该进程中分配足够的内存

  • 接下来是将第 108 行的缓冲区(即“h”)作为占位符复制到远程进程。这是一个占位符,生成程序集后,请使用实际的有效载荷缓冲区行更改此行,请参考我的 Defcon 示例 https://github.com/nixpal/ProcInjectSyscall/blob/main/shellcode.c#L222

  • 最后,代码将使用 NtCreateThreadEx 创建该复制缓冲区的新线程。

SHELLSILO 是一款尖端工具,可将 C 语法转换为系统调用汇编及其对应的 shellcode

SHELLSILO 是一款尖端工具,可将 C 语法转换为系统调用汇编及其对应的 shellcode

SHELLSILO 是一款尖端工具,可将 C 语法转换为系统调用汇编及其对应的 shellcode

SHELLSILO 是一款尖端工具,可将 C 语法转换为系统调用汇编及其对应的 shellcode

项目地址:
https://github.com/nixpal/shellsilo

原文始发于微信公众号(Ots安全):SHELLSILO 是一款尖端工具,可将 C 语法转换为系统调用汇编及其对应的 shellcode

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月8日12:57:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SHELLSILO 是一款尖端工具,可将 C 语法转换为系统调用汇编及其对应的 shellcodehttp://cn-sec.com/archives/3240516.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息