ADG Оставить заявку
Блог Информационная безопасность 5 мин чтения

Sasser: машина уходит в ребут сама, без помощи пользователя

Май 2004: червь Sasser заражал Windows XP и 2000 через сеть без единого клика. Где стояли патчи - тишина. Рассказываем, как изолировали заражённые машины и почему изоляция идёт раньше лечения.

Контекст момента

червь Sasser заражал машины через сеть без участия пользователя, апрель-май 2004

Позвонили с одного объекта в пятницу вечером: компьютеры в офисе начали сами по себе уходить в перезагрузку. Машина работает, никто ничего не делает, и вдруг выскакивает системное окошко - «система будет перезагружена через 60 секунд». Отсчёт идёт, через минуту ребут. Загружается, работает немного - и снова. Первая мысль у людей на месте: что-то с Windows, кривое обновление. Попробовали на одной машине откатить последние апдейты. Не помогло. К утру субботы перезагружалась уже добрая половина офиса.

Это был Sasser. Новый червь, который к тому моменту уже несколько дней гулял по миру, но до конкретного офиса добрался именно сейчас.

Чем он отличается от того, что было раньше

Blaster в августе прошлого года уже показывал этот фокус - заражение через сеть, без писем и вложений. Sasser работает по той же схеме, только дыра другая. Он лезет через уязвимость в службе LSASS - это компонент, который отвечает за аутентификацию в Windows. Уязвимость есть в Windows XP и Windows 2000. Патч Microsoft выпустил ещё в апреле - за пару недель до того, как червь пошёл гулять.

Механика простая и от этого неприятная: заражённая машина начинает долбиться по случайным IP-адресам, пытается нащупать уязвимый LSASS и загрузить туда свой код через FTP. Если Windows не пропатчена - процесс падает, система выдаёт то самое сообщение про перезагрузку, и цикл начинается заново. Пользователь в этой цепочке не нужен вообще. Ни письма открывать, ни на что нажимать. Машина просто стоит в сети с непропатченной Windows - и рано или поздно к ней придут.

MyDoom в январе распространялся через почту - там хотя бы нужен был пользователь, который откроет вложение. Здесь этого барьера нет. Если сеть плоская и в ней есть хотя бы одна заражённая машина - она найдёт остальные без спроса.

Как изолировали

Приехали утром в субботу. Первое, что сделали, - не стали лечить отдельные машины. Это бессмысленно, пока они стоят в общей сети: почистишь одну, пока занимаешься второй, первая снова словит от соседей. Мы это уже проходили с Blaster - тогда же усвоили порядок: сначала остановить распространение, потом чистить.

Шаг первый - изоляция сегмента. На шлюзе и управляемых свитчах закрыли порты, через которые ходит Sasser: он использует TCP 445 для первоначального контакта и TCP 9996 / 1068 для загрузки тела червя. Закрыли как входящие от внешней сети, так и прохождение внутри - между подсетями. Плоская сеть без VLAN здесь добавляет боли: нет готовых границ, которые помогли бы ограничить распространение. Делали что могли через ACL на роутере.

Шаг второй - найти источник. Смотрели на трафик: заражённая машина активно долбится наружу по разным адресам, это видно. Нашли несколько машин с характерной картиной, физически отключили их от сети - просто вынули патч-корд. Не выключили, а именно изолировали: чтобы почистить, нужно с ними работать.

Шаг третий - патч на всё, до чего дотягиваемся. На изолированных машинах - вручную, с носителя. На остальных, которые не успели заразиться, - через внутренний сервер обновлений, пока они ещё в рабочем состоянии. Microsoft Security Bulletin MS04-011 - именно он закрывает дыру в LSASS. На машинах, где патч стоял, Sasser не зацепился вообще. Это и есть весь секрет: не антивирус, не firewall на клиенте - просто патч.

Шаг четвёртый - чистка заражённых. Sasser оставляет несколько своих процессов (avserve.exe, avserve2.exe и похожие имена), прописывается в автозапуск через реестр. Убивается руками или утилитами, которые к тому времени уже выпустили несколько антивирусных вендоров. После чистки - патч, и машину обратно в сеть.

К вечеру субботы офис работал. Несколько машин под Windows 98, которые тоже стояли в сети, Sasser не трогал - у них LSASS не та, дыры нет. Помогло случайно, но помогло.

Что раздражает в этой истории

У этого клиента был SUS - сервер обновлений, который мы поставили после Blaster. Но политика была настроена лениво: обновления приходили на клиентов, но требовали ручного подтверждения от пользователя. Часть машин кнопку не нажимала неделями. Патч был, лежал в очереди, просто не установился.

На машинах, где обновления шли в автоматическом режиме без вопросов к пользователю, патч встал сам, и Sasser прошёл мимо. На тех, где висело «одобрить установку» - словили.

После этой субботы политику на всех сопровождаемых объектах поправили: критические патчи безопасности ставятся автоматически, без запроса к пользователю, в ближайшее сервисное окно. Пользователь не должен принимать решение об установке патча от LSASS - он не знает, что такое LSASS, и не должен знать.

Второй вывод: плоская сеть, где все видят всех, - это умножитель любого червя, который умеет сам ходить по соседям. Сегментация не остановила бы заражение полностью, но сильно замедлила бы и дала время среагировать. Разговор о VLAN с этим клиентом откладывали давно - теперь он перестал откладываться.

Контакт

Нужна такая же инженерная работа?

Опишите задачу и контекст. Ответим в течение рабочего дня, при необходимости подпишем NDA.