Вирусная эпидемия в ритме Нового года – Win32.Conflicker
Новый 2009 год сразу “порадовал” достаточно серьёзной вирусной эпидемией.
1 января Microsoft Malware Protection Center (MMPС) опубликовал информацию о сетевом черве Win32.Conficker.B (MMPС), также известном как Net-Worm.Win32.Kido.dv (Лаборатория Касперского), W32/Downadup.B (Symantec), W32/Downadup.AL (F-Secure), Win32/Conficker.B (Computer Associates), W32/Confick-D (Sophos), WORM_DOWNAD.AD (Trend Micro).
На данный момент в сети Интернет появилась информация о множественных заражениях компьютерных систем несколькими версиями этого сетевого червя (описание более старшей модификации можно прочитать в вирусной энциклопедии Лаборатории Касперского).
Win32.Conficker.B использует критическую уязвимость в службе “Сервер (Server)”, подробно описанную в Бюллетене по безопасности компании Microsoft MS08-067, для распространения через локальные сети и съёмные устройства хранения информации. Помимо этого червь отключает функцию Восстановление системы (System Restore), блокирует доступ к сайтам, посвящённым информационной безопасности, скачивает на заражённые компьютеры дополнительные вредоносные программы и отключает некоторые системные службы, в частности службу обновления Windows (Windows Automatic Update Service).
При заражении компьютера червь запускает HTTP сервер на случайном TCP порту, который затем используется для загрузки исполняемого файла червя на другие компьютеры. После заражения червь Win32.Conficker.B получает список IP адресов компьютеров, находящихся в сетевом окружении зараженной машины и производит на них атаку, использующую уязвимость переполнения буфера в сервисе «Сервер» Vulnerability in Server Service Could Allow Remote Code Execution (958644). Для этого червь отсылает удаленной машине специальным образом сформированный RPC-запрос, который вызывает переполнение буфера при вызове функции wcscpy_s в библиотеке netapi32.dll, в результате чего запускается специальный код-загрузчик, который скачивает с зараженной машины исполняемый файл червя и запускает его. После чего происходит инсталляция червя на атакуемой машине.
Для того, чтобы воспользоваться вышеуказанной уязвимостью, червь пытается подключиться к удаленной машине под учетной записью администратора (и другими учетными записями найденными в C:\Documents and Settings и C:\Users), последовательно перебирая пароли из собственного словаря.
Подробное техническое описание сетевого червя Win32.Conficker.B приведено в вирусной энциклопедии Лаборатории Касперского, Symantec и Microsoft Malware Protection Center.
Одним из симптомов заражения являются жалобы пользователей на множественные блокировки их учётными записей в домене Active Directory, в результате неудачных попыток подбора паролей сетевым червем Win32.Conficker.B.
Помимо этого в журналах безопасности ОС (Security Logs) фиксируется множество событий типа:
Event Type: Failure Audit
Event Source: Security
Event Category: Account Logon
Event ID: 672
Date: 13.01.2009
Time: 13:33:57
User: NT AUTHORITY\SYSTEM
Computer: DC
Description:
Authentication Ticket Request:
User Name: Администратор
Supplied Realm Name: COMPANY.COM User ID: -
Service Name: krbtgt/COMPANY.COM
Ticket Options: 0×40810010
Result Code: 0×6
Client Address: w.x.y.z
А в журналах системы (System Logs) появляются множественные вхождения событий:
Event Type: Error
Event Source: SAM
Event Category: None
Event ID: 12294
Date: 13.01.2009
Time: 13:38:38
User: COMPANY.COM\Administrator
Computer: DC
Description:
The SAM database was unable to lockout the account of Administrator due to a resource error, such as a hard disk write failure (the specific error code is in the error data) . Accounts are locked after a certain number of bad passwords are provided so please consider resetting the password of the account mentioned above.
Для предотвращения повторного заражения и дальнейшего распространения вируса необходимо установить в систему обновление, описанное в статье базы знаний Уязвимость службы сервера делает возможным удаленное выполнение кода (KB958644). Еще раз обращаю Ваше внимание на то, что Win32.Conficker.B блокирует работу служб Automatic Updates, Background Intelligent Transfer Service (BITS). Поэтому распространение обновления с помощью WSUS или службы Microsoft Update может быть невозможным.
На данный момент сигнатура Win32.Conficker.B была добавлена в обновления антивирусных баз продуктов компаний Microsoft (Windows Defender и Malicious Software Removal tool, MSRT), Symantec, BitDefender, Trend Micro. Так что в первую очередь поищите обновление антивирусных баз на сайте производителя Вашего антивирусного продукта. Помимо этого можно удалить червя Win32.Conficker.B вручную или же воспользоваться бесплатно распространяемыми специализированными утилитами для обнаружения и удаления Win32.Conficker.B:
- Virus alert about the Win32/Conficker.B worm
- Как бороться с сетевым червем Net-Worm.Win32.Kido
- Symantec W32/Downadup.B Removal Tool
Также Вы можете заблокировать распространения червя Win32.Conficker.B в другие сети посредством корпоративного межсетевого экрана Microsoft ISA Server или Microsoft Forefront Threat Management Gateway. В блоге Yuri Diogenes Вы найдете ссылку на готовый скрипт, производящий все необходимые изменения в конфигурации брандмауэра для блокирования трафика распространения червя Win32.Conficker.B.
Необходимо отметить, что сетевой червь Win32.Conficker.B для распространения помимо сетевых файловых ресурсов использует также съёмные устройства хранения данных (читай флэшки). Поэтому рекомендуется в срочном порядке отключить автоматический запуск программ на всех потенциально уязвимых системах. Отключить автоматический запуск в ОС Windows можно централизованно с помощью объектов групповой политики (Group Policy) или же внесением изменений в реестр.
Подводя итоги, хочу отметить, что критическая уязвимость службы ОС Windows, используемая для распространения червя, была обнаружена давно. Причем информация об этой уязвимости была выпущена в виде срочного бюллетеня по безопасности вместе с набором обновлений для устранения данной уязвимости ещё в октябре 2008 года! Если бы на системы были установлены последние обновления безопасности, вряд ли бы этому червю удалось придать своему распространению характер эпидемии.
Так что следует отнестись к обновлению систем и поддержанию их в актуальном состоянии как к критичной и первостепенной задаче. Держите руку на пульсе =)
P.S. Отдельная благодарность за помощь в исследовании и разрешении инцидента с вирусной эпидемией Олегу Крылову и Максиму Ефремову.


