作为渣蛋轮胎科普系列的开头,还是打算从基本点给小白们科普,为了避免晦涩难懂并成功勾起大家的兴趣,之后的文章都会以攻击者视角来抒写,涉及潜在 知识量和固定测试环境的内容适合小团体深入讨论研究,却对社会读者以及初入坑者不友好,所以我们还是由浅入深慢慢道来,我会尽量用通俗的语言描述+优秀的 个人魅力来写这篇文章的! WAF及IPS对文件和流量的识别,就好似医疗用途的血液透析机,是细胞还是无机物?从性状、大小、结构、成分等特征来看都有所不同,而这也是 WAF在识别和过滤上的共同点——“特征标记”与“行为分析”。目前WAF综合性强针对性弱,在各个方面的防御都有一定的不足,本篇重点将主要介绍WAF 对文件的静态分析,以及构造绕过特征检查的思路分析。 经常上FB的同学应该知道,我嘛有个毛病,本人话多巨懒,因此,本文只用开袋即食的百度云查杀 WebDir+ 以及网站大杀器 网站安全狗 来进行测试,点到为止嘛~ WAF(IPS)与EvilScriptWAF (Web Application Firewall) 顾名思义,是针对于网络应用的防火墙,其实现的功能在于,识别并处理大量请求流量中,服务器中的恶意文件和传入的非法流量,如果说WAF静态分析是看门 人,主动站岗,查证出入,那动态查杀型的IPS就是警卫员了。 IDS (Intrusion Detection System) 用于对已经发生的服务器入侵事件进行发觉,基于安全策略,对网络、系统的运行状况进行监视并及时响应入侵事件。 IPS (Intrusion Prevention System) 能服务器监视网络或网络设备的网络资料传输行为,出现重要文件传输和泄露时,能够即时的中断或隔离攻击性传输行为,是IDS的进阶产物。 EvilScript (WebShell & Evil Addons) 指以网页脚本文件形式存在的一种命令执行环境,也可以将其称做为一种Web形式的后门。在网站服务器被入侵后,通常会留存一个木马后门放在网站服务器 WEB目录下,用来维系权限实现更多高权限功能或者命令执行环境,以达到持续控制网站服务器的目的。根据个人习惯,通过功能具象化表现归纳为三种:
WAF静态分析简而言之,静态分析就好比人类社会看脸是一个意思,“面露险恶”、“福光满面”、“长相猥琐”、“帅气如我”什么的就是说的这意思,WAF防御视角来说,就是通过“侧写”来描述不同的脚本和流量中出现的特征。 说说大马:通常因为体积庞大并且涵盖函数和变量众多,网上流通的WebShell又通常运用固定化的格式,这就是传说中的“大众脸”了。这种Webshll基本看背影就知道是后门,大多一拳就被打死。而后门包含var和str普遍有
对于WAF来说,不管如何构造文件格局、更改名称和执行顺序,虽然关键字些许可以绕过,但是如果不对功能构架进行替换,WAF只需对各类 function进行还原并描绘执行蓝图,再拿去对比恶意样本模型,加上对参数传入点的分析、流量内容分析,95%准确率可以判定是否是恶意脚本。 当然,我们也得从攻击者角度来说,我们可以靠手工重铸出一个大马或者亲自动手修改一个后门脚本,通过等价替换function,规避掉原有var和str的样貌,来实现绕过特征定位。 比如PHP来说,分功能书写不同类型加解密 聊聊小马:小马相对大马的变通性强不少,通常可使用文件分割、function分块引入来绕过特征,但是小马的典型短小精悍也让它主文件的变形产生了难度,毕 竟就算代码写出花儿来,万变不离其宗,最终实现的那个function行为必定是固定的,因此在小马的查杀上,WAF主要会判断最终执行的 function是否跟特征库里的样本类似。 最常见的小马类似如下,当然只是举个例子。
|