资讯专栏INFORMATION COLUMN

Assassin暗杀者-自用短小精悍的webshell管理工具分享

solocoder / 2253人阅读

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

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 >getshellAssassin|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内存马模板

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/124805.html

相关文章

  • Hack一部Android手机只需要5分钟?

    摘要:,,群 Assassin-Trojan---Hack Others’ Android Devices Within 5mins showImg(https://segmentfault.com/img/remote/1460000018924873); hack the android device with only one instruction on your terminal ...

    ybak 评论0 收藏0
  • Hack一部Android手机只需要5分钟?

    摘要:,,群 Assassin-Trojan---Hack Others’ Android Devices Within 5mins showImg(https://segmentfault.com/img/remote/1460000018924873); hack the android device with only one instruction on your terminal ...

    gggggggbong 评论0 收藏0
  • Hack一部Android手机只需要5分钟?

    摘要:,,群 Assassin-Trojan---Hack Others’ Android Devices Within 5mins showImg(https://segmentfault.com/img/remote/1460000018924873); hack the android device with only one instruction on your terminal ...

    KnewOne 评论0 收藏0
  • 设计模式之工厂模式

    摘要:缺点需要慎重考虑是否增加工厂类进行管理,因为会增加代码的复杂度使用场景工厂模式是创建型模式的一种,其实就等价于对象,但是否将对象改造成工厂模式,使我们需要衡量的。 前言 最近北京天气越来越冷了,同在北京的小伙伴大家注意保暖。不扯废话了,让我们直接进入到工厂模式的学习. 什么是工厂模式 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到子类。 UML类图...

    huangjinnan 评论0 收藏0
  • webshell一些姿势

    摘要:常常被称为入侵者通过网站端口对网站服务器的某种程度上操作的权限。由于其大多是以动态脚本的形式出现,也有人称之为网站的后门工具。 目录 什么是webshell拿we...

    Mr_houzi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<