webshell作为黑客惯用的入侵工具,是以php、asp、jsp、perl、cgi、py等网页文件形式存在的一种命令执行环境。黑客在入侵一个网站服务器后,通常会将webshell后门文件与网站服务器WEB目录下正常网页文件混在一起,通过Web访问webshell后门进行文件上传下载、访问数据库、系统命令调用等各种高危操作,达到非法控制网站服务器的目的,具备威胁程度高,隐蔽性极强等特点。
由于其显著危害性,webshell的检测一直是安全领域一个长盛不衰的话题,宏观上可分为运行前静态检测和运行后动态检测两种。简单来说,黑客入侵web服务器,不管是上传webshell还是在原文件中添加后门,对文件静态属性进行分析的方法属于静态检测;webshell执行时,browser/server数据通过HTTP交互,我们对交互行为和信息进行分析,这类方法统称为动态检测。静态检测方法预测数据采集成本较低且便与部署,缺点是容易被各种混淆及加密方法绕过;采用动态检测理论上可以避免被绕过,但测试数据采集成本较高,需要去搭建一个安全的沙箱环境收集流量特征,缺点是在生产中也只有当webshell活跃状态时才能发挥效果。

1 静态检测思路
1.1 文件名检测

最初人们通过构建一个webshell文件名字典去匹配网页文件名,查看是否存在webshell文件。我一开始是不敢相信的,但这是真的,黑客随便拿一个webshell文件来用,甚至都不需要修改文件名就能达到入侵的目的,可见最初工业界对网络安全的不重视。附上webshell文件名,大家感受下:
渗透小组专用ASP小马
vps提权马
asp一句话
改良的小马
国外免杀大马
backdoor.php

