基于机器学习的Webshell检测工具(linux)
WXEL是基于神经网络学习算法对文件压缩比、熵、最长字符、内容特征等进行学习评估,协助安全人员针对Webshell的监察。
1.需要在sample/webshell目录放入具有webshell特征的文件,在sample下其他目录下放入常规文件 2.编译
go build -o xsample sample/main.go
3.获取训练样本
./xsample
当然也可以直接使用xsample
(基于linux go 1.20.4编译), 样本文件为train.csv
- 编译
go build -o xtrainer trainer/main.go
2.开始训练
./xtrainer
当然也可以直接使用xtrainer
(基于linux go 1.20.4编译)
3.获取模型,模型文件位于当前目录下module.json
- 将模型赋予变量
ModuleContent
- 编译
go build -o webshell_detector detector/main.go
3.使用webshell_detecotr -i <file or directory>
检测文件或目录
- 当前模型仍然存在误报,需进一步训练
- 性能优化,可针对扫描对象起多个goroutine进行扫描
- 仅学习使用