• 渗透测试-菜刀冰蝎蚁剑哥斯拉等webshell工具及特征分析


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

    前言

    在测试过程中,我们经常会运到各种webshell管理工具,这里我介绍几种常见的webshell工具给大家。

    Webshell简介

    webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理、服务器管理、权限管理等操作。使用方法简单,只需上传一个代码文件,通过网址访问,便可进行很多日常操作,极大地方便了使用者对网站和服务器的管理。
    最普通的一句话木马:

    在这里插入图片描述

    中国菜刀

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

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

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

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

    菜刀webshell的静态特征

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

    常见一句话(Eval):

    PHP, ASP, ASP.NET 的网站都可以:
    PHP:
    ASP: <%eval request(“caidao”)%>
    ASP.NET: <%@ Page Language=“Jscript”%><%eval(Request.Item[“caidao”],“unsafe”);%>

    菜刀webshell的动态特征

    请求包中:

    ua头为百度爬虫

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

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

    请求体中执行结果响应为明文,格式为X@Y 结果 X@Y之中
    在这里插入图片描述
    在这里插入图片描述

    蚁剑

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

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

    在这里插入图片描述

    蚁剑webshell静态特征

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

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

    蚁剑webshell动态特征

    默认编码连接时

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

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

    响应包的结果返回格式为 随机数 结果 随机数
    在这里插入图片描述

    使用base64编码器和解码器时

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

    响应包的结果返回格式为 随机数 编码后的结果 随机数
    在这里插入图片描述
    在这里插入图片描述

    冰蝎

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

    github地址:https://github.com/rebeyond/Behinder
    在这里插入图片描述
    冰蝎文件夹中,server 文件中存放了各种类型的木马文件
    在这里插入图片描述

    冰蝎webshell木马静态特征

    这里主要分析3.0版本的

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

    在PHP中会判断是否开启openssl采用不同的加密算法,在代码中同样会存在eval或assert等字符特征
    在这里插入图片描述
    在aps中会在for循环进行一段异或处理
    在这里插入图片描述
    在jsp中则利用java的反射,所以会存在ClassLoader,getClass().getClassLoader()等字符特征
    在这里插入图片描述

    冰蝎2.0 webshell木马动态特征

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

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

    Accept: text/html, image/gif, image/jpeg, *; q=.2, /; q=.2
    在这里插入图片描述
    建立连接后 所有请求 Cookie的格式都为: Cookie: PHPSESSID=; path=/;
    在这里插入图片描述

    冰蝎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管理工具

    github地址:https://github.com/BeichenDream/Godzilla
    在这里插入图片描述
    哥斯拉的webshell需要动态生成,可以根据需求选择各种不同的加密方式
    在这里插入图片描述

    哥斯拉webshell木马静态特征

    选择默认脚本编码生成的情况下,jsp会出现xc,pass字符和Java反射(ClassLoader,getClass().getClassLoader()),base64加解码等特征
    在这里插入图片描述
    php,asp则为普通的一句话木马在这里插入图片描述
    哥斯拉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中后面都存在;特征
    在这里插入图片描述

  • 相关阅读:
    复现xss绕过一个循环和两个循环
    面试官:说说EventLoop事件循环、微任务、宏任务
    jpa框架部分重点
    【Python毕业设计源码】diango大学生职业推荐平台
    自动驾驶不等于无人驾驶,无人驾驶的概念是什么
    凌恩客户文章|Nature子刊-水体RNA宏病毒组
    Java继承
    目标检测-SSD算法从零实现
    RS485 光照度传感器 pc串口工具调试设备 亲身体验
    Ubuntu20.04软件安装顺序
  • 原文地址:https://blog.csdn.net/lza20001103/article/details/126320868