1.2 特征码匹配法
特征码匹配法目前普遍采用的一种静态检测方法,通过对webshell文件进行总结,提取出常见的特征码、特征值、威胁函数形成正则,对整个网页文件进行扫描。特征码匹配的方式优点也是十分突出,能对webshell后门精细化分类具备高可解释行且逻辑结构简单,便于在苏宁安全平台的工程化部署。同时缺点也很明显,对安全专家的知识广度和深度高度依赖,且只能识别已知的webshell模式,同样对混淆加密webshell效果有限。对安全人员来说,维护起来极其繁琐,拆西墙补西墙,陷入不断打补丁的死循环,针对大文件对性能消耗较高。厂家更多情况下是采用正则先做一遍筛选,命中严格正则的直接定性,命中宽泛正则的进一步采取其他分析方式。
rule=r’(array_map[\s\n]{0,20}(.{1,5}(eval|assert|ass\x65rt).{1,20}$(GET|POST|REQUEST).{0,15})’
rule=’(call_user_func[\s\n]{0,25}(.{0,25}$
(GET|POST|REQUEST).{0,15})’
rule=’($(GET|POST|REQUEST)[.{0,15}]\s{0,10}(\s{0,10}$(GET|POST|REQUEST).{0,15})’
rule=’(($((GET|POST|REQUEST|SESSION|SERVER)([[’"]{0,1})\w{1,12}([’"]{0,1}])|\w{1,10}))[\s\n]{0,20}([\s\n]{0,20}(@{0,1}$((GET|POST|REQUEST|SESSION|SERVER)([[’"]{0,1})\w{1,12}([’"]{0,1}])|\w{1,10}))[\s\n]{0,5}))’
rule=’\s{0,10}=\s{0,10}[{@]{0,2}($(GET|POST|REQUEST)|file_get_contents|str_replace|["’]a["’].["’]s["’].|["’]e["’].["’]v["’].|["’]ass["’].).{0,10}’
rule=’((eval|assert)[\s|\n]{0,30}([\s|\n]{0,30}(\\{0,1}$((
(GET|POST|REQUEST|SESSION|SERVER)([[’"]{0,1})[\w()]{0,15}([’"]{0,1}]))|\w{1,10}))\s{0,5}))’
rule=’((eval|assert)[\s|\n]{0,30}((gzuncompress|gzinflate(){0,1}[\s|\n]{0,30}base64_decode.{0,100})’
rule=’\s{0,10}=\s{0,10}([{@]{0,2}\\{0,1}$(GET|POST|REQUEST)|file_get_contents|["’]a["’].["’]s["’].|["’]e["’].["’]v["’].|["’]ass["’].).{0,20}’
rule=’(include|require)(
once){0,1}[\s*]+["|’]+[0-9A-Za-z]

WebShell脚本检测机器学习一相关推荐

  1. webshell后门检测原理

    一.什么是webshell shell (计算机壳层) 在计算机科学中,Shell俗称壳(用来区别于核),是指"为使用者提供操作界面"的软件(命令解析器).它类似于DOS下的com ...

  2. 红蓝对抗之常见网络安全事件研判、了解网络安全设备、Webshell入侵检测

    文章首发于freebuf:https://www.freebuf.com/articles/network/317851.html 文章目录 研判(入侵检测) 设备 经典网络 云网络 异常HTTP请求 ...

  3. [应急响应]7款WebShell扫描检测查杀工具

    1.D盾 防火墙 阿D出品,免费,GUI,WebShell扫描检测查杀 功能特性简介 支持系统:win2003/win2008/win2012/win2016 PHP支持:FastCGI/ISAPI ...

  4. apache日志 waf_WAF对WebShell流量检测的性能分析

    最近在一次授权渗透测试中遇到了一个棘手的场景,万能的队友已经找到了后台上传点,并传了小马然后开心地用antsword进行连接,但是由于明文传输很快被waf感知,并引起了管理员的注意,很快我们的马被清了 ...

  5. php 读取注册表 不用wscript.shell,WebShell的检测技术_91Ri.org

    一.Webshell 的常见植入方法 -启明星辰  Leylo Trent WebShell 攻击是常见的用来控制Web 服务器的攻击方法,WebShell 文件通常是可执行的脚本文件,例如asp, ...

  6. WebShell后门检测与WebShell箱子反杀

    今天继续给大家介绍渗透测试相关知识,本文主要内容是WebShell后门检测与WebShell箱子反杀. 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果 ...

  7. 【Linux】20.shell脚本 检测是否 ping 通

    shell脚本 检测是否 ping 通 -c: 表示次数,1 为1次 -w: 表示deadline, time out的时间,单位为秒,100为100秒. # ping一次该ip, 超时设置1s(如果 ...

  8. 异常检测机器学习_使用机器学习检测异常

    异常检测机器学习 什么是异常检测? (What is Anomaly Detection?) The anomaly detection problem has been a problem that ...

  9. linux系统检测脚本,脚本检测linux系统资源

    脚本检测linux系统资源 发布时间:2007-12-01 00:33:12来源:红联作者:distribut 1. 用top命令收集系统运行状况(每2小时运行一次): syscheck.sh #!/ ...

  10. shell判端mysql数据库是否存在_Shell脚本检测和检查mysql数据库是否存在坏表

    shell脚本检测和检查mysql数据库是否存在坏表 此脚本的主要用途是检测mysql服务器上所有的数据库或者单独数据库中的坏表,适用于RHEL/Centos系列 #!/bin/bash #此脚本的主 ...

最新文章

  1. leetcode-【中等题】5. Longest Palindromic Substring
  2. Redis 数据类型之(底层解析)
  3. 一级建造师考试通过了 !
  4. 关于贝叶斯的一个小小的总结
  5. oracle 之 COMMENT
  6. 计算机显示休眠状态进不去,解决方法:关闭计算机,或使其进入睡眠或休眠状态...
  7. 提供高速信号接口认证测试 GRL上海实验室成立
  8. python windows自动化 爬虫_Python体系(网络爬虫、人工智能、WEB开发、自动化运维)详细介绍...
  9. Kotlin — 使用IDEA运行第一个Kotlin程序,打印“Hello World”!
  10. leetcode_53 Maximum Subarray
  11. Linux-nginx安装
  12. Linux 下 svn 恢复到指定版本
  13. 随机森林-科比生涯数据集分析与预测
  14. 如何使用PDF编辑软件给PDF删除页码
  15. 让360双核浏览器默认极速模式打开网页
  16. 面向对象------转自林海峰老师
  17. Scala 与设计模式(四):Factory 工厂模式
  18. 用Python获取好看听书网中的《星期五有鬼》有声小说
  19. 蜗牛君漫聊设计模式---建造者模式
  20. 文字图片水平居中对齐

热门文章

  1. vue+element+node构建单片机控制系统
  2. doctrine2 mysql_Doctrine2-完整创建数据库
  3. 为什么.class文件查看不了_恕我直言,这可能是你见过最详细的class文件结构分析
  4. MyEclipse的破解
  5. ai快捷键常用表_掌握这些AI常用快捷键和小技巧,提高速度
  6. 【IDEA】jsp页面中的代码一不小心变成黄色,代码被识别成sql脚本解决办法
  7. mysql 数据块_数据库中数据块是什么
  8. 计算机科学与技术的班会,计算机科学与技术学院2014级信管三班班会
  9. c语言中的双周期指令,时钟周期 机器周期 指令周期的概念
  10. android65535错误实现,Android 65535问题的解决方法