/ BLOG
У сучасних реаліях успішна атака на корпоративну мережу вкрай рідко стає наслідком однієї критичної вразливості. Зазвичай це комплексний ланцюг, у якому дрібні архітектурні недоліки та помилки конфігурації підсилюють одне одного. Щоб виявляти такі неочевидні вектори атак до того, як ними скористаються зловмисники, бізнес залучає спеціалістів для проведення тестування на проникнення (пентесту).
Під час одного з проєктів спеціалісти ITS Red Team провели оцінку рівня захищеності великої фінансової установи методом тестування на проникнення. Завдання — перевірка стійкості комплексної системи, що складалася з публічного сайту, програмного інтерфейсу (API) та адміністративної панелі. Цей матеріал — покрокова хроніка дослідження, яка демонструє, як, на перший погляд, незначні слабкості дають змогу отримати повний контроль над сервером.
Під час дослідження відкритих ендпоінтів API було виявлено критичну функцію. Вона передавала введені користувачем дані до бази без належної обробки — підстановкою тексту напряму, без параметризації (механізму, який відокремлює дані від самої команди). Це класичний приклад вразливості з категорії Injection (згідно з методологією OWASP Top 10).
Експлуатація цієї вразливості дозволила виконати несанкціоновані SQL-запити безпосередньо до бази даних. Результатом стало отримання можливості читання, зміни та видалення всієї інформації в ній.
Ситуацію критично ускладнив ще один архітектурний недолік: публічні дані сайту, клієнтські заявки та службова інформація адміністративної панелі зберігалися в єдиному середовищі. Серед отриманого масиву інформації було знайдено активні сесії адміністраторів — тимчасові токени, які дозволяють системі ідентифікувати користувача без повторного введення пароля.
Щоб не допустити переходу атаки на цей етап, доцільно розширити захист WAF на API. Головна функція рішення — автоматичне блокування підозрілих запитів та інструментів автоматизованого сканування. Впровадження цього механізму на бекенді значно підвищує витрати часу та ресурсів зловмисника на експлуатацію вразливості та надає службі моніторингу додатковий час для реагування до моменту компрометації даних.
Ескалація привілеїв — публічна доступність адмінпанелі як фатальна помилка
Після отримання токенів доступу відбувся перехід до наступного етапу в ланцюгу експлуатації — спроби авторизації в системі управління контентом. У процесі проведення OSINT (пошуку інформації за відкритими джерелами) для зовнішньої інфраструктури замовника виявлено приховану адміністративну панель, яка, як з'ясувалося, була у публічному доступі.
Замість того, щоб ізолювати службовий інтерфейс у внутрішній корпоративній мережі з доступом виключно через VPN (захищений канал) або IP-allowlist (список дозволених адрес), розробники поклалися на концепцію Security by Obscurity (безпека через невідомість). Вони припустили, що сторонні особи просто не знайдуть складну адресу для входу. Тому службовий вхід спрацьовував з будь-якої точки світу, без обмежень і додаткового захисту (для адміністративної панелі WAF також не було налаштовано).
Завдяки отриманим з бази даних токенам вдалося безперешкодно авторизуватися в панелі з правами адміністратора. Для закріплення результату та забезпечення безперебійного доступу було створено новий обліковий запис із максимальними повноваженнями.
Після отримання доступу до адміністративної панелі розпочався аналіз внутрішніх функцій. Особливу увагу привернув модуль для завантаження файлів. Механізм працював без належної валідації розширень і перевірки вмісту, з'явилася можливість завантажити на сервер вебшелл. Потрапляння цього шкідливого скрипту в систему дозволило виконувати довільні команди локально на сервері, який обслуговує адміністративну панель, основний сайт та його API.
Таким чином успішна компрометація бази даних та отримання адміністративного доступу трансформувалися у критичну загрозу класу RCE (Remote Code Execution). Цей крок наочно демонструє, що недостатня захищеність функціоналу чутливих ресурсів стає критичною точкою відмови, навіть якщо ці інструменти розташовані всередині авторизованої зони.
Від надмірних привілеїв користувача до повного контролю над системою
Виконання команд на сервері не завжди означає повну компрометацію, адже можливості зловмисника обмежуються правами користувача, від імені якого запущено вебдодаток. Проте в цій інфраструктурі було порушено фундаментальний принцип мінімальних привілеїв (Principle of Least Privilege, PoLP) — правило, за яким обліковий запис отримує рівно стільки прав, скільки необхідно для виконання роботи.
Процес вебсервера був запущений від імені локального користувача, який мав право виконувати довільні команди з привілеями суперкористувача (sudo). Це означало миттєве та беззаперечне отримання повного контролю над файловою системою, логами, мережевими інтерфейсами та операційною системою загалом.
Вебсервіс, призначений для відображення сторінок сайту, не потребує прав root. Запуск процесу в контексті обмеженого облікового запису локалізує наслідки потенційної атаки на рівні вебзастосунку, запобігаючи повній компрометації всієї операційної системи.
Ризики для бізнесу від успішної експлуатації ланцюга вразливостей
На етапі отримання root-прав активна фаза тестування завершується, адже факт повної компрометації підтверджено документально. Наслідки отримання такого доступу обмежуються виключно цілями та фантазією потенційного зловмисника. Далі — прогноз того, що хакер міг би зробити зі здобутими правами.
Контроль над адмінпанеллю означає владу над усім, що бачать відвідувачі. Хакер здатен здійснити дефейс (підміну сторінок) для поширення дезінформації або змінити реквізити виплат чи посилання на сторонні ресурси.
Викрадення баз даних із персональною інформацією, скаргами та паспортами клієнтів завдає непоправного удару по репутації фінансової установи. Крім цього, нападник міг би заблокувати легітимних адміністраторів, перш ніж завдавати шкоди, і цим суттєво ускладнити реагування на інцидент.
Отримання прав суперкористувача забезпечує повний контроль на рівні операційної системи, де будь-які файли, конфігурації та журнали подій можуть бути модифіковані або видалені для приховування слідів.
Ще одним критичним наслідком є Lateral Movement (горизонтальний рух) — переміщення всередину інфраструктури зі скомпрометованого сервера на сусідні системи корпоративної мережі. Зокрема, через аналіз історії команд локальних користувачів з'являється ризик захоплення тестових середовищ та систем резервного копіювання. У такому разі навмисне видалення конфігурацій та знищення бекапів здатні повністю паралізувати операційну діяльність установи на тривалий час.
Аналіз інциденту наочно демонструє, що зупинити атаку можна було на будь-якому етапі. Щоб унеможливити подібні загрози, варто застосовувати комплексний підхід, де кожному кроку просування зловмисника протиставляється конкретний захід безпеки:1. Експлуатація вразливості в API (SQL-ін'єкція) → розширення зони дії WAF. Рішення цього класу повинно фільтрувати трафік не лише основного сайту, а й усіх зовнішніх ендпоінтів API. Це забезпечує своєчасне виявлення аномалій та автоматичне блокування шкідливих запитів ще на зовнішньому периметрі.2. Викрадення токенів з бази даних → архітектурний розподіл. Клієнтський вміст і службова логіка панелі керування мають бути жорстко ізольовані одне від одного у різних базах даних. За таких умов витік інформації з публічної зони фізично не зможе призвести до компрометації адміністративних облікових записів.3. Несанкціонована авторизація → мережева ізоляція адмінпанелі. Службовий інтерфейс має бути повністю недоступним із глобальної мережі. Доступ варто налаштовувати виключно через безпечні корпоративні канали (VPN) або обмежувати чітко визначеним переліком дозволених IP-адрес.4. Захоплення контролю над системою (ескалація привілеїв) → обмеження прав. Обліковий запис, від імені якого запущено вебсервіс, повинен мати мінімально необхідні права. Можливість виконання системних команд з привілеями суперкористувача (sudo) без введення пароля має бути виключена.
ITS Red Team — симуляція атак для превентивного захисту
Автоматизовані звіти безпеки відображають лише перелік окремих технічних вразливостей, не враховуючи їхнього логічного взаємозв'язку в реальних умовах. Професійне тестування на проникнення дозволяє оцінити фактичний рівень стійкості корпоративної мережі та виявити комплексні вектори компрометації.
Команда ITS Red Team проводить комплексні пентести у форматах BlackBox (дослідження з позиції зовнішнього нападника без надання попередніх даних) та GreyBox (аналіз системи з урахуванням обмежених внутрішніх привілеїв). В рамках послуги відтворюється логіка потенційних нападників, виявляються приховані ланцюги помилок і визначаються критичні точки, де розвиток атаки можна заблокувати з мінімальними втратами для бізнесу.
Надійний захист починається з розуміння логіки потенційного вектора атаки. Щоб оцінити реальну стійкість вашої архітектури та перевірити її очима нападника на практиці, залишайте заявку на сайті ITS Red Team.