Skip to content

bt-ShieldML,基于机器学习的堡塔木马查杀引擎,针对Web服务器环境中的恶意代码文件进行检测

License

Notifications You must be signed in to change notification settings

aaPanel/btShieldML

Repository files navigation

btShieldML

堡塔木马查杀引擎

btShieldMLopenrestyversionsocial

堡塔木马查杀引擎bt-ShieldML

免费的木马查杀引擎 bt-ShieldML是一款基于机器学习的堡塔木马查杀引擎,主要针对Web服务器环境中的恶意代码文件进行检测。 项目第一阶段聚焦于PHP文件的检测,后续将扩展支持更多语言,引擎将以Go语言实现,并编译为独立可执行文件,可集成到堡塔面板功能或作为独立工具使用。 安装即可使用!

公开内容

  • 详细的模型训练过程
  • GO程序核心源码

当前支持

  • php文件检测
  • 支持常见PHP webshell变种、混淆及加密技术识别
  • 提供文件级别和目录级别的批量扫描

发展规划

  • 将扩展支持ASP、JSP等多语言webshell检测
  • 持续优化检测引擎,新增深度学习预测模型

功能介绍

堡塔木马查杀工作原理图

image

AST通信逻辑图

image

安装指南

第一种方法:docker容器搭建

方案1:可以在终端拉取镜像,然后直接访问http://ip:6528/shieldml_scan.html

docker run -d \
  --name btshieldml \
  -p 6528:6528 \
  btpanel/btshieldml:latest

方案2:到面板的docker应用商店下载,搜索"btshieldml",点击安装即可

流程:Docker->应用商店->搜索"btshieldml"->点击安装即可

第二种方法:直接下载编译好的二进制文件

第三种方法:编译源码

编译环境:Go 1.22 + Linux系统

第一步:安装依赖环境

go get github.com/CyrusF/libsvm-go
go get github.com/CyrusF/go-bayesian
go get github.com/grd/stat
apt install xxd
apt install libyara-dev

安装yara4.3+环境

# 在Debian系统安装YARA 4.3
wget https://github.com/VirusTotal/yara/archive/refs/tags/v4.3.1.tar.gz
tar -xzf v4.3.1.tar.gz
cd yara-4.3.1
./bootstrap.sh
./configure --enable-static
make
sudo make install

# 安装开发依赖
sudo apt-get install libssl-dev libmagic-dev jansson-dev

# 刷新动态库缓存
sudo ldconfig

第二步:进入根目录,编译php-bridge

cd bt-ShieldML && go mod tidy
make -C php-bridge

第三步:执行build.sh的脚本,需要把yara的静态库编译进去

bash build.sh

使用方法

基本命令行用法

./bt-shieldml -path /path/to/scan  # 终端输出
./bt-shieldml -path /path/to/scan -format json # 输出JSON格式文件,默认data目录下
./bt-shieldml -path /opt/WebshellDet/sample/webshell/tennc/PHP/ -output report.html  # 输出HTML格式文件

案例说明

测试1: 目录测试
./bt-shieldml -path  /opt/WebshellDet/sample/webshell/tennc/PHP/

测试2:单文件测试
./bt-shieldml -path  /opt/WebshellDet/sample/webshell/tennc/PHP/php/b374k/b374k-2.3.min.php

测试3:输出html报告
./bt-shieldml -path /opt/WebshellDet/sample/webshell/tennc/PHP/ -output report.html

image

web检测平台编译

默认是6528端口,可支持修改

前面的build.sh已经编译过了,这里直接运行

./shieldml_server

访问 http://服务器ip:6528/shieldml_scan.html 即可

image

在线演示(Demo)

敬请期待……

许可证信息

该项目是开源的,可根据AGPLv3协议使用。

联系我们

  1. GitHub Issue
  2. QQ群1:922160183 QQ群2:709033027

星趋势

欢迎关注我们的项目,我们会持续更新和优化项目。

Star History Chart

About

bt-ShieldML,基于机器学习的堡塔木马查杀引擎,针对Web服务器环境中的恶意代码文件进行检测

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •