因为之前找一个免杀的大马找了好久,昨天就专门研究了下如何做大马的免杀。要免杀,首先就要相识杀手,我们不妨从装个安详狗看看,从中真就能发明一些简朴易行的免杀要领。
各人留意调查上面两个截图,一个之扫描网马的默认配置,一个是主动防止的默认配置,从中就可以看出两个亮点:
1.手动扫描和主动防止都默认忽略大于1M的文件
2.手动扫描默认扫描所有范例文件,而主动防止默认之扫描剧本后缀文件
从这两点出发,就会有两种简朴易行的免杀方法,其实各人必定都早知道了,不外我照旧总结一下,细节不再叙述:
1.使webshell文件巨细大于1M——敌手动扫描及主动防止都有效
(假如你是*nix用户,可以简朴用dd呼吁发生一个1M文件,然后用cat呼吁将其与webshell文件毗连)
2.将大马生存为jpg后缀文件,操作文件包括执行剧本——只对主动防止有效
这两种方法预计各人都用烂了,虽然也是最简朴易行的,可我就是爱折腾,下面第三种方法,也就是这篇文章主要要说的,就是特征码定位式免杀。
作为script
kiddie我对软件安详一窍不通,不外照旧传闻过myccl,multiccl之类的东西,受此开导,webshell也应能运用雷同道理定位。但是直
接用*ccl定位的话是以字节为单元拆分,而面临剧本文件,我们需要以行为单元。由于不知道*ccl到底是什么事情流程,于是抉择从新做起,用一句风行话
来讲,就是“自主研发”。首先我猖獗的打了个草稿,想好了流程(火星人的草稿,各人忽略)
大抵讲授下事情流程,巨伪伪
支解文件(001为删去第一行,,002为删去1至2行……依次类推,直至只剩最后一行)
查抄剩余文件,若剩余编号n今后的文件,则说明第n-1行中有特征码;若没有任何文件被查杀,退出轮回
用0填充已定位出的特征码行
就这样,就可以定位出足够数量的特征码。“足够数量”是指恰好足以免杀,而非所有特征码。经我尝试,一个webshell中有n个特征码,而只要有m(m<=n)个以上就会被查杀,而小于m个就不会被查杀。
写完代码后,做了个尝试,以啊D目次检测东西(asp)为小白鼠。
定位出第75和147行,我们来看看
在这两行中我们只需简朴的拆分修改一下字符串,然后就免杀啦: