проект in Python Skill Tree

Обратный шелл для управления несколькими целевыми машинами

Начинающий

В этом проекте вы узнаете, как создать обратный шелл с использованием Python, который позволяет управлять несколькими скомпрометированными машинами, также называемыми ботами. В отличие от традиционных шеллов, обратный шелл инициирует соединение от бота к контроллеру, что позволяет управлять удаленными хостами, даже находящимися за брандмауэрами или NAT. Этот метод широко используется в практиках кибербезопасности для пенетрационных тестов и безопасного управления контролируемыми средами.

PythonLinuxInfoSec

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом проекте вы научитесь создавать обратный шелл с использованием Python, который позволяет вам управлять несколькими скомпрометированными машинами, также называемыми "ботами". В отличие от традиционных шеллов, обратный шелл инициализирует соединение от бота до контроллера, что позволяет управлять удаленными хостами даже за防火walls или NAT. Этот метод широко используется в практиках кибербезопасности для проведения тестирования проникновения и управления контролируемыми средами безопасным образом.

Прежде чем приступить к реализации, важно понять основные концепции, лежащие в основе нашего приложения с обратным шеллом, включая архитектуру клиент-сервер (C/S) и Протокол управления передачей (TCP).

Архитектура C/S включает клиента, который запрашивает услуги, и сервер, который предоставляет услуги. В нашем случае боты действуют как клиенты, инициализирующие соединения с нашим сервером, что позволяет нам выполнять команды на них удаленно.

Мы будем использовать TCP для надежного, ориентированного на соединение общения между сервером и клиентами. TCP гарантирует, что данные передаются точно и в порядке, что необходимо для выполнения команд и получения ответов без ошибок.

👀 Предварительный просмотр

Выполнение команды обратного шелла

🎯 Задачи

В этом проекте вы научитесь:

  • Как понять архитектуру клиент-сервер (C/S) и Протокол управления передачей (TCP) как основу сетевого общения.
  • Как настроить сервер, который слушает входящие соединения от нескольких клиентов (ботов).
  • Как создать клиентские скрипты, которые подключаются к серверу и выполняют полученные команды.
  • Как реализовать функциональность выполнения команд и получения результатов на сервере для взаимодействия с подключенными клиентами.
  • Как управлять несколькими соединениями клиентов одновременно и переключаться между ними для отправки команд.

🏆 Достижения

После завершения этого проекта вы сможете:

  • Показать мастерство основных принципов модели клиент-сервер и TCP для надежного сетевого общения.
  • Реализовать много клиентский обратный шелл сервер на Python.
  • Создать клиентские скрипты, которые могут подключаться к удаленному серверу и выполнять команды, отправленные сервера.
  • Управлять несколькими соединениями и управлять общением с несколькими клиентами в контролируемой среде.
  • Применить практический опыт в сетевом программировании и понимание его приложений в кибербезопасности и управлении удаленными системами.

Преподаватель

labby

Labby

Labby is the LabEx teacher.