Хронология событий:
10.07.2010
Белорусская антивирусная компания VirusBlokAda (VBA) сообщает о появлении новой вредоносной программы.
US-CERT получает уведомление об атаке с использованием 0-day уязвимости в Microsoft Windows.
15.07.2010
Данные об уязвимости попадают в публичный доступ
16.07.2010
Microsoft выпускает уведомление безопасности, в котором подтверждает наличие уязвимости
19.07.2010
В публичном доступе появляется эксплоит
Уязвимые системы:
Microsoft Windows XP SP2/SP3
Microsoft Windows 2003 SP2
Microsoft Windows Vista SP1/SP2
Microsoft Windows 2008 SP0/SP2
Microsoft Windows 7
Windows Server 2008 R2 for x64-based Systems
В настоящий момент антивирусы распознают червя следующим образом:
Symantec: W32.Temphid
Kaspersky: Rootkit.Win32.Stuxnet.a
TrendMicro: RTKT_STUXNET.A
F-Secure: Rootkit.Stuxnet.A
Sophos: W32/Stuxnet-B
Bitdefender: Rootkit.Stuxnet.A
Avast: Win32:Stuxnet-B
Microsoft: Trojan:WinNT/Stuxnet.A
AVG: Rootkit-Pakes.AG
PCTools: Rootkit.Stuxnet
Eset: Win32/Stuxnet.A
GData: Rootkit.Stuxnet.A
AhnLab: Backdoor/Win32.Stuxnet
DrWeb: Trojan.Stuxnet.1
Fortinet: W32/Stuxnet.A!tr.rkit
Ikarus: Rootkit.Win32.Stuxnet
Norman: W32/Stuxnet.D
Скорость распространения червя: 1000 хостов/день
Основной метод распространения – USB носители.
Масштабы заражения хорошо иллюстрирует график с сайта MMPC
Как происходит заражение
Уязвимость заключается в ошибке при обработке ярлыков (.lnk и .pif файлов). Червь распространяется через инфицированные USB устройства. Заражение происходит, когда пользователь открывает диск автоматически с помощью функционала автозапуска, либо при открытии диска непосредственно в Windows Explorer или аналогичном менеджере файлов. Специально сформированный ярлык заставляет Windows Shell подгрузить внешнюю динамическую библиотеку, которая выполняет произвольный код с привилегиями пользователя, запустившего Windows Explorer.
Текущий вариант червя осуществляет следующие действия на системе:
1. Червь копирует себя в файлы:
- %System%driversmrxcls.sys
- %System%driversmrxnet.sys
2. Регистрирует себя (mrxcls.sys) в качестве службы под названим MRXCLS.
3. Создает ключ в реестре
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMRxCls"ImagePath" = "%System%driversmrxcls.sys"
4. Регистрирует файл mrxnet.sys в качестве службы под названием MRXNET
5. Создает ключ в реестре
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMRxNet"ImagePath" = "%System%driversmrxnet.sys"
6. Скрывает файлы под. именами:
%DriveLetter%~WTR[FOUR NUMBERS].tmp
Путем перезаписи следующих API:
FindFirstFileW
FindNextFileW
FindFirstFileExW
NtQueryDirectoryFile
ZwQueryDirectoryFile
После успешного запуска червь завершает работу служб, содержащих следующие имена:
vp.exe
Mcshield.exe
avguard.exe
bdagent.exe
UmxCfg.exe
fsdfwd.exe,
rtvscan.exe
ccSvcHst.exe
ekrn.exe
tmpproxy.exe
Червь собирает информацию о сетевых настройках и серверах в локальной сети. Может подключаться к следующим адресам:
ww.windowsupdate.com
Червь распространяется путем создания файлов:
%DriveLetter%~WTR4132.tmp
%DriveLetter%~WTR4141.tmp
%DriveLetter%Copy of Shortcut to.lnk
%DriveLetter%Copy of Copy of Shortcut to.lnk
%DriveLetter%Copy of Copy of Copy of Shortcut to.lnk
%DriveLetter%Copy of Copy of Copy of Copy of Shortcut to.lnk
С вчерашнего дня в публичном доступе находится PoC код. Как видно на рисунках 1 и 2, в качестве отладочной информации выводится строка, которая позволяет удостовериться в выполнении кода.
Рис. 1
Рис. 2
Ниже опубликовано небольшое видео, которое демонстрирует эксплуатацию уязвимости:
Защита от уязвимости
Пока Microsoft готовит к выпуску исправления, давайте рассмотрим следующие временные решения.
1. Запрет отображения иконок для ярлыков
Описанные ниже действия приведут к тому, что иконки не будут больше отображаться для арлыков. Отключение возможности отображать ярлыки предотвращает возможность эксплуатации уязвимости на системе.
Запустить редактор реестра (Пуск->выполнить->regedit)
Перейти к ключу
HKEY_CLASSES_ROOTlnkfileshellexIconHandler
Удалить данные для значения (Default)
Перезапустить Windows Explorer.
2. Отключение службы WebClient
Отключение этой службы позволит устранить вектор атаки путем блокирования наиболее вероятного источника атаки через службу Web Distributed Authoring and Versioning (WebDAV).
Пуск->выполнить->cmd
sc stop WebClient
sc config WebClient start= disabled
Отключение этой службы приведет к недоступности WebDav ресурсов.
3. Заблокируйте загрузку .lnk и .pif файлов на Интернет шлюзах.
4. Fix it
В качестве временного решения можно воспользоваться также утилитой
Дополнение от 21.07.2010:
Microsoft изменила ранее опубликованное уведомление безопасности, добавив два новых вектора эксплуатации уязвимости:
- Internet Explorer. Злоумышленник может с помощью специально сформированного Web сайта заставить браузер пользователя загрузить иконку для ярлыка и выполнить вредоносный код на целевой системе.
- Документы Office. Злоумышленник может встроить специально сформированный ярлык в документ Microsoft Office (или другого офисного пакета, поддерживающего работу со встроенными ярлыками) и скомпрометировать целевую систему.
Источники: