【WebShellQuickScanner】 一个在Linux上检查是否有PHP WebShell和使用了高危函数的PHP文件的快查脚本,同时能把扫描结果推送至Telegram。
项目地址:https://github.com/DeepSkyFire/WebShellQuickScanner
其实早在17年Typecho出了个洞被人日了插了一句话之后我就已经想写这东西了。鸽了两年之后这0day都已经成为114514day了我终于把这脚本给摸出来了。
原理很简单,就是关键字扫描。所以那种拆字混淆的WebShell是真的扫不出来,也别想了这也只是个Shell脚本而已实现不了什么启发式扫描虚拟机扫描。由于只扫描PHP文件,所以那种什么图片马就算了,就当不存在了。
快速扫描: ./WebShellScanner.sh -p /data/www-data(网站目录)
要保存日志文件的扫描: ./WebShellScanner.sh -p /data/www-data -l /home/wwwwlogs(日志保存目录,请自行去掉结尾的/号)
要保存日志文件又要推送Telegram最后还要自定义服务器名称的快速扫描:./WebShellScanner.sh -p /data/www-data -t TELEGRAM_BOT_TOKEN -c TELEGRAM_CHAT_ID -n MyServer1 -l /home/wwwwlogs
更多用法请参照文档或输入-h查看帮助信息。
定时扫描:请自己加入crontab设定定时任务。
当然,由于PHP的危险函数其实很多的,为了降低误报率我只对比数个大部分WebShell使用到的函数例如assert、eval等,所以并不能100%扫描出所有的WebShell。如果你发现了什么BUG,请在gayhub上开个issues。