Mastodon Mastodon Mastodon Mastodon

Зворотний шелл

Оновлено: · CyberSecureFox Editorial Team

Зворотний шелл (reverse shell) — віддалена командна оболонка, за якої зламана машина сама підключається до слухача зловмисника й дає йому інтерактивний контроль в обхід правил для вхідного трафіку.

Як працює зворотний шелл

У звичайному віддаленому сеансі клієнт підключається до сервера, який чекає на вхідні з’єднання. Зворотний шелл перевертає цю схему:

  • Зловмисник запускає слухача на своїй машині, наприклад за допомогою netcat або Metasploit.
  • Він експлуатує вразливість на кшталт віддаленого виконання коду або завантажує веб-шелл і виконує на цілі коротку команду.
  • Ціль підключається назад до слухача й прив’язує до цього з’єднання оболонку — bash, cmd.exe або PowerShell.

Типові однорядкові команди використовують механізм /dev/tcp у bash, Python, PowerShell чи netcat. Протилежний підхід — bind shell («прямий шелл»), коли порт для підключення відкривається на боці жертви. У MITRE ATT&CK така активність належить до Command and Scripting Interpreter (T1059) і протоколів прикладного рівня для керування.

Чому зворотні шелли важливі

Більшість міжмережевих екранів і пристроїв NAT блокують непрохані вхідні з’єднання, але пропускають вихідний трафік, тому зворотний шелл часто стає найпростішим способом перетворити одноразову помилку виконання коду на повноцінний інтерактивний доступ. Саме тому розбори експлойтів і атаки на вебзастосунки, VPN-шлюзи та IoT-пристрої так часто закінчуються зворотним шеллом. У тестуванні на проникнення робочий зворотний шелл — стандартний доказ успішної компрометації. Зловмисники можуть тунелювати його через HTTPS або DNS, щоб злитися зі звичайним трафіком.

Як захиститися від зворотних шеллів

  • Обмежити вихідний трафік: сервери мають підключатися лише до тих адрес, які їм справді потрібні.
  • Налаштувати сповіщення, коли вебсервери чи служби породжують командні оболонки та інтерпретатори скриптів.
  • Використовувати EDR і мережевий моніторинг, щоб помічати довготривалі з’єднання з невідомими вузлами.
  • Швидко оновлювати застосунки, доступні з інтернету, щоб позбавити зловмисника початкового виконання коду.
Синоніми:
reverse shell, реверс-шелл, зворотна оболонка