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

admin 2022年1月21日21:05:20评论138 views字数 1471阅读4分54秒阅读模式

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

前言

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、路径、权限一类的数据通过邮件的方式先发送到了已经设定好的邮箱[email protected],这个操作不错。


同时检测本的一个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. 用别人的的过狗大马小马一句话的时候,也要多留心别人留一个后门瞬间就尴尬了。


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


本文始发于微信公众号(疯猫网络):一次编码WebShell bypass D盾的分析尝试

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月21日21:05:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一次编码WebShell bypass D盾的分析尝试http://cn-sec.com/archives/513690.html

发表评论

匿名网友 填写信息