Використання уразливостей на локальних машинах
22:50 09.11.2006Нещадавно я згадував у записі Використання CSS для розкриття інформації про те, що можна визначити адреси сайтів, які відвідував користувач. І в тому числі локальні адреси - адреси сайтів в локальний мережі (в тому числі localhost). І дана інформація може бути використана для більш глибоких атак.
Також інформацію про локальні сайти можна дізнатися й іншим чином (через соціальну інженерію, віруси чи трояни, або вгадуванням чи простим перебором). І локальні сайти в свою чергу можуть бути більш вразливими і менш захищеними, бо менше перевірялися на предмет уразливостей (бо в адмінів може з’явитися помилкове уявлення, мовляв сайт локальний, за брендмауером, ніхто до нього не добереться - цю думку я й намагаюся змінити).
Зокрема процес отримання інформації про локальний сайт (для подальшої атаки) може бути спрощений за рахунок того, якщо на локалі стоїть той же сайт що і в інтернеті: тобто в мережі є сайт http://site.com, і його точна (або майже точна) копія є на http://localhost. І якщо сайт в інтернеті є уразливим (до XSS, SQL Injection тощо), то його локальна копія напевно теж - що дозволить зробити напад на локальний ПК користувача. Причому, окрім інформації з самого сайта, на локалхості можуть бути інші сайти (з іншою важливою інформацією), а також вразливими є інші дані на ПК користувача (які можуть бути викрадені, в залежносмті від прав користувача, з якими запущений браузер або від прав веб сервера).
До локальних даних можна дістатися як з уразливих скриптів конкретного сайту, так і з інших додаткових скриптів, які можуть бути на локалхості, і яких немає на сайті в інтернет (про це повинен знати атакуючий). І це цілком можливо, так як на локалхості можуть бути додаткові скрипти, встановленні для власних потреб користувача. При наявності контроля за браузером користувача, або через трояни чи руткіти, або через веб (про що я розповідав в XSS для віддаленого контролю), це може призвести до серйозних наслідків.
Зокрема в свої практиці я звертав увагу на подібні речі. І деякий час тому провів цікавий експеремент. На одному з моїх сайтів в інтеренет, котрий є на http://localhost (треба лише знати шляхи), наявна XSS уразливість (яку я планую виправити найближчим часом, не переживайте). Вона є в скрипті, який знаходиться як в інтернеті, так і локально - тому можна зробити атаку на локалхост. Цю атаку можна прости як з якогось сайту (на який можна заманити), тим же iframe, або навіть з мого власного сайту, використавши наявну XSS.
Я провів хитру атаку з виконання XSS на локальному веб сервері через сайт в інтернеті - використавши одну і ту саму уразливість на двох сайтах: у вебі і на локалхості (для цього можна використати або прихований iframe, або заманити прямо на лінку). Тобто поле для атаки тут широке. І в результаті я отримав свій локальний кукіс (можливі й інші напрямки атаки). А на локалі в мене багато різних веб додатків, тому й багато різної інформації (в тому числі паролів). А враховуючи, що пароль на локалі і в вебі може використовуватися однаковий, це може призвести до ураження, як локального сайту, так і сайту в інтернеті. Подібний витік інформації може привести до важких наслідків. Про згадану уразливість і наведену атаку ви не переживайте - у вас немає ніяких шансів (всерівно я її пофіксю). Сприймайте це лише як приклад.
Подібні речі є реальністю в наш час. І якщо раніше про подібні атаки тема не піднімалася, це ще не значить, що хакери не використовують подібні методи атаки (в тому числі при комплексних атаках). І наслідки можуть бути доволі серйозні - втрата конфіденційної інформації та інша заподіяна шкода. Тому варто звертати увагу на даний напрямок атаки.