主要观点总结
文章介绍了SGN项目,一个用于攻击性安全目的的二进制编码器。它使用附加的反馈回路编码二进制指令,类似于LSFR。这个项目是Shikata ga nai编码器的重新实现,并进行了许多改进。
关键观点总结
关键观点1: 项目介绍
SGN是一个多态二进制编码器,用于攻击性安全目的。它使用类似于LSFR的反馈回路来编码二进制指令。
关键观点2: 主要改进点
该项目对Shikata ga nai编码器进行了改进,包括支持64位编码,更小的解码器存根,使用伪随机模式编码存根等。
关键观点3: 工作流程
文章描述了SGN编码器的基本工作流程图,包括垃圾指令、解码器和模式解码器的大小、位置和顺序的变化。
关键观点4: 使用说明
文章提供了SGN编码器的使用说明和标志参数,包括输入二进制路径、输出二进制名称、二进制架构等选项。
文章预览
项目介绍 SGN是一个多态二进制编码器,用于攻击性的安全目的,例如:生成静态不可检测的二进制有效载荷,它使用一个附加的反馈回路来编码给定的二进制指令,类似于LSFR,这个项目是对golang的原始Shikata ga nai的重新实现,有许多改进 shikata ga nai编码器的原始实现被认为是最好的shellcode编码器(直到现在),但多年来安全研究人员发现了静态检测编码器的几个陷阱(相关工作FireEye文章),这个项目的主要动机是创建一个更好的编码器,它将给定的二进制编码到与完全随机的数据相同的程度并且不可能检测到解码器的存在。在keystone汇编程序库的帮助下,实现了以下改进: 64位支持:正确编码的x64 shellcode 新的更小的解码器存根:LFSR密钥减少到1个字节 使用伪随机模式编码的存根:解码器存根也用psudo随机模式编码 没有可见的循环条件Stub在不使用任何
………………………………