SuperdEye:一款基于纯Go实现的间接系统调用执行工具

admin 2025年1月19日17:44:09评论2 views字数 1620阅读5分24秒阅读模式
SuperdEye:一款基于纯Go实现的间接系统调用执行工具
关于SuperdEye

SuperdEye是一款基于纯Go实现的间接系统调用执行工具,该工具是TartarusGate 的修订版,可以利用Go来实现TartarusGate 方法进行间接系统调用。

SuperdEye:一款基于纯Go实现的间接系统调用执行工具

该工具的目标是为了扫描挂钩的NTDLL并检索Syscall编号,然后使用它来执行间接系统调用,从而允许绕过基于函数钩子的AV/EDR。

工具功能

该工具将扫描已挂钩的 NTDLL。一旦找到目标函数,如果该函数被 AV 或 EDR 挂钩,将扫描上下相邻函数,直到找到干净的系统调用。这将允许计算目标函数的 ssn。一旦找到 ssn,就会构建一个间接系统调用。

工具运行原理如下图所示:

SuperdEye:一款基于纯Go实现的间接系统调用执行工具

工具要求

Golang

工具安装

由于该工具基于Go开发,因此我们首先需要在本地设备上安装并配置好最新版本的Go语言环境。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/almounah/superdeye.git
工具使用

该工具的使用非常简单,我们只需要直接导入包并使用即可。

SuperdEye 包公开了SuperSyscall,并可直接将其用于执行间接系统调用:

import ("fmt""unsafe""github.com/almounah/superdeye")...NTSTATUS, err = superdeye.SuperdSyscall("NtCreateThreadEx", uintptr(unsafe.Pointer(&hThread)), uintptr(0x1FFFFF), uintptr(0), handleProcess, pBaseAddress, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))if err != nil {        fmt.Println("Syscall was not executed... Likely the Syscall was not found or a bug...")fmt.Println(err.Error())}fmt.Println("Syscall NtCreateThreadEx Made with NTSTATUS ", NTSTATUS)

为了更好的可用性,一些系统调用已经跟官方包golang.org/x/sys/windows封装到一起以实现更好的兼容性:

import ("fmt""unsafe""github.com/almounah/superdeye""golang.org/x/sys/windows")...pBaseAddress, NTSTATUS, err := superdeye.NtAllocateVirtualMemory(windows.Handle(handleProcess), uintptr(0), uintptr(len(payloadClearText)), windows.MEM_COMMIT|windows.MEM_RESERVE, windows.PAGE_EXECUTE_READWRITE)if err != nil {        fmt.Println("Syscall was not executed... Likely the Syscall was not found or a bug...")fmt.Println(err.Error())}fmt.Println("Syscall NtAllocateVirtualMemory Made with NTSTATUS ", NTSTATUS)...

未来将有更多 Syscalls 与官方 Windows 包兼容(欢迎贡献superdwrapper.go的代码)。

工具运行效果

SuperdEye:一款基于纯Go实现的间接系统调用执行工具

项目地址

SuperdEye

https://github.com/almounah/superdeye

原文始发于微信公众号(FreeBuf):SuperdEye:一款基于纯Go实现的间接系统调用执行工具

 

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

发表评论

匿名网友 填写信息