EXOCET 优于 Metasploit 的“Evasive Payloads”模块,因为 EXOCET 在 GCM 模式(Galois/Counter 模式)下使用 AES-256。Metasploit 的 Evasion Payloads 使用易于检测的 RC4 加密。虽然 RC4 可以更快地解密,但 AES-256 很难确定恶意软件的意图。
它摄取现在可被防病毒引擎检测到的危险恶意软件
然后加密它们并生成它自己的 Go 文件
然后该 Go 文件可以交叉编译为 99% 的已知架构
执行后,加密的有效负载被写入磁盘并立即在命令行上执行
或者,它会使用 amenzhinsky 的 go-memexec 模块github.com/amenzhinsky/go-memexec在内存中执行重构的 shellcode,而不是文件删除
一个自定义的shellcode executor正在开发中,它需要普通的C shellcode,经过num-transform后,它会在分配正确的虚拟地址空间并在Windows上授予它RWX权限后创建一个新进程来运行它
EXOCET,无论您使用哪个二进制文件来运行它,都需要 Golang 才能工作。默认情况下,它会生成一个 crypter .go 文件。
Windows 用户:安装 Go Here
Linux 用户:运行 sudo apt-get update && sudo apt-get install -y golang
您必须在 golang 中安装 EXOCET 源文件 go get github.com/tanc7/EXOCET-AV-Evasion
子需求也将被下载和安装
对于 Windows 和 Mac x64 用户,预编译的二进制文件位于 /bin 文件夹中
运行:
go run EXOCET.go detectablemalware.exe outputmalware.go
对于 64 位 Windows 目标
env GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.exe outputmalware.go
出来一个outputmalware.exe
文件
对于 64 位 MacOS 目标
env GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.macho outputmalware.go
对于 64 位 Linux 目标
env GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.elf outputmalware.go
更新:
内联挂钩
通过模拟 BlackRota 和 gobfuscate 模块进行混淆
工艺镂空
反射 DLL 注入
远程进程注入
ThreadLocalStorage 回调
顶级异常处理程序的注册
定制 UPX 包装
实验:
生成 shellcode,这可以来自 msfvenom Meterpreter 有效载荷、Cobalt Strike Beacons 或您自己的 C 兼容格式的自定义 shellcode
第 2 步:仅将 shellcode 的字节复制到像 sc.txt 这样的文本文件中,不包括引号
第 3 步:您的 shellcode 文件应如下所示。原始shellcode
第 4 步:现在运行命令 go run exocet-shellcode-exec.go sc.txt shellcodetest.go KEY
详细项目地址:
https://github.com/tanc7/EXOCET-AV-Evasion
好文推荐
欢迎关注 系统安全运维