Операції
Вхід
Основи інфраструктури/Оболонки й доступ

Оболонки й доступ

Reverse vs bind shell; як отримати й стабілізувати оболонку

Що таке оболонка

Оболонка (shell) - це командний рядок хоста: те, через що ти даєш машині команди. Поки ти атакуєш вебзастосунок через браузер, ти зовні. Коли отримав оболонку - ти на самому хості, з повноцінним командним доступом.

Оболонку зазвичай дістають через помилку в застосунку, яка дозволяє виконати свою команду (RCE/експлойт), і ця команда відкриває тобі канал у систему.

Reverse проти bind

Є два способи зʼєднати оболонку:

Саме тому на практиці частіше беруть reverse shell: ціль ініціює звʼязок, і це проходить там, де вхідне підключення не пройшло б.

Стабілізація

Перша оболонка часто «куца»: немає автодоповнення, Ctrl+C рве сесію, відмовляє sudo, тож працювати незручно. Тому її стабілізують - роблять апгрейд до повноцінного tty (інтерактивного термінала). Після цього працювати так само зручно, як у звичайному SSH.

На практиці

Reverse shell - стандартний результат вдалого RCE: ти запускаєш слухач у себе, експлойт змушує ціль підключитися назад, і ось ти вже на хості. Перший крок після цього - стабілізувати tty.

Перевір себе