文章总结: 该文档介绍了一个名为fscan_bypass的工具集,其核心功能是对fscan等可执行文件进行免杀处理,以绕过终端检测与响应(EDR)系统的检测。工具采用内存加载执行技术,将原始EXE文件转换为加密的Shellcode,再通过一个轻量化的加载器程序在内存中解密并执行,从而规避基于静态文件特征的检测。文档详细说明了该工具的三步操作流程:转换EXE为Shellcode、XOR加密、使用加载器执行,并强调了通过修改加载器源代码进行混淆以持续对抗EDR特征库的重要性。关键发现包括利用二进制载荷加密、内存加载规避静态检测、加载器轻量化与特征管理、加密密钥动态化以及攻击工具的模块化设计,这些技术模拟了高级攻击中的无文件攻击和进程注入思路。可操作建议是用户需具备Python和VisualStudio环境配置能力,并可通过修改loader.cpp源代码重新编译加载器以应对EDR的持续更新。 综合评分: 78 文章分类: 安全工具,渗透测试,免杀,二进制安全,内网渗透
fscan_bypass【用于对fscan等EXE文件进行免杀处理的工具集】
原创
白帽学子 白帽学子
白帽学子
2026年2月26日 09:08 广东
在内网摸到一台机器,传个fscan上去想扫一下端口和存活主机,结果刚落地没两分钟,就被客户那边的终端防护(EDR)给咔嚓了。这已经不是第一次了,现在这些EDR对已知工具的特征抓得越来越准,尤其是fscan这种在圈内“家喻户晓”的扫描器,几乎成了重点监控对象。单纯改个文件名、加个壳,效果越来越差。
fscan_bypass不用到了“内存加载”的路子。简单来说,就是别让那个明晃晃的.exe文件直接在磁盘上跑起来,而是想办法把它的核心代码,想办法加载到内存里直接执行,这样可以绕过很多基于静态文件特征的检测。
它的核心流程就三步,挺清晰:第一步,把你原来的fscan.exe(或者其他你想免杀的64位EXE)转成一串Shellcode(可以理解成一段可执行的机器码);第二步,用个简单的XOR算法给这串Shellcode加个密,变成密文output.bin;第三步,用项目里提供的一个小程序loader.exe(或者你自己用Visual Studio编译一个),它负责把output.bin读进内存,在内存里解密,然后直接执行。这样一来,EDR在磁盘上看到的就是一个loader.exe和一个看起来是乱码的output.bin文件,而不是那个特征明显的fscan.exe,加载器本身代码又很简洁,特征不强,所以绕过效果会好很多。
这个过程本质上是在模拟一些恶意软件或者高级攻击者的常用技术,比如“无文件攻击”或者“进程注入”的前半部分思路。用起来需要一点动手能力,主要是得配置好Python环境(用来跑转换脚本)和Visual Studio(用来编译加载器)。项目提供了个批处理脚本,可以简化操作。关键在于,如果哪天这个loader.exe本身又被EDR盯上了,你还可以去修改它的源代码loader.cpp,比如加点无害的代码、改改变量名、调整下逻辑结构(就是所谓的“混淆”),然后重新编译,又能生成一个新的、特征不同的加载器。
我们来提取并讨论上述工具描述中涉及的网络安全关键技术点:
1、二进制载荷的加密与隐蔽传输:
- 绕过安全软件的第一步,往往是隐藏恶意载荷的静态特征。工具中将原始EXE文件转换为Shellcode并进行XOR加密的处理流程,其核心目的在于改变载荷的“形态”。通过加密,原始的、特征明显的可执行代码在磁盘上被转换为一段看似随机的数据(output.bin),从而规避基于静态哈希(MD5、SHA256)和特征码(YARA规则)的检测。这种技术是恶意软件和攻击工具实现“变形”和隐蔽传输的基础。
2、内存加载执行以规避静态检测:
- 这是此类技术的核心思想,也是绕过现代EDR关键一步。其原理是避免将完整的、具有明显特征的攻击工具(如fscan.exe)直接以文件形式在磁盘上释放和执行。取而代之的是,使用一个独立的、看似无害的加载器程序(loader.exe),该加载器负责将加密的载荷读入内存、解密,并直接在内存空间中创建线程或进程来执行它。这使得终端防护产品无法在磁盘上扫描到原始的恶意文件,从而绕过了对其的静态签名检测。
3、加载器(Loader)的轻量化与特征管理:
- 加载器是整个链条中的关键一环,也是新的潜在风险点。一个理想的加载器必须具备两个特点:1. 代码轻量、逻辑简单,以减少自身的行为特征和被杀软捕获的可能性;2. 易于修改和混淆。正如工具说明中指出的,如果加载器本身被加入特征库,可以通过修改其源代码(如变量名、控制流、添加无害指令)进行混淆,然后重新编译,生成一个具有新“外观”但功能相同的版本。这体现了攻防对抗中,攻击方在工具特征上“持续迭代”的思路。
4、加密密钥的动态化与对抗分析:
- 工具使用了简单的XOR加密,并允许用户自定义密钥。虽然XOR强度不高,但在对抗自动化静态分析时仍有一定作用。更关键的思路是“动态化”。在更高级的实现中,密钥可以作为参数传递、通过网络获取,或者从系统环境中推导,而不是硬编码在二进制中。这增加了安全分析人员逆向工程和解密载荷的难度,因为静态分析无法直接获取解密密钥,迫使分析转向动态调试或更复杂的方法。
5、攻击工具的模块化与反溯源设计:
- 整个EXE -> Shellcode -> 加密 -> 加载器执行的流程,本质上是一种模块化和隔离的设计。攻击工具的核心功能(fscan)被封装为独立的、可加密的载荷,而加载、解密、执行的逻辑则由另一个独立模块(loader)完成。这种设计不仅有利于免杀,也方便进行反溯源。例如,载荷和加载器可以分开投递,攻击者可以频繁更换加载器,而核心攻击载荷保持不变。即使加载器被捕获和分析,也难以直接关联到具体的攻击工具或攻击者。
下载链接
https://pan.quark.cn/s/c00be7fed012
声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白名单。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与本公众号无关。
✦
✦
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:白帽学子 白帽学子 白帽学子《fscan_bypass【用于对fscan等EXE文件进行免杀处理的工具集】》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论