Анализ Worm.VBS.Dinihou и советы по удалению

Тема в разделе "Борьба с типовыми зловредами", создана пользователем Dragokas, 23 фев 2015.

  1. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.499
    Симпатии:
    4.313
    Всем привет !

    В сегодняшнем меню будет подан на растерзание Worm.VBS.Dinihou.dt (по классификации Kasperky) с компонентами Worm:VBS/Jenxcus.

    Целевое назначение: клиент, выполняющий различные команды с удаленного сервера.

    Детектирование:

    dropper compare.jpg

    На момент написания статьи оригинальный дроппер распознавался 7 AV вендорами.
    https://www.virustotal.com/ru/file/...0630287ce3bc1e53f03faed4650e2ce099e/analysis/
    хотя если его чуть подправить, то распознавать будут только 5: AVG, Avast, ESET-NOD32, McAfee, ( + Qihoo-360, хотя на ориг. дроппер он не ругался).
    https://www.virustotal.com/ru/file/...d38894463727a57b1511fed3/analysis/1424641112/

    Защита:

    Имеем скрипт, написанный на языке Visual Basic Scripting с двойной обфускацией.
    В обертке получаем файл, который ни разу не проверялся на VirusTotal, хотя для антивирусов он уже хорошо знакомо - 36 / 56 детектов.
    https://www.virustotal.com/ru/file/...821096512db8abb7ea4d9f08/analysis/1424698033/

    Расшифровка скрипта после запуска происходит не сразу, а через 5 минут (возможно, защита от поведенческого анализа).



    Вредоносная активность:

    Устанавливает соединение с сервером по специальному порту и передает в качестве user-агента информацию о системе:
    - серийные номера дисков;
    - имя компьютера и пользователя;
    - версия ОС;
    - имена антивирусов;
    - запущен ли червяк со съемного диска (проверка любопытная: расположен ли скрипт в корне диска).

    После чего он превращается по сути в сервер, запрашивая каждые 5 секунд такие команды на исполнение:

    - открыть / выполнить файл (программу);
    - обновление тела скрипта и его перезапуск;
    - удаление скрипта с исправлением последствий его работы (если не учитывать команды с сервера);
    - выгрузка произвольного файла;
    - скачивание файла и затем его запуск (с произвольного адреса или сервера злоумышленника по указанному порту);
    - перечисление дисков и их типов;
    - листинг файлов и папок в указанной директории (с отображением их атрибутов и размера);
    - список процессов (имя, ProcessID, полный путь к образу);
    - выполнить консольную команду или файл с отправкой на сервер результата вывода консоли;
    - удалить файл или папку;
    - завершить процесс принудительно с всеми дочерними экземплярами;
    - заснуть на N секунд.

    Выполнение каждой команды сопровождается повторной отправкой информации о системе (данные генерируются только один раз за работу скрипта).
    К моменту тестирования командный сервер уже был неактивен.


    Выживание:

    1) Автозапуск:
    Помещает свою копию:
    - в папку "%programdata%" (или "%temp%", если первая не существует), которую прописывает в ключи автозапуска.
    - в папку "Автозагрузка".

    2) Самовосстанавливление:
    Восстанавливает тело, если удалить скрипт, не завершив процесс.
    Есть защита от одновременного запуска из нескольких папок (именно папок, а не экземпляров процесса).
    По причине ошибки реализации, после перезагрузки работают одновременно 2 экземпляра процесса.

    3) Распространение:

    shortcuts.jpg

    Если подключен съемный накопитель, копирует себя в его корень.
    Для каждого файла или папки первого уровня (на выбор)* создается ярлык, маскируя свою иконку под изображение соответствующего типа файла, взятого из реестра.
    Настоящим файлам/папкам присваивает атрибут скрытый и системный.
    При клике по такому ярлыку сначала запускается вредоносный скрипт и за ним сразу же оригинальный файл.
    Все происходит в свернутом режиме, поэтому пользователь может не сразу заметить подмены.
    Разницу можно увидеть только по наличию стрелочки на пиктограмме иконки
    Это говорит о том, что файл является ярлыком (кстати, это не есть 100% гарантия, т.к. стрелочку можно замаскировать).

    * Мне в руки попал скрипт, у которого отключено создание ярлыков. Остался только сам код, но есть переключатель в шапке кода.
    Т.к. предусмотрено автообновление тела скрипта, автор может быстро изменять его поведение.

    На сами ярлыки у нас красуются такие разнообразные детекты: Worm.VBS.Dinihou.r (по классификации Kaspersky), Worm.LNK.Jenxcus, LNK/Dorkbot, VBS.Dunihi!lnk и прочие.
    https://www.virustotal.com/ru/file/...f535c3ce1112fa530b7c1434/analysis/1424653773/

    Здесь у автора своеобразный почерк. Обычно в поле объект ярлыка путь прописывают в кавычках вида:
    Код (Text):
    start "c:\my file.jpg"
    Но в этом червячке экранируется не весь путь а отдельные знаки пробела:
    Код (Text):
    start c:\my" "file.jpg

    Особенности:

    Часто автора таких творений оставляют особый маркер, который проверяется.
    И если он есть, то скрипт не делает ничего плохого.
    Может, это защита вирусописателей самих от себя :)

    Этот скрипт использует интересную проверку:
    - если нельзя изменить его тело (в папке %programdata%), например поставив галку "Только для чтения",
    то будет записано в реестр время запуска* и более никаких вредоносных действий не произойдет.

    * При каждом запуске скрипт записывает свое имя файла, дату запуска, а также запущен ли он с флеш-носителя,
    в раздел реестра: HKEY_LOCAL_MACHINE\software\


    Функция удаления:
    Червь имеет функцию самоуничтожения, если такая команда поступит с сервера:
    - удаляются сами файлы скрипта;
    - удаляется запись об автозагрузке.
    В дополнение:
    - удаляются ярлыки со съемных накопителей;
    - снимаются все атрибуты с файлов и каталогов в корне съмного накопителя.


    Предотвращение заражения:

    Поскольку вирус распространяется через съемные накопители,
    рекомендую запретить запуск исполняемых файлов с таких носителей, настроив групповые политики*:
    - войдите в редактор групповых политик (Нажимаем комбинацию клавиш Win + R, затем вводим gpedit.msc)
    - пройдемся по дереву -> Конфигурация компьютера -> Параметры безопасности -> Политика ограниченного использования программ
    - Действие -> "Создать политику"
    - Дополнительные правила -> Нажимаем "Действие" -> Создать правило для пути -> Путь указываем, например: F:\
    где F - буква флеш-накопителя; Уровень безопасности -> выбираем "Запрещено".
    Желательно проделать тоже самое с другими буквами дисков (кроме логических), с которыми может быть ассоциирован новый флеш-накопитель.

    policy2.jpg

    * Групповые политики недоступны для Home-редакций ОС. Для таких систем в качестве превентивной меры Вы также можете:
    1) Запретить автозапуск, запустив через консоль (Win + R, ввести CMD), введя команду:
    reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoDriveTypeAutoRun /t REG_DWORD /d 221 /f

    2) Включить отображение скрытых и системных файлов (это поможет заранее заметить заражение флеш-носителя):
    - Откройте раздел "Свойства папки". Для этого нажмите кнопку "Пуск" -> Панель управления -> Оформление и персонализация -> Свойства папки.
    - Перейдите на вкладку "Вид".
    - В списке "Дополнительные параметры" установите переключатель "Показывать скрытые файлы, папки и диски" и затем нажмите кнопку ОК.
    Подробнее: http://windows.microsoft.com/ru-ru/windows/show-hidden-files

    3) Включить отображение расширения имени файла (это поможет отличить ярлыки от настоящих файлов):
    - В том же меню из п.2 снимите флажок "Скрывать расширения для зарегистрированных типов файлов" и нажмите кнопку ОК.
    Подробнее: http://windows.microsoft.com/ru-ru/...ions#show-hide-file-name-extensions=windows-7


    Рекомендации по удалению вируса:

    1. Разорвать подключение к интернету.
    2. Отключить автозапуск со съемных накопителей.
    3. Подключить зараженный съемный носитель.
    4. Открыть диспетчер задач (Ctrl + Shift + Esc), перейти во вкладку "Процессы" и завершить все процессы с именами wscript.exe и cscript.exe
    Это остановит выполнение полученных от сервера команд.
    5. Загрузить Sysinternals Autoruns. Снять галочку с записей, которые запускают процесс wscript.exe / cscript.exe / cmd.exe или файлы скриптов .VBS
    6. Запустить командную строку (Win + R, ввести CMD), ввести команду, подтвердив кнопкой ENTER:
    Код (Text):
    attrib -S -H F:\* /S /D /L
    где F - нужно поменять на букву диска съемного накопителя.
    7. Откройте флешку и удалите все ярлыки (у них на пиктограмме будет отображатся знак стрелочки).
    Для удобства отсортируйте файлы по признаку "Тип": Вид -> Таблица, нажмите на название колонки "Тип".
    8. Обратиться в раздел помощи в профессиональном лечении системы от вирусов*.

    * Этот червь может выполнять команды с сервера на любой вкус, поэтому заранее неизвестно, какой вред он причинил.
     

    Вложения:

    • cherv.jpg
      cherv.jpg
      Размер файла:
      26,3 КБ
      Просмотров:
      80
    • serv_comm.png
      serv_comm.png
      Размер файла:
      9,6 КБ
      Просмотров:
      75
    Последнее редактирование: 24 фев 2015
    petr-ru, -SEM-, mike 1 и 7 другим нравится это.
  2. Razdolbay
    Оффлайн

    Razdolbay VIP

    Сообщения:
    52
    Симпатии:
    49
    Dragokas, а сбацай универсальный скриптик или утилитку для удаления этой хрени
     
  3. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.499
    Симпатии:
    4.313
    Razdolbay,
    Также существует много модификаций.
    По этой причине нельзя написать универсальный скрипт.
    Кроме того, я не рекомендую такие скрипты полностью удалять из системы.
    Описанный мною в рекомендациях порядок именно отключает автозапуск, чтобы во время сбора логов не активировать зловред после перезагрузки.
    Это дает возможность взять под карантин вредоносный скрипт для дальнейшего изучения,
    когда Вы, возможно, будете обращаться с помощью к вирусоборцам, чтобы примерно оценить характер ущерба и принять ответные меры для конкретного случая.
    Кроме того, мой мнимый скрипт лечения не всегда был бы под рукой, а вот описанные мною рекомендации можно вполне запомнить.
    Также они будут актуальны и при других заражениях вирусами на основе VBS/JS.
     
    Kиpилл нравится это.
  4. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.499
    Симпатии:
    4.313
    Razdolbay, уламал. Держи скрипт. Только п.5 там нет.
    Код (DOS):

    @echo off
    SetLocal EnableExtensions
    color 1A
    cd /d "%~dp0"
    net session >NUL 2>&1|| (echo Необходимо запустить скрипт правой кнопкой мыши "От имени администратора" & echo. & pause & exit /B)

    echo Скрипт лечения Worm.VBS.Dinihou
    echo.
    echo Подключите зараженный флеш-носитель() и нажмите ENTER
    echo.
    echo !!! Внимание! Все файлы VBS (скрипты) в корне флеш-носителей будут удалены !!!
    set /p "x="
    echo.
    echo Работаю...
    echo.

    ping -n 5 127.1

    echo.
    echo Завершение процессов...
    taskkill /f /t /im cscript.exe
    taskkill /f /t /im wscript.exe

    echo.
    echo Создание карантина
    md Quarantine
    copy /y "%temp%\*.VBS" Quarantine\*
    copy /y "%appdata%\*.VBS" Quarantine\*

    echo.
    echo Удаление тела Worm
    del /F /A /Q "%temp%\*.VBS"
    del /F /A /Q "%appdata%\*.VBS"

    echo.
    echo Отключение автозапуска съемных носителей (кроме CD-ROM)...
    reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoDriveTypeAutoRun /t REG_DWORD /d 221 /f

    echo.
    echo Запрещаю запуск программ и скриптов со съемных накопителей
    reg add HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\RemovableStorageDevices\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b} /v Deny_Execute /t REG_DWORD /d 1 /f

    echo.
    echo. Ждите...
    for /f "tokens=3" %%F in ('"echo list volume | diskpart | findstr /C:"Removable" /C:"Сменный""') do (
      echo.
      echo Найден съемный накопитель: %%F
      echo Удаление ярлыков...
      del /F /A /Q %%F:\*.LNK
      echo Удаление скриптов...
      del /F /A /Q %%F:\*.VBS
      echo Смена атрибутов...
      pushd "%%F:\"
      for /f "delims=" %%o in ('dir /B /A "%%F:\*"') do attrib -R -S -H "%%~fso" /L
      popd
    )

    echo.
    echo Процедура завершена.
    echo.
    echo Для удаления остатков вируса рекомендуется обратится
    echo за помощью в профессиональном лечении на форум SafeZone.cc
    echo.
    echo Папку Quarantine заархивируйте с паролем virus
    echo и отправьте на почту quarantine ^<собака^> safezone.cc
    echo.
    echo Script maded by Dragokas.
    echo.
    pause
     

    Вложения:

    Razdolbay, orderman, Kиpилл и 2 другим нравится это.
  5. petr-ru
    Оффлайн

    petr-ru Пользователь

    Сообщения:
    62
    Симпатии:
    31
    А откуда взяли изначальный дроппер? Его ни до ни после вас никто на VT не заливал. Где источник таких уникальных семплов? Просто хочу поговорить об источнике и пути распространения. Сам семпл мне не нужен.


    Немножко добавлю:
    После снятия всей обфускации был получен файл, не бывавший на VT по простым причинам:
    - в пятой строке переменная host - каждый автор правит его под себя
    - достаточно было заиметь лишний ентер или пробел и хеш другой - следовательно для VT он новый
    - этот зловред лежит на каждом втором (или даже первом) хацкерском сайте - каждый скрипткиди его качает, правит хост на свой, криптует и радуется (что в данном случае мы и наблюдаем - давно известный зловред хорошо обрабатывается и мало кто из антивирусов его детектирует)
     
    Kиpилл и regist нравится это.

Поделиться этой страницей