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.

cybersecuritylinux

💡 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á a criar um shell reverso utilizando Python, o que permite controlar múltiplas máquinas comprometidas, também conhecidas como "bots". Diferente dos shells tradicionais, um shell reverso inicia uma conexão do bot para o controlador, possibilitando o gerenciamento de hosts remotos mesmo que estejam atrás de firewalls ou NAT. Este método é amplamente utilizado em práticas de cibersegurança para testes de invasão e gerenciamento de ambientes controlados de forma segura.

Antes de mergulharmos na implementação, é fundamental entender os conceitos base por trás da nossa aplicação de shell reverso, 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 os fornece. No nosso caso, os bots atuam como clientes que iniciam conexões com o nosso servidor, permitindo-nos executar comandos neles remotamente.

Utilizaremos o TCP para garantir uma comunicação confiável e orientada à conexão entre o servidor e os clientes. O TCP assegura que os dados sejam entregues com precisão e na ordem correta, o que é essencial para executar comandos e receber respostas sem erros.

👀 Prévia

Execução de comando via shell reverso

🎯 Tarefas

Neste projeto, você aprenderá:

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

🏆 Conquistas

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

  • Demonstrar domínio sobre os fundamentos do modelo cliente-servidor e do TCP para comunicação de rede confiável.
  • Implementar um servidor de shell reverso para múltiplos clientes em Python.
  • Criar scripts de cliente capazes de se conectar a um servidor remoto e executar comandos enviados por ele.
  • Lidar com múltiplas conexões e gerenciar a comunicação com diversos clientes em um ambiente controlado.
  • Aplicar experiência prática em programação de rede e compreender suas aplicações em cibersegurança e gerenciamento remoto de sistemas.

Professor

labby
Labby
Labby is the LabEx teacher.