yzddMr6's Blog

信息安全


  • 首页

  • 分类

  • 标签

  • 归档

  • 知识星球

  • 关于

  • 搜索

利用随机异或无限免杀d盾

发表于 2019-08-11 更新于 2019-11-06 分类于 技术文章 阅读次数:
1
自己三个月前在圈子发的文章,保存一下

前言

最近D盾更新了,在某司某圈也看到了不少免杀d盾免杀狗的一句话帖子
但是基本上只要放出来不到两天时间就加入查杀全家桶.最近一直在造各种车轮子
就想着其实可以写个脚本利用异或来fuzz出指定的字符
然后拼接出assert或者create_function等函数,来对抗waf的检测.

思路及实现

首先如何fuzz的问题

先讲一个离散数学中的概念叫可逆 ,异或的运算就是具有可逆性的.

具体什么意思呢,就是说若a^b=c,则有b^c=a

所以只要把需要拼凑出来的字符串a跟随机取出来的符号b异或,然后出来的结果c就是需要跟b异或的内容.

举个例子

我们来echo一下字符a跟符号*异或的结果

image

是大写字母K

image

然后把大写K跟*异或

image

image

就出来了我们想要的a
那么也就是

1
a=K^*

但是在写的过程中问题来了
很多时候异或出来的字符是不可见的小方块

image

image

就需要把它编码

看了以前有一篇文章是用url编码

但是在实现过程中发现url编码也有一定概率出现不可表示的字符

那就开开心心上hex吧

最终成功拼接出来了assert

image

接下来就是写个字符串池子,用来存特殊符号,然后随机取出来进行异或,拼接想要的字符.

image

把它封装成函数
可以设置需要异或的字符串长度

image

其实也可以用中文甚至emoji表情来异或,但是考虑到乱码还有不同系统对表情的支持不同,就算了.

取出拼接好的assert,把get的数据传进去,就成了下面这样

image

哈,看来可以使用啦

image

接着是调用的问题,其实到了这个地步
不管你什么d盾安全狗已经认不出来函数里面写的什么意思了
但是他会根据函数的调用来检测拦截
如果这个时候直接调用的话会爆一级可疑函数.

image

既然做免杀肯定要0级了啦

放到类里面再调用就好了

image

image

接下来就是造轮子了
在脚本中为了增大waf识别的难度 类名方法名也随机化了.

使用方法

image

image

右键查看生成的源码

image

已经保存到同目录下1.php里面了

image

生成了十几个
附上过D截图

image

最后

脚本特点有三个

一利用特殊符号异或达到迷惑waf的目的,并且因为每一次的拼接都是随机生成的,所以单单一个文件进了特征库也不用担心

二是利用类调用,类名函数名随机化,杀软分析起来可能跟普通的文件没有什么区别

三是没有assert eval create_function 等这些关键字,更为隐蔽.

因为是随手写的,所以代码比较糙,不过不要在意这些细节……

只是提供了一个思路,其实大马也可以像这样写个免杀模版,下一篇文章再讲吧

虽然都是随机化,也没有assert eval 这种关键字,但是用的人多了当然脚本的免杀性也失效了,可以关注我的github:

https://github.com/yzddmr6

以后更新的免杀脚本都会放在上面.

如果有什么讲的不对的地方还请大佬们多多包涵.

源码地址

https://github.com/yzddmr6/webshell-venom

本文标题:利用随机异或无限免杀d盾

文章作者:yzddMr6

发布时间:2019年08月11日 - 21:33

最后更新:2019年11月06日 - 14:35

原始链接:https://yzddmr6.tk/posts/webshell-venom-1-0/

许可协议: 转载请保留原文链接及作者。

你的支持将是我更新的动力!
yzddMr6 微信支付

微信支付

# 免杀 # webshell-venom
利用随机异或无限免杀d盾 2.0
  • 文章目录
  • 站点概览
yzddMr6

yzddMr6

慢就是快,少就是多。
48 日志
3 分类
15 标签
RSS
GitHub E-Mail 简书
友情链接
  • NaiveKun
  • Fi9coder
  • Sardinefish
  • Panda
  • 卿先生
  • 九世
  • LFY
  1. 1. 前言
  2. 2. 思路及实现
    1. 2.1. 首先如何fuzz的问题
  3. 3. 使用方法
  4. 4. 最后
    1. 4.1. 脚本特点有三个
  5. 5. 源码地址
© 2021 yzddMr6
|