常见WebShell 检测方法

  • A+
所属分类:安全文章

文章源自【字节脉搏社区】-字节脉搏实验室

作者-lation

扫描下方二维码进入社区

常见WebShell 检测方法

WebShell 的检测和查杀是 Web 安全里热门且永恒的话题之一了,在网络安全世界里,攻击者总是先拔头筹,出其不意,防守方常常处于比较被动的局面,扮演者受害者的角色。

因为 PHP 类的 WebShell 变形技巧多,复杂且难以检测,下面将以 PHP 的 WebShell 举例讲解,其他语言类似推理。

常见WebShell 检测方法

1、特征值匹配

Webshell 的实现需要两步:数据的传递、执行所传递的数据。

此种方法检测的有效性取决于正则写的是否足够优秀,高危代码块的特征库是否足够丰富。

对于执行数据部分,我们可以收集关键词,匹配脚本文件中的关键词找出可疑函数,当执行数据部分匹配到可疑函数时再进行判断其数据传递部分是否为用户可控,譬如 $_POST、$_GET、$_REQUEST、$_FILES、$_COOKIE、$_SERVER 等等。

常见WebShell 检测方法

下面是一些常见高危函数:

数据传递

$_GET、$_POST、$_COOKIE、$_SERVER  

命令执行

exec、passthru、shell_exec、system、eval

文件操作与远程 URL

file、file_get_contents、fopen、curl、fsockopen

回调函数

call_user_func、call_user_func_array、array_maparry_filter

其他高危函数

phpinfo、preg_replace、create_function、unserialize

常见WebShell 检测方法

2、哈希校验

哈希校验的主要工作原理是基于 WebShell 样本库,样本库的丰富度决定了检测的有效性。

模糊哈希(fuzzy hash)算法确定文件分块位置并记录分块,对每个分块计算哈希值然后进行结果比较最后计算整个文件的相似度

常见WebShell 检测方法

3、文件完整性检测

文件的创建时间(新增文件、新增WebShell),修改时 间(原有文件注入WebShell)),文件权限,所有者

当文件的以上特性发生变化时候,可以立刻针对该文件下发 WebShell 检测任务

常见WebShell 检测方法

4、动态行为检测

通过监控运行 PHP 的进程在系统上执行了哪些系统调用或命令,这是通过动态 行为特征抓取 WebShell 的一种有效方式。

常见WebShell 检测方法

一些检测工具

D 盾

官网:http://www.d99net.net

河马

官网:http://www.shellpub.com

WEBDIR+

官网:https://scanner.baidu.com

CloudWalker(牧云)

项目地址:https://github.com/chaitin/cloudwalker

web shell detector

官方网站:http://www.shelldetector.com/

findwebshell

项目地址:https://github.com/he1m4n6a/findWebshell

常见WebShell 检测方法

通知!

公众号招募文章投稿小伙伴啦!只要你有技术有想法要分享给更多的朋友,就可以参与到我们的投稿计划当中哦~感兴趣的朋友公众号首页菜单栏点击【商务合作-我要投稿】即可。期待大家的参与~

常见WebShell 检测方法

记得扫码

关注我们

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: