0x01 前言最近很多家厂商都陆续开放了自己的Webshell检测引擎 , 并且公开接口 , 邀请众安全研究员参加尝试bypass检测引擎 , 并且给予奖励 , 我也参加了几场类似的活动 , 有ASRC的伏魔计划 , 也有TSRC的猎刃计划 , 还有最近正在进行的长亭的牧云(Aka.关山)Webshell检测引擎 , 如果你都参加或者关注了这三个比赛 , 你会发现他们都提到了以下几个技术:
1、词法分析2、污点追踪3、恶意代码检测
这些新技术我们后面的章节中 , 我们先讲一下传统的Webshell检测机制 , 再对照着最新的Webshell检测技术来说明一下如何在新技术下做免杀Webshell(本文所有Webshell基于php语言)
0x02 传统Webshell检测传统的Webshell检测技术主要依赖于字符串的正则特征 , 在面对于已知的样本可以做到高准确率检测 , 在长时间的样本收取下 , 也可以做到满足日常运维中的Webshell检测 , 举几个经典的Webshell样本
1、经典一句话Webshell
<?php eval($_GET['cmd']);?>
2、反序列化Webshell
<?phpClass H3{function __destruct(){eval($this->c);}}$a= new H3;$a->c = $_GET['cmd'];
3、无字母Webshell
<?php $_ = 97; $__ = 97 + 18; //s $___ = $__ + 6; //y $____ = $__ + 1; //t $_____ = $_ + 4; //e $______ = $__ - 6; //m$res = chr($__).chr($___).chr($__).chr($____).chr($_____).chr($______);$_= $_POST['cmd'];$res($_);
但是对于当下的技术发展 , 黑客们可以更加精心的编写Webshell来"骗"过传统的Webshell检测机制 , 而且Webshell易变形 , 在面对0day样本的时候 , 传统Webshell检测就会效果欠佳 , 也就需要更加全面的手段来与其抗衡
0x03 新型Webshell检测对于现如今的情况下 , 传统的Webshell检测对于0day样本的检测效率已经不是特别好了 , 所以这时候就需要一种"主动"的检测方式 , 能够让引擎主动去理解脚本、分析样本 , 发现样本中的恶意行为 , 而不是依靠人工来添加Webshell特征 。
1、污点追踪举个例子 , 对于一个Webshell来说 , 如果要进行任意命令执行 , 就一定要获取外界数据 , 对于PHP来说也就是$_GET、$_POST来接受数据 , 而要想任意命令执行 , 这些接收到的数据也就一定要最终传递到eval、system等函数中 , 而污点追踪技术就是利用这一点 , 如果样本中的外界变量通过不断传递 , 最终进入到危险函数中 , 那基本上就可以断定为Webshell , 将外界变量视为污点源 , 危险函数视为污点汇聚点 , 跟踪污点传播过程 , 判断污点变量是否被洗白 , 最终是否进入污点汇聚点 , 画一个流程图如下:
文章插图
2、词法分析检测引擎会将各种脚本语言进行词法语法分析 , 然后构建控制流图和数据流图 , 并在图上跟踪外界污点变量的传递 , 使用外界变量是WebShell非常重要的特征 , 如果发现外界变量最终进入了命令执行函数 , 就可以判断为Webshell 。
文章插图
引擎可以将传统的条件、循环、函数、对象的静态分析 , 目前还可以支持动态变量名、箭头函数、反射、回调等动态特性的分析 , 大大的强化的未知样本的检测成功率 。
【----帮助网安学习 , 以下所有学习资料关注我 , 私信回复“资料”获取----】
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ App客户端安全检测指南(Android/ target=_blank class=infotextkey>安卓+IOS)
推荐阅读
- 护士/护理人员的完整简历范文 护士简历范文
- |职场中有哪些常见的套路?
- |职场上,面子不是所谓的客气,而是让自己有了自信,让自己成功
- 养狗好处vs养狗坏处 养宠物的利弊
- 配音|余生,做一个能扛事的成年人
- 秋作文400字18篇作文 秋天的作文400字
- 翡翠手镯|翡翠手镯的价值,傻瓜教程,教你这样看懂翡翠手镯的色泽
- 短发|爱美的美女看过来,你知道秋天为什么要补水吗?
- 无基础唱歌技巧和发声方式教学 学习唱歌的方法
- 全球变暖的危害有哪些 全球变暖的后果