一次编码WebShell bypass D盾的分析尝试

栏目: 服务器 · 发布时间: 5年前

内容简介:webshell是获得网站的控制权后方便进行之后的入侵行为的重要工具,一个好的webshell应该具备较好的隐蔽性能绕过检测,最近偶然间捕获到了一个webshell的样本经过了4次编码来绕过检测感觉功能还挺强大的,于是就简单分析一下然后再简单的优化了一下发现更nice。本地访问了一下主要功能也就3个主要包括读取系统信息与当前用户、命令执行和文件上传,感觉还是常规的操作访问界面如下:

*本文作者:si1ence,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

前言

webshell是获得网站的控制权后方便进行之后的入侵行为的重要工具,一个好的webshell应该具备较好的隐蔽性能绕过检测,最近偶然间捕获到了一个webshell的样本经过了4次编码来绕过检测感觉功能还挺强大的,于是就简单分析一下然后再简单的优化了一下发现更nice。

0×1 功能

本地访问了一下主要功能也就3个主要包括读取系统信息与当前用户、命令执行和文件上传,感觉还是常规的操作访问界面如下:

一次编码WebShell bypass D盾的分析尝试

主要代码如下:

一次编码WebShell bypass D盾的分析尝试

0×2 解码

主要是用了eval函数配合base64进行简单的绕过,base_decode函数进行了简单的大小写混淆都是很常规的操作。

对base64编码的字符串进行解码后得到如下字符串,得到如下字符串又是一串代码。

一次编码WebShell bypass D盾的分析尝试

出于直觉对base64的字符串再一次进行解码,得到一串乱码,看来也不是这么容易。

一次编码WebShell bypass D盾的分析尝试

关键点定位在了str_rot13 和gzinflate二个函数上面,就顺便查了一下这二个函数的用途,都是属于一种编码类感觉这操作很nice。

一次编码WebShell bypass D盾的分析尝试

一次编码WebShell bypass D盾的分析尝试

然后通过修改一下webshell的内容,将解码后的源码就直接输出了,算了一个2次base64、1次str_rot13、1次gzinflate就4次编码了,这个几个编码都是标准库里的函数。

解码后的代码一共只有60+行,短小精悍。

一次编码WebShell bypass D盾的分析尝试

0×3 详细代码

感觉还是很6的操作,先收集了网站系统的信息IP、路径、权限一类的数据通过邮件的方式先发送到了已经设定好的邮箱setoran.target26@gmail.com,这个操作不错。

同时检测本的一个bajak的session值,确保邮件不会重复发送。

一次编码WebShell bypass D盾的分析尝试

在本地创建一个副本放在指定的目录下 images/stories/food/footer.php:

一次编码WebShell bypass D盾的分析尝试

后续就是一个命令执行和文件上传的操作,还有一个读取配置的文件的代码上二级目录的configuration.php,说实话并不是很理解。

一次编码WebShell bypass D盾的分析尝试

0×4 监测

简单抓包看了一下流量层面执行了一个ipconfig,没有捕获到比较有用的信息,命令主要是以cmd的参数进行传递。

一次编码WebShell bypass D盾的分析尝试

感觉操作很牛逼的webshell,应该不会被查杀出来的,毕竟解码还是比较复杂的。

然后用D盾进行查杀,报警提示为4级,这好不科学只有给Orz了。看看提示的是什么,主要依据是eval函数跟了一个base64的字符串,总觉得有什么不对,按理说不应该D盾应该是没有解码的!!!迷之自信!!

按照这个猜想,我自己创建了一个hello world的字符,按照通用的方式进行编码,然后使用D盾进行查杀,果然查杀出来了!!!

一次编码WebShell bypass D盾的分析尝试

一次编码WebShell bypass D盾的分析尝试

2个文件、2个可疑。D盾的确是通过这二个特征进行识别的,主要特征就是如下,那想想办法绕过呢。

一次编码WebShell bypass D盾的分析尝试

首先测试一下注释绕过base64的检测,的确成功绕过了base64的特征,但是仍然识别出了eval的后门还是4级有点upset了。

一次编码WebShell bypass D盾的分析尝试

既然是这样的话,那就再换一种方式。

用函数的方法输出eval居然成功了,级别直接就降低到了2级!!!

一次编码WebShell bypass D盾的分析尝试

0×5 总结

1. 问题到底是还出在eval这个函数,后面陆陆续续尝试了字符串拼接、大小写混淆、逆序等方式居然都没有绕过。最近又要忙着搬砖就没有继续深入下去了,欢迎各位大佬们尝试顺便给点思路指点一二。

2. 通过一些编码和变化去绕过检测规则对于技术的总结提高还是很有帮助的,日常还是需要多练习尝试。

3. 上次偶然间看到有一些通过特征提取使用朴素贝叶斯做机器学习检测webshell的,攻防对抗越来越有意思以后的绕过技巧也许会更加丰富。

4. 用别人的的过狗大马小马一句话的时候,也要多留心别人留一个后门瞬间就尴尬了。

*本文作者:si1ence,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。


以上所述就是小编给大家介绍的《一次编码WebShell bypass D盾的分析尝试》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深度学习轻松学

深度学习轻松学

冯超 / 电子工业出版社 / 2017-7 / 79.00

《深度学习轻松学:核心算法与视觉实践》介绍了深度学习基本算法和视觉领域的应用实例。书中以轻松直白的语言,生动详细地介绍了深层模型相关的基础知识,并深入剖析了算法的原理与本质。同时,书中还配有大量案例与源码,帮助读者切实体会深度学习的核心思想和精妙之处。除此之外,书中还介绍了深度学习在视觉领域的应用,从原理层面揭示其思路思想,帮助读者在此领域中夯实技术基础。 《深度学习轻松学:核心算法与视觉实......一起来看看 《深度学习轻松学》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具