Технические детали
Вирус-червь. Распространяется по глобальным сетям, используя для своего размножения уязвимость в службе DCOM RPC Microsoft Windows. Ее описание приведено в
Microsoft Security Bulletin MS03-026.
Кроме этого червь пытается заразить компьютеры, на которых установлен Microsoft IIS 5.0, используя для этого уязвимость в WebDav, описание которой приведено в другом Microsoft Security Bulletin.
Червь написан на языке Visual C++. Имеет размер около 12KB (12800 байт), упакован UPX.
Данный вариант Welchia пытается обнаружить на компьютере червей Mydoom.a и Mydoom.b и удалить их из системы.
Инсталляция
При запуске червь копирует себя с именем "svchost.exe" в каталог %System%\drivers, после чего создает сервис "WksPatch". В результате этих действий червь будет получать управление и исполняться при каждом запуске Windows. Имя сервиса генерируется произвольно из трех разных слов, выбираемых из списков:
Первое слово:
System
Security
Remote
Routing
Performance
Network
License
Internet
Второе слово:
Logging
Manager
Procedure
Accounts
Event
Третье слово:
Provider
Sharing
Messaging
Client
Таким образом, имя службы может быть, например "Remote Accounts Client" или "System Logging Provider".
Червь создает уникальный идентификатор "WksPatch_Mutex" для определения своего присутствия в памяти.
Удаление червя Mydoom
Червь ищет на диске файлы, которые могли быть созданы червями Mydoom.a и Mydoom.b и удаляет их.
%System%\ctfmon.dll
%System%\Explorer.exe
%System%\shimgapi.dll
%System%\TaskMon.exe
Также он удаляет ключ taskmon из ключа автозапуска системного реестра и перезаписывает файл hosts своими данными (аналогичными принятыми по умолчанию в Windows).
Загрузка обновлений для Windows
Червь проверяет системный реестр Windows на наличие информации об установленных патчах/сервис паках для Windows, и в том случае если патч закрывающий уязвимость в DCOM не установлен, запускает процедуру загрузки данного патча с сайта "download.microsoft.com". После того как требуемый патч загружен и установлен, червь перезагружает компьютер.
Размножение
Червь формирует два разных запроса для отправки на удаленные машины. Первый запрос содержит в себе эксплойт уязвимости WebDAV, второй - эксплойт DCOM-RPC практически полностью идентичный тому, что был использован в сетевом черве Lovesan.
Червь выбирает IP-адрес, отсылает на него ICMP-запрос и ждет ответа. Если удаленный компьютер ответил, червь устанавливает с ним соединение по 135 порту (аналогично Lovesan) или на 80 порт (если на удаленной машине используется IIS) и отсылает подготовленный пакет, содержащий команды для загрузки себя с зараженной машины.
Прочее
Червь ищет файлы с расширениям из списка:
shtml
shtm
stm
cgi
php
html
htm
asp
в каталогах соответствующих IIS, и если кодовая страница зараженной системы установлена на японский язык, перезаписывает найденные файлы следующим текстом:
LET HISTORY TELL FUTURE !
1931.9.18
1937.7.7
1937.12.13 300,000 !
1941.12.7
1945.8.6 Little boy
1945.8.9 Fatso
1945.8.15
Let history tell future !
Червь прекратит свою работу 1 июня 2004 года.