大家好,欢迎来到IT知识分享网。
探索未知,揭秘Acheron——一个安全研究的利器
acheronindirect syscalls for AV/EDR evasion in Go assembly项目地址:https://gitcode.com/gh_mirrors/ac/acheron
Acheron是一个灵感来源于SysWhisper3、FreshyCalls和RecycledGate的开源库,它以Go汇编语言为主导,致力于在Go语言环境中实现间接系统调用的能力,帮助开发者绕过依赖检测系统,如杀毒软件或行为监控工具。
项目简介
Acheron的核心功能是提供一种方式,在Golang代码中创建间接系统调用,以便进行更隐蔽的操作。这个库不依赖任何外部组件,所有的关键部分都是由纯Go和Go汇编语言实现的。特别地,它还支持自定义字符串加密和哈希算法,增加了对抗静态分析的难度。
技术解析
当创建新的系统调用代理实例时,Acheron执行以下步骤:
- 遍历PEB(进程环境块)获取内存中的ntdll.dll基地址。
- 解析导出目录,找到每个导出函数的地址。
- 计算每个
Zw*
函数对应的系统服务号。 - 在ntdll.dll中枚举未被挂钩的“syscall;ret”片段作为跳板。
- 创建代理实例,用于间接或直接调用系统调用。
应用场景
Acheron适用于各种安全研究与逆向工程场景,包括但不限于:
- 进程注入
- 系统资源管理(例如,分配和释放内存)
- 安全绕过技术(避免被用户模式钩子和内核级监控程序检测)
项目特点
- 无依赖性:完全独立,无需额外安装其他包。
- 纯Go和汇编实现:使用Go语言底层语法,提高效率和隐蔽性。
- 自定义加密/哈希:允许定制字符串处理策略,增强反静态分析能力。
快速上手
要集成Acheron到你的项目中,只需运行以下命令获取库:
go get -u github.com/f1zm0/acheron
之后,使用acheron.New()
创建一个系统调用代理,并通过acheron.Syscall()
来执行间接系统调用。
查看提供的示例代码,了解如何轻松地进行间接的NtAllocateVirtualMemory
调用:
// ... 省略导入语句 func main() { var baseAddr uintptr hSelf := uintptr(0xffffffffffffffff) // 创建Acheron实例 ach, err := acheron.New() if err != nil { panic(err) } // 间接调用NtAllocateVirtualMemory s1 := ach.HashString("NtAllocateVirtualMemory") retcode, err := ach.Syscall( s1, hSelf, uintptr(unsafe.Pointer(&baseAddr)), uintptr(unsafe.Pointer(nil)), 0x1000, windows.MEM_COMMIT|windows.MEM_RESERVE, windows.PAGE_EXECUTE_READWRITE, ) if err != nil { panic(err) } fmt.Printf("分配了内存(状态:0x%x)\n", retcode) }
示例代码
项目中提供了多个示例,展示如何使用Acheron:
- sc_inject:简单的进程注入PoC,支持直接和间接系统调用。
- process_snapshot:使用间接系统调用来捕获系统过程快照。
- custom_hashfunc:展示如何自定义编码/哈希函数。
贡献指南
如果你对项目有建议或想法,欢迎打开问题或提交拉取请求。当前正在寻找对32位支持、其他解决器类型等方面的贡献。
参考资料
项目引用了多项研究和技术,详情见项目README。
注意事项
本项目仅供教育用途,不得在未经授权的情况下对他人系统使用。开发人员不对因错误使用该库而造成的任何损害负责。
开源许可
该项目遵循MIT许可协议,具体条款见LICENSE文件。
Acheron,这个名字来源于希腊神话中的冥河,象征着将亡灵送入地狱的通道,寓意着项目可以帮助开发者深入系统的底层世界。
探索之旅已经开始,让我们一同驾驭Acheron,游走于技术的边缘,揭示系统之奥秘!
acheronindirect syscalls for AV/EDR evasion in Go assembly项目地址:https://gitcode.com/gh_mirrors/ac/acheron
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/149349.html