ВНУКИ НЮКА - SMBDie как убийца НТей

Андрей "Дронич" Михайлюк

Спецвыпуск Xakep, номер #025, стр. 025-068-1


(dronich@real.xakep.ru)

Этот нюк свалился нам на голову в августе этого года и наделал много шума. Используя практически ту же уязвимость, что и Легендарный (я, естественно, имею в виду тот самый WinNuke), SMBdie валит "типа защищенные" системы просто на раз. Не удержаться от его тестирования я просто не смог :). Но сначала - пара слов для прессы.

КАК УСТРОЕНЫ ДЕВЧОНКИ

Давай-ка разберемся, в чем фишка нашего нового друга. А то запускать нюкер, не представляя, что он делает с удаленной системой, - это, во-первых, неинтересно, а во-вторых, как-то по-гопницки :). Из названия понятно, что он пролезает через уязвимости (как меня прет это словечко багтрекров :)) в технологии SMB, в узких кругах известной как Server Message Block. Эта пижня фактически заменяет NetBIOS в NTшном семействе виндов, то есть предоставляет по сети доступ к расшаренным файлам и принтерам. Работает она через TCP/IP, что, в принципе, должно было добавить надежности, но...

Служба блока сообщений сервера занимается мониторингом 139-го и 445-го портов в надежде получить запрос на пользование шарой от измученного лишениями удаленного юзера. А так как процесс посылки этого запроса не требует никакой аутентификации, под юзера может легко закосить и злобный хацкер. Ему необходимо зашвырнуть в порт SMB пакет SMB_COM_TRANSACTION, в котором, по идее, должны лежать функции, обязательные к выполнению для расшаренного ресурса. А в сгенеренном нюкером пакете лежат запросы к трем функциям системы: NetServerEnum2, NetServerEnum3 и NetShareEnum (эти функции обрабатывает LANMAN RAPI). Права юзера машины нужны только для ShareEnum, остальные функции легко выполняются анонимно. В итоге мы получаем стандартный ДоС с последующим синеньким экранчиком.

ИМЕЕМ ПРАВО?

Какие системы пасуют перед самбамдаем? Во-первых, это виндюки НТшного семейства. Учитывая дату релиза эксплойта и экспериментальные данные (об этом позднее), в список жертв можно смело поставить WinNT, Win2K SP2 (!) и WinXP. Соответственно, нюку подвержены все, кроме самых убогих и несчастных, то бишь упорно юзающих 9х/МЕ (для них мы припасли другой подарочек :)). Неплохо? Тогда второе ограничение - на компах должна быть включена поддержка шар, если она отключена, мазы задосить уже нет. Так что продвинутых юзеров на модеме отметаем (кто снял галки с "клиента сетей Microsoft" - тот молодец). Так что круг заметно сузился, и основная масса жертв оказалась заложниками локалок. Они, конечно, могут подстраховаться и забить в реестр параметр "HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Control\ Lsa\ restrictanonymous=00000002", который заставит винду требовать у подозрительных личностей логин и пароль для доступа к компу, только совсем не факт, что они будут этим заниматься (ведь особо продвинутых мы уже вычеркнули из списка :)).

ТЕСТИНГ НА СЕБЕ

Надо сказать, что при тестировании я почувствовал гордость за то, что несу на себе тяжкий крест ВИНформатора. Мой комп настолько отчаянно сопротивлялся попыткам нюка с обеих сторон, что на борьбу с ним я потратил больше времени, чем на написание этого текста :). Так вот, когда я захотел развлечь себя нюканьем локалхоста, первым завопил верный DrWeb. Хорошо, отрубаем вирусную базу за август, молчит. Запускаю нюк, а он мне нагло заявляет "Cannot connect". Сопеть-копать, я ж файрволл не отрубил. Ставлю дизейбл любимому Нортону, повторяю попытку - та же фигня. Лезу в настройки соединения и вспоминаю, что давно и надолго запретил все виды шар. Тяжелой рукой клацаю по мышке и разрешаю их. Безо всякой надежды на лучшее запускаю нюк и... умираю. Причем сразу :). Хвалю себя за то, что еще не поставил SP3 (представляю, как бы я его удалял :)), и иду тестить в родной универ.

Содержание  Вперед на стр. 025-068-2