Assassin

Assassin是一款精简的基于命令行的webshell管理工具,它有着多种payload发送方式和编码方式,以及精简的payload代码,使得它成为隐蔽的暗杀者,难以被很好的防御。

自用工具开源互相学习,工具短小精悍,生成的webshell能够过目前主流杀毒软件(36x、腾x等,目前能过,后面可能很快就不行了,需要稍微变换webshell代码以再次免杀) 连接后交互的流量特征几乎没有,具体payload发送方式均可自定义。由于个人精力有限,因为懒而且菜,服务端暂时仅支持Java。

Github:https://github.com/b1ackc4t/Assassin

Gitee:https://gitee.com/b1ackc4t/Assassin

声明:主要面向网络安全人员已授权的合法渗透或学生AWD等比赛使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担

特点

[1] 生成的webshell能过主流杀软 36x、腾x等等(以后可能就不行了,需要稍加更改代码,webshell模板可以自定义修改)

[2] webshell仅1kb大小,客户端与服务端完成连接后发送payload十分精简

[3] payload能够以get、post、cookie、mixed四种方式发送,可动态修改,流量迷惑性较强

[4] 客户端与服务端交互流量支持多种编码方式,可动态修改

[5] payload发送的参数名以及数量均可自定义,支持随机ip代理和user-agent

软件截图

软件类似于MSF的操作模式

发送的payload流量示例

cookie:

get:

post:

mixed:

除了cookie方式,get、post、mixed可以在已经建立连接后动态修改发送方式,无需更改服务端

请求编码:

  1. base64
  2. base36
  3. hex

响应编码:

  1. base64
  2. raw
  3. base36
  4. hex

其中响应的编码方式可以动态修改

使用教程

适用版本

服务端:jre 1.5及以上

客户端:jdk 1.8及以上

配置文件

{
"paramNames": ["user", "file", "id", "eid", "wd", "ie", "oq", "name", "son"],
// get、post、mixed请求参数名的随机池
"cookieNames": ["fid", "uuid", "eid", "home", "ief", "fl", "oop"],
// cookie请求参数名的随机池
"headers":{
"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
"Accept-Encoding":"gzip, deflate, br",
"Accept-Language":"Accept-Language: zh-CN,zh;q=0.9",
"Upgrade-Insecure-Requests": "1"
},
// http头部
"partNum": 3,
// payload首次发送的分块数量
"argNum": 5,
// 每次请求的参数个数,不能超过paramNames或者cookieNames的参数个数
"startRandomUserAgent": false,
// 是否随机useragent
"startIpAgents": false,
// 是否开启ip池代理模式
"startColor": true
// 是否启用命令行颜色
}

随机useragent采用./useragents.txt里的useragent,开启后每次请求都会更换useragent,一般配合ip代理使用,关闭时是每次用session命令启动一个webshell会话一个useragent。

ip代理池使用./ipagents.txt,格式为ip:posr;username:password,不需要认证的话ip:port就可以了,开启后每次请求会从中选择一个代理。

Tip:windows用户启动后乱码请关闭"startColor",或者使用Windows Terminal启动

帮助信息

所有命令使用都比较简单,可以通过help命令查看参数

help [command] 查看具体命令的帮助

实例

用startup.bat或startup.sh启动

new java 123 cookie
# 生成密码为123 发送方式为cookie的普通jsp木马
new java pass post reqEncode=base36 tamper=tomcat9_filter
# 生成密码为pass 发送方式为post 请求用base36编码的tomcat9 filter内存马

Tips:add和new命令参数比较多,中括号包裹的可选参数还可以用key=value的方式赋值

之后会弹出窗口选择保存位置

将webshell上到目标服务器

add http://192.168.48.130:8080/1.jsp 123 java method=cookie resEncode=base36
# 添加webshell 密码123 java马 cookie传参 请求编码默认base64 响应编码base36

show查看ID号

session 1连接webshell

看到提示符发生变化就可以执行webshell controller commands的命令了!

Assassin|java >getshell
Assassin|java|C:\apache-tomcat-9.0.54\bin >dir

上传文件

upload # 没参数默认传到当前目录

选择文件即可上传

download ./test.txt同理

编写webshell模板tamper

第一个部分用{@key}填充,代表 webshell密码

第二个部分用{@getvalue}填充,代表 获取请求payload的代码

第三个部分用{@decode}填充,代表 解码代码

模板如下:

String k="{@key}";// aes密钥 123456 md5的前16位
String r = ""; //密文payload存放位置,这个参数名必须为r,其他的无所谓
// 取密文
{@getvalue}
byte[] cText = {@decode};

其他主要逻辑不改,就可以成功连接。

实例

请看webshell/java/下的tomcat的filter内存马模板

