Fscan 是一款开源的安全扫描工具,它可以帮助安全研究人员发现网络中的潜在安全漏洞。关于魔改二开,这通常指的是对原软件进行修改和二次开发,以适应特定的需求或增加新的功能。以下是一些可能的魔改二开方向:1. **功能增强**: - 增加新的扫描模块,比如针

摘要:🔧 安全工具 | Fscan 魔改二开 · 特征消除与功能扩展 📌 原fscan项目地址:https:github.comshadow1ngf
🔧 安全工具 | Fscan 魔改二开 · 特征消除与功能扩展 📌 原fscan项目地址:https://github.com/shadow1ng/fscan Fscan 是一款优秀的内网综合扫描工具,方便一键自动化、全方位漏扫扫描。在落地使用过程中,流量及文件不修改的情况下基本被检测查杀,针对这种情况,我们进行了一些基本的参数测试和特征去除,外加功能拓展。 📋 目录 一、环境准备 二、直接编译测试 三、特征字符串清除 四、编译层混淆(garble) 五、DLL 加载免杀 六、功能扩展 · 添加新插件 七、功能扩展 · 自定义 POC 八、效果汇总 一、环境准备 下载慢的可以配置国内加速镜像: $env:GO111MODULE = "on" $env:GOPROXY = "https://goproxy.cn,direct" 二、直接编译测试 先不做任何修改,直接编译测一下各杀软的检测情况,作为改造前的基准对照。 原版编译 go build -ldflags="-s -w" -trimpath main.go 加上系统信息的详细版: $env:GOOS="windows"; $env:GOARCH="amd64"; go build -ldflags="-s -w" -trimpath main.go 无窗口模式(适合上线后台运行): go build -ldflags="-s -w -H=windowsgui" -trimpath -o fscan_no_window.exe main.go 配合输出到文件: .\fscan_no_window.exe -h 192.168.1.1/24 -o result.txt ⚠️ 测试结果:只改变编译模式,火绒直接杀了,说明单纯去符号表不够用。 三、特征字符串清除 原版二进制里包含大量明显特征,杀软直接按字符串匹配就能识别,需要逐一清除。 3.1 修改包名 第一步:改 go.mod 打开 go.mod,第一行是: module github.com/shadow1ng/fscan 改成随便一个名字,比如: module scanner/core 第二步:批量替换所有 import 路径 所有 .go 文件里的 github.com/shadow1ng/fscan 都要同步改,Windows 上用 PowerShell 批量替换: Get-ChildItem -Recurse -Filter "*.go" | ForEach-Object { (Get-Content $_.FullName) -replace 'github.com/shadow1ng/fscan', 'scanner/core' | Set-Content $_.FullName } 第三步:改 Flag.go 里的版本号字符串 grep -r "Fscan Version" . --include="*.go" 把 Fscan Version 改成别的,比如 Scanner Version,这也是特征字符串。 3.2 清除残留字符串 Common/Output.go: // 把 Outputfile = filepath.Join(dir, "fscanapi.csv") // 改成 Outputfile = filepath.Join(dir, "scannerapi.csv") Plugins/MiniDump.go: // 把 fmt.Sprintf("fscan-%d.dmp", pid) // 改成 fmt.Sprintf("scanner-%d.dmp", pid) 3.3 修改 ASCII 艺术字 Common/Flag.go 里有启动时打印的 ASCII 艺术字,拼出来就是 "fscan",杀软能直接识别这个图案,直接清空: lines := []string{ " [*] Scanner Starting...", } 3.4 重新编译 go build -o scanner.exe main.go ✅ 火绒过 ✅ 360 静态过、杀毒、安全卫士、核晶体全过????????? 动态也能过???????? Defender 动态也能过???????? ❌ 卡巴斯基静态被杀 四、编译层混淆(garble) 单纯清字符串对卡巴斯基这类引擎不够,它会分析代码结构。garble 能把函数名、变量名、字符串全部随机化,让杀软看不出来是什么工具。
阅读全文