Зворотний шелл (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 і мережевий моніторинг, щоб помічати довготривалі з’єднання з невідомими вузлами.
- Швидко оновлювати застосунки, доступні з інтернету, щоб позбавити зловмисника початкового виконання коду.





