自学内容网 自学内容网

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

关于SuperdEye

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

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

工具功能

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

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

工具要求

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:【GitHub传送门

参考资料

GitHub - C-Sto/BananaPhone: It's a go variant of Hells gate! (directly calling windows kernel functions, but from Go!)

GitHub - f1zm0/acheron: indirect syscalls for AV/EDR evasion in Go assembly

Mushoku Tensei: Isekai Ittara Honki Dasu - MyAnimeList.net


原文地址:https://blog.csdn.net/FreeBuf_/article/details/145267683

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!