Reverse Shell para Controlar Múltiplos Alvos

Iniciante

Neste projeto, você aprenderá como criar um reverse shell usando Python, o que permite controlar múltiplas máquinas comprometidas, também referidas como bots. Diferente dos shells tradicionais, um reverse shell inicia uma conexão do bot para o controlador, possibilitando o gerenciamento de hosts remotos mesmo atrás de firewalls ou NAT. Este método é amplamente utilizado em práticas de segurança cibernética para testes de penetração e gerenciamento de ambientes controlados de forma segura.

PythonLinuxInfoSec

💡 Este tutorial foi traduzido do inglês com assistência de IA. Para ver o original, você pode mudar para a versão em inglês

Introdução

Neste projeto, você aprenderá como criar um reverse shell usando Python, o que permite controlar múltiplas máquinas comprometidas, também referidas como "bots". Diferente dos shells tradicionais, um reverse shell inicia uma conexão do bot para o controlador, possibilitando o gerenciamento de hosts remotos mesmo atrás de firewalls ou NAT. Este método é amplamente utilizado em práticas de segurança cibernética para testes de penetração e gerenciamento de ambientes controlados de forma segura.

Antes de mergulhar na implementação, é importante entender os conceitos fundamentais por trás da nossa aplicação de reverse shell, incluindo a arquitetura cliente-servidor (C/S) e o Protocolo de Controle de Transmissão (TCP).

A arquitetura C/S envolve um cliente que solicita serviços e um servidor que fornece serviços. Em nosso caso, os bots atuam como clientes, iniciando conexões com nosso servidor, permitindo que executemos comandos neles remotamente.

Usaremos TCP para comunicação confiável e orientada a conexão entre o servidor e os clientes. O TCP garante que os dados sejam entregues com precisão e em ordem, o que é essencial para executar comandos e receber respostas sem erros.

👀 Visualização

Execução de comando reverse shell

🎯 Tarefas

Neste projeto, você aprenderá:

  • Como entender a arquitetura cliente-servidor (C/S) e o Protocolo de Controle de Transmissão (TCP) como a base para comunicações de rede.
  • Como configurar um servidor que escuta por conexões de entrada de múltiplos clientes (bots).
  • Como criar scripts de cliente que se conectam ao servidor e executam comandos recebidos.
  • Como implementar a execução de comandos e a funcionalidade de recuperação de resultados no servidor para interagir com os clientes conectados.
  • Como gerenciar múltiplas conexões de cliente simultaneamente e alternar entre elas para emitir comandos.

🏆 Conquistas

Após concluir este projeto, você será capaz de:

  • Demonstrar domínio dos fundamentos do modelo cliente-servidor e TCP para comunicação de rede confiável.
  • Implementar um servidor de reverse shell multi-cliente em Python.
  • Criar scripts de cliente que podem se conectar a um servidor remoto e executar comandos enviados do servidor.
  • Lidar com múltiplas conexões e gerenciar a comunicação com múltiplos clientes em um ambiente controlado.
  • Aplicar experiência prática em programação de rede e uma compreensão de suas aplicações em segurança cibernética e gerenciamento de sistemas remotos.

Professor

labby

Labby

Labby is the LabEx teacher.
OSZAR »