Conficker: как червь отключает Windows Update, блокирует антивирусы и что с этим делать
Conficker массово распространяется через MS08-067, который мы только что закрыли. Разбираем механику червя и чеклист для уже заражённой машины.
Червь Conficker (Downadup) начинает массовое распространение в ноябре 2008 года, эксплуатируя уязвимость MS08-067 в Windows Server Service
Неделю назад мы закрывали MS08-067 в режиме пожарной тревоги. Теперь понятно, почему это было не паранойей: в сети появился червь, который использует ту же уязвимость как основной вектор. Называется Conficker, встречается также под именем Downadup. Первые поступления к нам - с позапрошлой недели, сейчас идёт плотным потоком.
Проблема не в самом факте эксплуатации MS08-067 - мы за это время пропатчили большую часть парка под управлением. Проблема в том, что Conficker умеет несколько неприятных вещей, которые сильно осложняют удаление, даже когда машину уже нашли.
Как он попадает
Три пути, и все три активны одновременно.
Первый - MS08-067. Сканирует сеть на порт 445, эксплуатирует уязвимость в netapi32.dll, получает SYSTEM без всякой аутентификации. Машины без патча - готовы. Именно поэтому мы торопились с закрытием: каждый незапатченный хост в сети - это потенциальный источник заражения для соседей.
Второй - сетевые шары и слабые пароли. Червь перебирает сетевые папки и пробует стандартные пароли администратора. Список у него небольшой, но покрывает большинство «дефолтных» паролей, которые до сих пор встречаются в небольших сетях. Попал на одну машину через 445 - дальше идёт по шарам горизонтально.
Третий - авторан с USB. Conficker копирует себя на съёмные носители и создаёт autorun.inf. Флешка воткнулась в заражённую машину, потом перешла к коллеге - заражение без всякой сети. Этот вектор неприятен именно тем, что работает в изолированных сегментах, где SMB закрыт.
Что делает после заражения
Механика у Conficker откровенно неглупая. Первое, что он делает после закрепления, - ломает возможность лечения.
Отключение Windows Update. Червь правит реестр и блокирует службу Windows Update: WUAUSERV либо останавливается, либо теряет возможность достучаться до Microsoft. Пользователь не получает патчи, не получает определения для Defender - машина застывает в уязвимом состоянии. Некоторые варианты дополнительно правят файл hosts, добавляя туда записи вида 127.0.0.1 windowsupdate.microsoft.com.
Блокировка антивирусных сайтов. В тот же hosts или через DNS-перехват Conficker добавляет несколько десятков доменов антивирусных вендоров: kaspersky.com, symantec.com, mcafee.com, avg.com, avast.com и ещё штук тридцать. Попытка скачать лечащую утилиту с зараженной машины заканчивается ошибкой соединения. Эффективно и просто.
Отключение восстановления системы и безопасного режима. На некоторых вариантах - дополнительно чистит теневые копии и портит точки восстановления. Быстрый откат становится невозможным.
Распространение. Параллельно червь продолжает сканировать сеть и заражать соседей. Заражённая рабочая станция в офисной сети - это постоянный источник атак на всё, до чего дотягивается по 445.
Почему заражённую машину сложно лечить в живую
Именно из-за блокировки сайтов. Антивирус обновить нельзя - сайт недоступен. Скачать специализированную утилиту нельзя - сайт недоступен. Windows Update отключён - патчи не придут. Машина защищает своё заражение инфраструктурными методами, и это раздражает: технически несложно, но работает.
Добавьте к этому, что Conficker маскирует свой процесс, патчит системные вызовы для скрытия от некоторых инструментов, и на живой системе его присутствие не всегда очевидно - машина может работать вполне нормально, пока заражает соседей.
Наш чеклист для заражённой машины
Протокол, который мы сейчас применяем, когда машина пришла с подозрением или подтверждённым заражением.
- Изоляция немедленно. Отключить сетевой кабель или заблокировать порт на коммутаторе. Пока машина в сети, она заражает соседей. Это важнее всего остального.
- Не пытаться лечить в живую с этой же машины. Антивирусные сайты заблокированы, инструменты будут работать ненадёжно. Инструменты для лечения скачивать с другой, чистой машины на флешку - с предварительно отключённым авторуном.
- Проверить авторан перед использованием флешки. Если флешка побывала в заражённой машине - она сама стала носителем. На чистой машине открывать её только после проверки.
- Загрузка с внешнего носителя. Если позволяет оборудование - загрузить с LiveCD или отдельного загрузочного USB. Лечение до загрузки ОС обходит большинство защитных механизмов червя.
- После удаления - немедленный патч MS08-067. Без патча машина снова заразится из сети в течение минут, если рядом есть другие источники. Патч на флешке, установка без сети.
- Проверить файл hosts.
C:\Windows\System32\drivers\etc\hosts- убрать все записи кроме стандартных. После этого Windows Update и антивирусные сайты должны стать доступны. - Восстановить службы. WUAUSERV, BITS - проверить статус и запустить. Провести принудительное обновление.
- Проверить соседей. Если машина была в сети хоть несколько часов - все соседи в том же сегменте потенциально уже заражены. Нельзя ограничиваться одной машиной.
Что мы видим у клиентов
На запатченных машинах - тишина, всё работает как ожидалось. Conficker через 445 не проходит. Проблемы там, где патч не дошёл: это либо машины, которые не были в сети в момент раскатки, либо те, у кого WSUS-агент не работал. Про эту тему мы уже писали - слепые пятна WSUS оказались реальной проблемой.
Отдельная история - USB-вектор. Один из клиентов словил заражение на изолированном сегменте, где 445-й наружу не торчит вообще. Пришла флешка с ноутбука сотрудника, воткнулась, авторан сработал. Изоляция сети не помогла, потому что заражение приехало физически.
Работаем. Пока ситуация под контролем, но хвосты ещё есть.
- MS08-067: внеплановый патч Microsoft и три ночных окна на 200+ машин · 9 октября 2008
- 10GbE в серверной: iSCSI наконец перестал задыхаться · 4 сентября 2008