Assassin暗杀者-自用短小精悍的webshell管理工具分享的更多相关文章

  1. SharePoint 2013 WebPart 管理工具分享[开源]

    前言 之前做门户的时候,经常要导入导出WebPart,非常的频繁,然后就需要一个个导出,然后一个个导入,非常繁琐:闲暇之际,就考虑能不能自动化一下,把这个功能写成一个工具,可以方便的管理WebPart ...

  2. 接口文档管理工具rap

    git地址:  https://github.com/thx/RAP wiki : https://github.com/thx/RAP/wiki/home_cn 视频教程: http://thx.g ...

  3. Postman - 功能强大的 API 接口请求调试和管理工具

    Postman 是一款功能强大的的 Chrome 应用,可以便捷的调试接口.前端开发人员在开发或者调试 Web 程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的 Fi ...

  4. JDK 中的证书生成和管理工具 keytool

    参考资料 该文中的内容来源于 Oracle 的官方文档 Java SE Tools Reference .Oracle 在 Java 方面的文档是非常完善的.对 Java 8 感兴趣的朋友,可以直接找 ...

  5. Debian的软件包管理工具命令 (dpkg,apt-get)详解

    本文转载于:http://blog.chinaunix.net/uid-20769502-id-106056.html   1.dpkg包管理工具 dpkg --info "软件包名&quo ...

  6. nrm NPM源管理工具

    nrm NPM源管理工具 工具 前端 npm cnpm 今天经过同事介绍,发现一个好玩的东西——nrm(NPM registry manager) nrm 是一个可以快速切换NPM源的node插件.由 ...

  7. 常用MySQL图形化管理工具

    MySQL的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的图形化管理工具,这里我介绍几个经常使用的MySQL图形化管理工具,供大家参考. MySQL是一个非常流行的小型关系型数据 ...

  8. 代码管理工具 --- git的学习笔记二《git的工作原理》

    通过几个问题来学习代码管理工具之git 一.git是什么?为什么要用它?使用它的好处?它与svn的区别,在Mac上,比较好用的git图形界面客户端有 git 是分布式的代码管理工具,使用它是因为,它便 ...

  9. Mac下的类似apt-get的包管理工具Homebrew(笔记)

    对于一个习惯了在 Ubuntu 的终端上通过 apt-get 来安装工具软件的我来说,也希望在Mac上找到类似的工具,能很方便的一条命令就能安装所需的软件,而不用手工的去查找下载编译,或者是折腾安装所 ...

随机推荐

  1. Java秘诀!Java逻辑运算符介绍

    运算符丰富是 Java 语言的主要特点之一,它提供的运算符数量之多,在高级语言中是少见的. Java 语言中的运算符除了具有优先级之外,还有结合性的特点.当一个表达式中出现多种运算符时,执行的先后顺序 ...

  2. Cartography Tools(制图工具)

    制图工具 1.制图优化 # Process: 分散标记 arcpy.DisperseMarkers_cartography("", "", "EXPA ...

  3. 搭建hexo博客遇到的问题

    搭建hexo博客遇到的问题 常用命令 hexo clean 清除hexo缓存 hexo generate 生成文章 hexo deploy 部署 hexo new post name 新建文章名 he ...

  4. C#开发BIMFACE系列49 Web网页中加载模型与图纸的技术方案

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在BIMFACE二次系列博客中详细介绍了服务器端API的调用方式,如下列表 C#开发BIMFACE系列1   BIMFAC ...

  5. Mybatis、maven项目中整合log4j (17)

    Mybatis.maven项目总整合log4j java 中Mybatis.maven项目总整合log4j 1.pom增加log4j包引用 2.添加 log4j.properties文件 # java ...

  6. csp-j 复赛感想

    作者:博客园小蔡编程 这次是作者第一次参加csp-j的比赛 内心还是挺激动的 今天,作者就来和大家讨论一下这次csp-j的学习心得和感想 T1 分糖果 这题描述看似复杂 其实就是一道求最大取模的题 L ...

  7. 手把手教你学Dapr - 1. .Net开发者的大时代

    Dapr全称 Distributed Application Runtime,分布式应用运行时 Dapr的口号 简化云原生应用开发,聚焦在应用的核心逻辑,让代码简单.可移植 Dapr的目标 最佳实践的 ...

  8. Java Filter型内存马的学习与实践

    完全参考:https://www.cnblogs.com/nice0e3/p/14622879.html 这篇笔记,来源逗神的指点,让我去了解了内存马,这篇笔记记录的是filter类型的内存马 内存马 ...

  9. Python中根据时间自动创建文件夹

    导语 ​ 电脑桌面文件太多查找起来比较花费时间,并且凌乱的电脑桌面也会影响工作心情,于是利用python根据时间自动建立当日文件夹,这样就可以把桌面上文件按时间进行存放. 代码实现 # _*_codi ...

  10. 猫狗收容所 牛客网 程序员面试金典 C++

    猫狗收容所 牛客网 程序员面试金典 C++ 题目描述 有家动物收容所只收留猫和狗,但有特殊的收养规则,收养人有两种收养方式,第一种为直接收养所有动物中最早进入收容所的,第二种为选择收养的动物类型(猫或 ...