分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

admin 2022年4月6日01:52:18安全文章评论175 views3751字阅读12分30秒阅读模式

原文作者:小帽子summer  

原文地址:https://www.freebuf.com/articles/web/324622.html

前言

在工作中经常会遇到各种websehll,黑客通常要通过各种方式获取 webshell,从而获得企业网站的控制权,识别出webshell文件或通信流量可以有效地阻止黑客进一步的攻击行为,下面以常见的四款webshell进行分析,对工具连接流量有个基本认识。

Webshell简介

webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理、服务器管理、权限管理等操作。使用方法简单,只需上传一个代码文件,通过网址访问,便可进行很多日常操作,极大地方便了使用者对网站和服务器的管理。正因如此,也有小部分人将代码修改后当作后门程序使用,以达到控制网站服务器的目的,也可以将其称做为一种网页后门

最普通的一句话木马:

<?php   @eval($_POST['shell']);?><?php system($_REQUEST['cmd']);>

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

中国菜刀

中国菜刀(Chopper)是一款经典的网站管理工具,具有文件管理、数据库管理、虚拟终端等功能。

它的流量特征十分明显,现如今的安全设备基本上都可以识别到菜刀的流量。现在的菜刀基本都是在安全教学中使用。

github项目地址:https://github.com/raddyfiy/caidao-official-version

由于菜刀官方网站已关闭,现存的可能存在后门最好在虚拟机运行,上面项目已经进行了md5对比没有问题。

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

菜刀webshell的静态特征

菜刀使用的webshell为一句话木马,特征十分明显

常见一句话(Eval):

PHP, ASP, ASP.NET 的网站都可以:

PHP:    <?php @eval($_POST['caidao']);?>

ASP:    <%eval request("caidao")%>

ASP.NET:    <%@ Page Language="Jscript"%><%eval(Request.Item["caidao"],"unsafe");%>

菜刀webshell的动态特征

请求包中:

ua头为百度爬虫

请求体中存在eavl,base64等特征字符

请求体中传递的payload为base64编码,并且存在固定的QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtpZihQSFBfVkVSU0lPTjwnNS4zLjAnKXtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO307ZWNobygiWEBZIik7J

请求体中执行结果响应为明文,格式为[email protected]    结果   [email protected]之中

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

蚁剑

AntSword(蚁剑)是一个开放源代码,跨平台的网站管理工具,旨在满足渗透测试人员以及具有权限和/或授权的安全研究人员以及网站管理员的需求。

github项目地址:https://github.com/AntSwordProject/antSword

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

蚁剑webshell静态特征

https://github.com/AntSwordProject/AwesomeScript蚁剑官方为我们提供了制作好的后门,官方的脚本均做了不同程度“变异”,蚁剑的核心代码是由菜刀修改而来的,所有普通的一句话木马也可以使用。

Php中使用assert,eval执行, asp 使用eval ,在jsp使用的是Java类加载(ClassLoader),同时会带有base64编码解码等字符特征

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

蚁剑webshell动态特征

默认编码连接时

这里我们直接使用菜刀的一句话webshell

每个请求体都存在@ini_set(“display_errors”, “0”);@set_time_limit(0)开头。并且存在base64等字符

响应包的结果返回格式为  随机数 结果  随机数

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

使用base64编码器和解码器时

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

蚁剑会随机生成一个参数传入base64编码后的代码,密码参数的值是通过POST获取随机参数的值然后进行base64解码后使用eval执行

响应包的结果返回格式为  随机数 编码后的结果  随机数

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

冰蝎

冰蝎是一款动态二进制加密网站管理客户端。

github地址:https://github.com/rebeyond/Behinder

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

冰蝎文件夹中,server 文件中存放了各种类型的木马文件

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

冰蝎webshell木马静态特征

这里主要分析3.0版本的

采用采用预共享密钥,密钥格式为md5(“admin”)[0:16], 所以在各种语言的webshell中都会存在16位数的连接密码,默认变量为k。

在PHP中会判断是否开启openssl采用不同的加密算法,在代码中同样会存在eval或assert等字符特征

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

在aps中会在for循环进行一段异或处理

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

在jsp中则利用java的反射,所以会存在ClassLoader,getClass().getClassLoader()等字符特征

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

冰蝎2.0 webshell木马动态特征

在了解冰蝎3.0之前,先看看2.0是怎么交互等

2.0中采用协商密钥机制。第一阶段请求中返回包状态码为200,返回内容必定是16位的密钥

Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

建立连接后 所有请求 Cookie的格式都为: Cookie: PHPSESSID=; path=/;

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

冰蝎3.0 webshell木马动态特征

在3.0中改了,去除了动态密钥协商机制,采用预共享密钥,全程无明文交互,密钥格式为md5(“admin”)[0:16],但还是会存在一些特征

在使用命令执行功能时,请求包中content-length 为5740或5720(可能会根据Java版本而改变)

每一个请求头中存在Pragma: no-cache,Cache-Control: no-cache

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

哥斯拉

哥斯拉继菜刀、蚁剑、冰蝎之后具有更多优点的Webshell管理工具

github地址:https://github.com/BeichenDream/Godzilla

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

哥斯拉的webshell需要动态生成,可以根据需求选择各种不同的加密方式

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

哥斯拉webshell木马静态特征

选择默认脚本编码生成的情况下,jsp会出现xc,pass字符和Java反射(ClassLoader,getClass().getClassLoader()),base64加解码等特征

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

php,asp则为普通的一句话木马

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

哥斯拉webshell动态特征

所有请求中Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

所有响应中Cache-Control: no-store, no-cache, must-revalidate,

以上两个只能作为弱特征参考

同时在所有请求中Cookie中后面都存在;特征

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

不足

本文中只是分析了在php环境中的,并没有搭建其他语言环境进行分析,在之后会对各个语言的动态特征进行分析,同时尝试更多的混淆方式。

【往期推荐】

【内网渗透】内网信息收集命令汇总

【内网渗透】域内信息收集命令汇总

【超详细 | Python】CS免杀-Shellcode Loader原理(python)

【超详细 | Python】CS免杀-分离+混淆免杀思路

【超详细 | 钟馗之眼】ZoomEye-python命令行的使用

【超详细 | 附EXP】Weblogic CVE-2021-2394 RCE漏洞复现

【超详细】CVE-2020-14882 | Weblogic未授权命令执行漏洞复现

【超详细 | 附PoC】CVE-2021-2109 | Weblogic Server远程代码执行漏洞复现

【漏洞分析 | 附EXP】CVE-2021-21985 VMware vCenter Server 远程代码执行漏洞

【CNVD-2021-30167 | 附PoC】用友NC BeanShell远程代码执行漏洞复现

【奇淫巧技】如何成为一个合格的“FOFA”工程师

【超详细】Microsoft Exchange 远程代码执行漏洞复现【CVE-2020-17144】

【超详细】Fastjson1.2.24反序列化漏洞复现

  记一次HW实战笔记 | 艰难的提权爬坑

【漏洞速递+检测脚本 | CVE-2021-49104】泛微E-Office任意文件上传漏洞

免杀基础教学(上卷)

免杀基础教学(下卷)

走过路过的大佬们留个关注再走呗分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

往期文章有彩蛋哦分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

一如既往的学习,一如既往的整理,一如即往的分享分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

如侵权请私聊公众号删文

推荐阅读↓↓↓

我知道你在看 



原文始发于微信公众号(渗透Xiao白帽):分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月6日01:52:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  分享 | 菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析 http://cn-sec.com/archives/873009.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: