Утаєння файлів
Якщо зловмисникові вдасться зберегти на зламаній системі встановлені ним програми, це значно полегшить його завдання при повторному проникненні. Але, з іншого боку, саме по наявності програм, що невідомо звідки узялися, системний адміністратор може судити про те, що комп'ютер був зламаний. Таким чином, зловмисникові потрібно зробити якісь кроки, щоб якнайкраще приховати файли, які потрібно буде запустити при подальших атаках.
attrib
Найпростіший спосіб заховання файлів полягає в тому, щоб після їх копіювання у вибраний каталог скористатися старою командою DOS attrib, як показано в наступному прикладі.
attrib +h [каталог]
Після використання такої команди при прогляданні вмісту каталога з командного рядка всі файли і каталоги виявляться прихованими. Проте ця команда виявиться даремною, якщо в провіднику Windows встановлений режим Show All Files.
Використання потоків у файлахмтрз
Якщо на цільовому вузлі використовується файлова система NTFS, то для заховання файлів зломщик може скористатися ще одним прийомом. Річ у тому, що система NTFS підтримує декілька потоків (stream) інформації усередині файлу. Система підтримки потоків в NTFS трактується компанією Microsoft як "механізм додавання додаткових атрибутів або інформації до файлу без реструктуризації файлової системи". Наприклад, потоки використовуються при включеному режимі сумісності NTFS з файловою системою Macintosh. Проте до цього ж механізму можна удатися і для заховання в потоках набору інструментів, встановлених хакером.
У наступному прикладі показано, як виконуваний файл утиліти netcat поміщається в потік, приєднаний до файлу
oso00l.009, що знаходиться в каталозі winnt\system32\os2. Згодом цей файл може витягувати для злому інших видалених систем. Цей файл був вибраний через те, що він навряд чи викличе підозри, але замість нього можна використовувати будь-який інший файл.
Для
того, щоб створити файловий потік, потрібно мати в своєму розпорядженні утиліту ср з набору NTRK, що підтримує стандарт POSIX. Синтаксис її використання простий. Через двокрапку, поміщену після імені файлу-контейнера потрібно вказати ім'я записуваного в потік файлу
ср <файл> oso00l.009:<файл>
Наприклад
ср nc.exe oso00l.009:nс.ехе
Дана команда поміщає файл nc.exe у потік nc.exe файлу
oso00l. 009. Для того, щоб витягувати утиліту netcat з потоку, необхідно скористатися наступною командою
ср oso00l.009:nc.exe nc.exe
При
цьому зміниться дата модифікації файлу oso00l.
009, але його розмір залишиться тим самим (деякі версії утиліти ср не змінюють дати). Таким чином, приховані файли, об'єднані за допомогою механізму потоків із звичайними файлами операційної системи, дуже важко виявити.
Для видалення
файлу, що знаходиться в потоці, необхідно скопіювати файл-носій на диск, що відформатував в системі FAT, а потім скопіювати його назад на диск з файловою системою NTFS.
Файл з декількома
потоками як і раніше можна запустити на виконання. Правда, із-за обмежень командного інтерпретатора cmd. exe цього не можна зробити безпосередньо, тобто ввівши ім'я файлу в командному рядку (наприклад,
oso00l. 009: nс. ехе), та зате можна скористатися командою START, як показано в наступному прикладі start
oso00l.009:nс.ехе
Контрзаходи: пошук потоків
Єдиним надійним засобом, за допомогою якого можна виявити потоки у файлах NTFS, є утиліта Streamfinder компанії March Information Systems. Недавно її придбала компанія Internet Security Systems (ISS), яка, видно, більше не поширюватиме цю утиліту через європейський Web-узел. Копію утиліти Streamfinder можна отримати за адресою
http://www.hackingexposed.com. Ще одним хорошим засобом виявлення файлових потоків є утиліта sf ind Ді-джея Гласера
(JD Glaser).
|