1) Данный вирус запускается оригинальным SVCHOST.EXE с параметром заражённой библиотеки (random_name).dll (размер зависит от штамма), лежащей в SYSTEM32 (атрибут библиотеки установлен в “скрытый” или “системный”). Необходимо проверить права доступа для этой библиотеки. Как правило, кроме системы, никому доступ не разрешён. После переустановки прав (напр., Администраторы=полный доступ), можно убить его UNLOCKERом (http://ccollomb.free.fr/unlocker/).
2) В реестре найти запись о запускаемом вирусном сервисе. Необходимо искать абсолютно пустой (без параметров и подключей) ключ в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services (например HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\dpiixcu), и также переустановить права доступа для ветки. Тогда (после обновления содержимого по F5) появится вся инфа, в т.ч. в подветке PARAMETERS ключ ServiceDll с именем и путём к вирусной библиотеке.
3) В файловом менеджере (не ПРОВОДНИК !!!) необходимо также проверить подпапки в “Documents and Settings\NetworkService\Local Settings\Temporary Internet Files\Content.IE5″, где вирус под видом кешированных фалов прячет свои копии.
Спасибо за предоставление столь детальной информации, DIMON.
Очень полезная информация!
Где можно скачать для WinXP SP1 или как установить обновление в SP1?
@member
Начнем с того, что в первую очередь Вам необходимо обновить систему. Лучше обновиться до уровня Windows XP Service Pack 3 (http://www.microsoft.com/downloads/info.aspx?na=22&p=1&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=&u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d5b33b5a8-5e76-401f-be08-1e1555d4f3d4%26DisplayLang%3den).
Если же по каким-либо причинам Вы не желаете устанавливать SP3, обновитесь до уровня Windows XP Service Pack 2 (http://www.microsoft.com/downloads/info.aspx?na=22&p=3&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=&u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d049c9dbe-3b8e-4f30-8245-9e368d3cdb5a%26DisplayLang%3den).
После чего установите в системе обновление безопасности Security Update for Windows XP (KB958644) по адресу http://www.microsoft.com/downloads/details.aspx?familyid=0D5F9B6E-9265-44B9-A376-2067B73D6A03&displaylang=en.
Обновления для WinXP SP1 отсутствует по причине того, что использовать Windows XP уровня ниже SP2 просто нецелесообразно. По-моему, даже официально поддерживаются ОС Windows XP начиная с SP2. В общем, настоятельно рекомендую установить последний пакет обслуживания.
С касперским был прикол нашел трояна. Проверил каспером – ноль. Отправил исходник в контору. Говорят это не вирус. Хе-хе. После 3-го письма посмотрели более внимательно и проверили. Ну таки да, вирус. Угу.
Разработчики Snort утверждают, что их IDS отслеживала Conficker еще до его появления. Вот статья: http://www.snortgroup.ru/node/36. Собственно похоже, что так и есть. Штука интересная, правда в настройке не тривиальна. Хотя системы на основе Windows дырявы по определению. Надо от них отказываться, если есть возможность.
Павел, а Вы не думали о том, что как только свершится чудо и все c платформы Windows перейдут на *nix-системы (или любые другие) ситуация ничуть не измениться. Суть в том, что большинство уязвимостей и вирусов находится/пишется под Windows лишь потому, что система эта широко распространена. Глупо писать червя под малораспространенную систему.
А насчет “дырявости” по умолчанию – это неоправданно смелое замечание =) Повторюсь, что уязвимость, используемая Conflicker для распространения была пропатчена задолго ДО появления самого Conflicker. А то, что у пользователей не устанавливаются критические обновления безопасности для их ОС – это проблема скорее пользователей, нежели компании Майкрософт. Опять же всё субъективно, и вышеизложенное является лишь моей точкой зрения, ни коим образом не претендующей на истину в последней инстанции ;)
Запущенный с правами пользователя в Linux-системе, вирус сможет максимум удалить настройки и документы пользователя. Повышение привилегий в Linux-системах задача нетривиальная. В Windows пользователь по умолчанию работает с правами администратора. Вирусы писать полное раздолье. Даже элементарный bat-ник может убить систему. Это я понимаю под изначальной “дырявостью” системы.
@Артём [d.raven] Синицын
Сложно ждать от системы, дающей даже самому зажатому в правах пользователю возможность себя “убить”, качественной защищённости. Кроме описанного Павлом можно добавить, что в случае с Unix/Linux можно несколько усилить защищённость путём грамотной установки и настройки. Например, при установке выделить отдельный раздел на слайсе, который смонтировать как /home, но с правами noexec. Можно ещё подкрутить.
А ещё можно запустить некоторые процессы в chroot для пущей закрытости.
А в мс как решают этот вопрос? “Закручивают гайки”, передавая функции администратора самом системе. Не меняя систему, а делая её ещё более закрытым “чёрным ящиком”. Вирям только на руку, если подумать. :(
@Павел
Насчет административных прав по умолчанию. При установке Windows Vista обязательно указание хотя бы одной учетной записи пользователя, отличной от встроенной учетной записи “Администратор”. Да, это учетная запись входит в группу администраторов системы. НО! По умолчанию в Windows Vista включен User Account Control, благодаря которому пользователь, даже имеющий административные полномочия, должен явно разрешить выполнения административных действий. При чем это разрешения выполняется, таким образом, что ни одна программа не может вмешаться в этот процесс. Так что вирусное приложение не сможет сделать что-то с системой без ведома пользователя.
Я считаю создание административной учетной записи в рамках процесса установки ОС вполне нормальным явлением. Иначе как пользователь сможет провеизветси первоначальную конфигурацию системы? При этом система всячески уведомляет пользователя, что для выполнения обычной работы рекомендуется создать отдельную учетную запись, урезанную в правах.
Вообще, все нормальные люди работают под учетной записью обычного пользователя. А административные задачи выполняют от другой учетной записи, входящей в группу администраторов системы. При этом User Account Control позволяет сделать этот процесс более удобным. UAC при выполнении какого-либо административного действия в системе предлагает ввести верительные данные отдельной административной учетной записи в рамках защищенного системного процесса.
@Neandertalets
Не совсем понял, что означает процесс “передачи функции администратора самом системе”.
И с чего Вы решили, что пользователь, не имеющий административных полномочий, может удалить свою учетную запись?
А насчет управления правами доступа, то NTFS обладает очень гибким механизмом назначения прав. Так что можете удалить у пользователей право выполнения программ на определенном системном разделе или директории.
@Артём [d.raven] Синицын
О боже! Они придумали sudo!
@Слонег
К Вашему сведению, уважаемый Слонег, функционал sudo в ОС семейства Windows выполняет команда runas, которая была включена в поставку ОС ещё со времён Windows 2000.
Так что они “придумали” это уже ооочень давно :)