日期:2024-01-30 作者:Corl7 介绍:免杀 Fscan 过火绒、3某0、Defender。
0x00 前言
在打攻防时,Fscan
落地就被杀,于是就萌生了免杀Fscan
的想法。通过学习了免杀相关知识之后,就开始尝试使用各种方法对Fscan
进行免杀。
0x01 原生Fscan
通过在Github
下载编译好的Fscan
,下载的时候就被本地的Defender
拦截。
那么Fscan
为什么下载就直接被拦截了呢,原因就是使用了UPX
壳,UPX
壳特征也非常明显,因此已经被各种杀毒软件查杀。
那知道查杀点是使用UPX
加壳原因,是不是可以自己下载源码进行编译呢~
0x02 自行编译
下载源码,使用命令进行编译,编译完成之后,会生成mian.exe
。
go build -ldflags="-s -w " -trimpath main.go
对生成的main.exe
使用Defender
进行扫描,属实没想到直接就过了Defender
,只能说Defender
确实有点拉。
使用3某0
进行扫描,直接被启发式给查杀了。
打了签名之后,3某0
就查杀不出来了。
使用火绒进行查杀,火绒直接报HackTool/Fscan.e
。
那么,火绒为什么可以直接查杀出来呢,首先感觉肯定有明文的fscan
字符串,使用strings
工具查找一下。
strings .main.exe | findstr "fscan"
通过查找结果可以发现,fscan
字符串主要出现在github.com/shadow1ng/fscan/Plugins/
、github.com/shadow1ng/fscan/WebScan/
、github.com/shadow1ng/fscan/common
这三个导入包中,还有一处是出现在fscan version:
地方。那是不是可以就可以将这三个包,替换成本地导入的方式。
将fscan
源码拖入到Sublime
中,并打开mian.go
,可以看到导入包中存在github.com/shadow1ng/fscan/Plugins
、github.com/shadow1ng/fscan/common
。
在Sublime
中进行全局替换,将github.com/shadow1ng/fscan
替换为main
,替换为你想替换的任意字符都行。
在common/flag.go
文件中,将fscan version
替换为sc version
,这里也是替换为你想替换的字符就行。
接下来,在GOPATH
下的src
目录中,新建一个main
目录。并将fscan
源码中的common
、Plugins
、WebScan
目录,全部拷贝到新建立的main
目录中。
再使用编译命令进行编译,编译完成之后,再次使用strings
查找fscan
字符,可见已经是查找不到了。
将编译完的main.exe
再次使用火绒进行查杀,属实没想到又被查杀了。
既然使用go
编译会进行报毒,那么换一种编译工具进行编译,这里使用garble
对fscan
进行编译。
编译完成之后,再将main.exe
使用火绒进行查杀,可见已经是查杀不出来了。
0x03 总结
通过实践发现,直接对源码进行编译,编译完成之后,即可过Defender
,打了签名之后,即可过3某0
,使用garble
编译之后,即可过火绒。虽然说简单修改之后,可以过Defender
、3某0
、火绒,但是仍然过不了卡巴斯基,只能说可以满足日常扫描的需求。还有另外一个较大缺点,那就是体积较大,编译完成之后24M
左右。
原文始发于微信公众号(格格巫和蓝精灵):『免杀系列』免杀 Fscan
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论