前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用Mangle修改已编译的可执行文件以绕过EDR检测

如何使用Mangle修改已编译的可执行文件以绕过EDR检测

作者头像
FB客服
发布2023-03-29 15:45:48
7430
发布2023-03-29 15:45:48
举报
文章被收录于专栏:FreeBuf

 关于Mangle 

Mangle是一款功能强大的代码处理和安全测试工具,该工具基于Golang开发,可以帮助广大研究人员从各个方面对已编译好的可执行程序(.exe或DLL)进行修改,从而实现EDR检测绕过。

 工具运行机制 

Mangle可以删除基于字符串的入侵威胁指标(IoC),并将其替换为随机字符,然后通过增加文件大小来避免EDR检测,而且还可以通过合法文件来克隆代码签名证书。在整个过程中,Mangle可以帮助加载器绕过磁盘和内存扫描工具的检测。

 工具安装 

首先,该工具基于Golang开发,因此我们需要在本地设备上安装并配置好Golang环境。接下来,使用下列命令将该项目源码拉取到本地,然后安装该工具所需的依赖组建,并编译项目代码:

代码语言:javascript
复制
go get github.com/Binject/debug/pe

然后,使用下列命令构建项目源码:

代码语言:javascript
复制
go build Mangle.go

 工具使用 

参数解释

-C 字符串:包含需要克隆的证书路径; -I 字符串:原始文件路径; -M 字符串:编辑PE文件以替换/去除Go标识符指定的字符串; -O 字符串:新文件名称; -S 整数:需要增加多少文件大小;

字符串

Mangle可以获取研究人员提供的可执行文件并寻找那些安全产品可能会搜索或触发安全警报的已知字符串。这些字符串并不是唯一的检测因素,因为反病毒产品一般会将这些字符串和其他(遥测)数据结合起来检测。而Mangle可以找到这些已知的字符串,并用随机值替换掉字符串的十六进制值,然后移除原始字符串。需要注意的是,这种替换方式并不会改变文件大小,这样可以防止文件报错。

字符串修改样例:修改前。

字符串修改样例:修改后。

文件体积增加

几乎所有EDR都无法扫描磁盘或内存中超过一定大小的文件,因为大文件需要更长的时间来查看、扫描或监视,而EDR不希望通过降低用户的生产率来影响性能。Mangle通过在文件末尾创建空字节(零)填充来增加文件体积,这样可以确保文件内的任何内容都不会受到影响。建议将大小增加95-100 MB,不建议制作2 GB或以上的文件。

证书克隆

Mangle还可以从一个文件中获取合法代码签名证书的完整链和所有属性,并将其复制到另一个文件。其中包括签名日期、反签名和其他可测量的属性:

 许可证协议 

本项目的开发与发布遵循MIT开源许可证协议。

 项目地址 

Mangle:https://github.com/optiv/Mangle

参考资料:

https://github.com/Tylous/Limelighter https://github.com/Binject/debug

精彩推荐

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  关于Mangle 
  •  工具运行机制 
  •  工具安装 
  •  工具使用 
    • 参数解释
      • 字符串
        • 文件体积增加
          • 证书克隆
          •  许可证协议 
          •  项目地址 
          • 参考资料:
          相关产品与服务
          代码签名证书
          代码签名证书(Code Signing Certificates)是为软件开发者提供代码软件数字签名的认证服务。通过对代码的数字签名可以减少软件下载时弹出的安全警告、保证代码不被恶意篡改、使厂商信息对下载用户公开可见等效果,从而建立良好的软件品牌信誉度。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档