Сканування shared-ресурсів в Internet, Інтернет і інші мережі, Security & Hack, статті

Monster, HackZone

В результаті експериментів з NetBIOS був
реалізований метод сканування Internet в
пошуках відкритих для запису поділюваних
(Shared) ресурсів. Подібна ідея вже
застосовувалася в Legion, але просте додаток
цієї схеми найпростішим алгоритмом підбору
паролів дозволило домогтися несподівано “хороших”
результатів.

Алгоритм сканування

Сканування виконується паралельно для
кожного з заданих адрес (при наявності
достатніх ресурсів у атакуючого).
Сканується мережа класу C, крім 1.2.3.0 та 1.2.3.255.

Перша стадія – Збір даних.

  1. Надіслати запит ping. Якщо немає відповіді, то
    пропустити цю адресу (і не атакувати цю
    машину на другій стадії).
  2. Визначити ім’я DNS (на всякий випадок, воно
    ніде не використовується)
  3. Спробувати встановити null session(1).
  4. Спробувати отримати список shared resources.
  5. Якщо null session встановити не вдалося, то
    закінчити першу стадію для цієї адреси.
  6. Спробувати отримати список імен
    користувачів.
  7. Спробувати отримати інформацію про
    операційній системі, а саме
  • Платформу (Windows 9x, Windows NT)
  • Версію LAN Manager (Для NT: 4.00 => NT4, 5.00 => Windows
    2000)
  • Роль системи в мережі: прапори Master Browser, Backup
    Browser, PDC, BDC, RAS dialin server.

Друга стадія– Підбір паролів. Всі
імена користувачів, отримані на першій
стадії, об’єднуються в один список, що
дозволяє врахувати доменну архітектуру
систем на базі Windows NT. На цій стадії
перевіряються з’єднання типу net use \\1.2.3.4\IPC$
password /user:username
. Якщо з’єднання успішно, то
перевіряються всі можливість підключення до
всім shared resources, і, коли підключення успішно,
можливість запису.

  1. Перевірити підключення з випадковим
    ім’ям (використовується результат GetTickCount () в
    десятковому представленні) і порожнім
    паролем. Якщо підключення успішно, то
    вважати, що дозволено підключення Guest, і
    подальші перевірки паролів будуть
    безглузді(2). Shared resources Перевірити
    і більше не підбирати паролі на цю
    машину.
  2. Перевірити підключення з усіма іменами,
    зібраними на першій стадії. Перевіряється
    порожній пароль і пароль, що співпадає з
    ім’ям користувача. Якщо підключення
    успішно, то перевірити shared resources.

(1) Null session – анонімне з’єднання
(З порожнім ім’ям і паролем). Те ж, що і net
use \\1.2.3.4\IPC$ "" /user:""
(2)
Це не зовсім вірно. Правильним
варіантом була б все одно перевіряти всі
імена, і кожного разу відстежувати зміни
прав доступу до shared resources.

Захист

Атака може запобігти
наступними методами:

Введення account lockout сенсу, швидше за все, не
має, оскільки проводяться лише дві
спроби вгадати пароль.

Стандартне протоколювання доступу
методами NT не дозволяє встановити IP
атакуючого (тільки NetBIOS ім’я машини і домен,
які можуть бути довільно змінені).
Однак протокол дозволяє
ідентифікувати минулий атаку: спочатку
йде один запис про успішне вході в
систему користувача ANONYMOUS, а потім (після
паузи близько хвилини) серія записів про
неуспішних спроби входу з різними
іменами користувачів (у тому числі і тих,
яких немає на цій машині; по два записи на
ім’я). Якщо серед них є хоча б один запис
про успішне вході, систему слід вважати
скомпрометованою.

Реалізація

Для перевірки методу була написана
програма, що реалізує вищеописаний
алгоритм (це зайняло близько 6 годин разом з
тестуванням і перервами на покурити).
Тестові сканування проводилися на Dual
Celeron 400MHz 96Mb RAM з одночасним запуском до 128
потоків.

Статистика

Було проведено ряд експериментальних
сканувань. Як джерело адрес
підмереж був використаний Intruders list,
отриманий за допомогою BlackICE,
однак розробка алгоріма швидкого
визначення “населених” підмереж
не представляє ніякої складності.
Сканування 254 адрес займає від двох до
десяти хвилин залежно від якості
зв’язку та загальної кількості імен
користувачів у мережі.

Коротко сформульований результат такий:

Крім того: за дві години не дуже
напруженої роботи можна знайти три машини з
Windows NT, до яких можна підключитися по мережі
з правами адміністратора (CONNECT: Administrator:

Детальна статистика:

Усього адрес
просканувати
1524 100%
На ping відповіло 442 29%
Null session встановлено з 102 6.7%
Guest дозволений(1) 57 3.7%
Уразливих машин(2) 45 3.0%

(1) Тобто можливе підключення до IPC $
з випадковим ім’ям
(2) Уразливими вважалися всі машини,
які дозволяли підключити поділюваний
ресурс хоча б на читання.

Розподіл платформ

Усього успішних запитів 102 100%
Windows 95/98 58 57%
Windows NT або SAMBA 44 43%

Користувачі

Всього імен перевірено 177 100%
З порожнім паролем 10 6%
З паролем, що збігається з
ім’ям
10 6%

Shared resources

Усього директорій 278 100%
Доступно на читання 171 62%
Доступно на запис 91 33%

 

Перспективи застосування

По-перше, ця атака (після
незначного удосконалення) може
бути використана для швидкого заселення
обширних територій, наприклад, BackOrifice або
програмами для проведення DDoS-атак.

По-друге, на цьому алгоритмі може бути
реалізований мережевий черв’як, навіть занижена
оцінка швидкості поширення якого
виробляє важке враження.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*