На ваших машинах — будь то домашних ПК или корпоративных серверах — установлено много программного обеспечения, которое разработано с учётом автоматического запуска без участия пользователя.

Вот хорошие примеры:

  • Жизненно важные системные и пользовательские службы, такие как подключение к сети или синхронизация времени, которые запускаются при старте системы.
  • Антивирус или другие решения для обеспечения безопасности, запускающиеся сразу после загрузки ОС.
  • Проверка обновлений критического ПО, выполняющаяся каждые несколько часов.

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

▍ Sysinternals AutoRuns


На своей машине с Windows я иногда нахожу исполняемые файлы, которые настроены на автоматический запуск с помощью Microsoft Sysinternals AutoRuns. AutoRuns — это толковый инструмент, который может показать вам все записи реестра, сервисы и задачи, настроенные на автозапуск.

И я в ходе такой инспекции смог произвести кое-какую чистку. К примеру, я удалил из автозапуска BaiduYunDetect. Это приложение я использую, когда скачиваю различные файлы с Baidu Cloud (часто образцы вредоносов). Не волнуйтесь, на моей системе он не майнил крипту… пока. Я также отключил MicrosoftEdgeAutoLaunch, поскольку в последний раз, когда я использовал браузер Microsoft, он предупредил меня о том, что я просматриваю сайты по защищённому соединению. Кроме того, я исключил некоторые другие записи, которые указывали на бинарники, удалённые ранее в ходе различных деинсталляций.

AutoRuns упрощает обнаружение потенциально подозрительных записей. Если исполняемый бинарник не имеет цифровой подписи доверенной службы, AutoRuns подсвечивает его красным (как бы пристыжая за само его существование).



Однако важно отметить, что конкретно в этих двух записях нет ничего подозрительного. Ueli и Pushbullet — это два известных и проверенных проекта. Просто они, скорее всего, в целях экономии средств не реализовали цифровую верификацию при помощи доверенной службы. Тем не менее вы можете быть почти уверены, что практически любой вредонос, обнаруженный здесь, не будет иметь цифровую подпись и верификацию.

▍ QUEENCRACK?


Всё шло хорошо — я спокойно уничтожал записи Autoruns, подобно сисадмину в его последний рабочий день.

Пока… не наткнулся на QUEENCREEK.



Пожалуй, самым пугающим во всём этом процессе может быть обнаружение приложения, которое ты не узнаёшь. Тут приходится выяснять, является ли оно вредоносным, и как вообще сюда попало, что не всегда оказывается легко. Но успокою вас — это верифицированная библиотека с цифровой подписью. Предлагаю распространить её везде, где можно, и запускать от имени администратора на основном хосте баз данных.

Но не спешите!

Разработчики вредоносов прекрасно знают, что записи AutoRuns изучают и люди, и антивирусное ПО. Поэтому они скрывают свой коварный замысел с помощью различных техник. Одной из самых распространённых является использование в записи AutoRuns доверенного приложения, впоследствии активирующего их вирусный исполняемый файл. В этом случае мы видим запись для Wscript.exe, который является легитимным бинарником от Microsoft, используемым для запуска других скриптов (обычно VBScript и JavaScript). Так что не удивительно обнаружить его как верифицированный и имеющий цифровую подпись.

Эта запись относится к планировщику задач, значит, можно открыть её в нём и посмотреть, какие с ней связаны действия (actions).



Интрига закручивается! Мы видим, что эта задача запланирована запускаться при входе в систему, причём на безграничный срок.

Единственным действием этой задачи является использование WScript для активации trigger.vbs в пакетном режиме NoLogo (то есть без показа вывода):

"C:\WINDOWS\System32\Wscript.exe" //B //NoLogo "C:\Program Files\Intel\SUR\QUEENCREEK\x64\task.vbs"

Иными словами, task.vbs срабатывает незаметно.

Наблюдательный читатель обратит внимание, что находится этот файл в каталоге Intel (C:\Program Files\Intel). Это ещё одна распространённая техника избежания обнаружения, предполагающая сохранение исполняемого файла вируса в доверенном каталоге, зачастую принадлежащем надёжным приложениям. Такой подход может удачно сработать, если этот каталог исключён из списка сканирования в реальном времени, или защитные программы считают, что вредонос относится к соседним с ним исполняемым файлам.

Далее мы изучим содержимое task.vbs:

Set objShell = CreateObject("WScript.Shell") 
objShell.Run("C:\WINDOWS\System32\cmd.exe /c ""C:\Program Files\Intel\SUR\QUEENCREEK\x64\task.bat"""), 0 
Set objShell = Nothing 

Такой скрипт я называю абсолютно бесполезным. Всё, что он делает — это снова вызывает WScript для активации cmd и выполнения нового файла task.bat. Это ещё одна популярная среди злоумышленников техника, в которой вредонос создаётся для какого-то произвольного или бессмысленного действия (даже если он просто спит или гоняет цикл, нагружая CPU) с целью прощупать антивирусную защиту, и в итоге её обойти.

Увы, мы переходим к печально известному task.bat, где вся загадка, естественно, разрешится:

"C:\Program Files\Intel\SUR\QUEENCREEK\x64\task.exe"

А вот и нет! Этот пакетный файл лишь вызывает task.exe.

Наконец, мы подходим к завершению нашей короткой истории.

Мы анализируем task.exe и замечаем, что… он имеет цифровую подпись Intel Corporation:


Intel! Я так и знал, что это они! Даже когда это были разработчики вредоносного ПО, я знал, что это всё равно они.

И здесь, обратившись к онлайн-поиску, я выясняю, что это вовсе не вредоносный бинарник. Он вполне легитимен и является частью Intel PROSet/Wireless WiFi Software.

▍ Выводы


Инженер Intel, должно быть, прочёл название проекта как QUEENCRACK и перепутал свою ночную киберпреступную деятельность с дневной работой.

Использование WScript в записи планировщика задач для активации VBS, который запускает WScript, чтобы запустить cmd для вызова командного файла, который в конечном итоге запускает сам бинарник, это безумие. Такой подход подражает нескольким техникам, часто используемым самим вредоносным ПО. Более того, он открывает дверь для вирусов, позволяя им воссоздать точно такую же конфигурацию, но уже с вредоносной полезной нагрузкой. Всё это в итоге сбивает с толку пользователей и эвристику антивируса. Также не удивительно, что эти файлы регулярно сканируются на Virus Total (task.vbs, task.bat, task.exe).

Telegram-канал со скидками, розыгрышами призов и новостями IT ?

Комментарии (16)


  1. blik13
    25.08.2024 09:45
    +3

    Использование WScript в записи планировщика задач для активации VBS, который запускает WScript, чтобы запустить cmd для вызова командного файла, который в конечном итоге запускает сам бинарник,

    Вспомнился анекдот про секс "в гамаке и стоя"


    1. strvv
      25.08.2024 09:45
      +1

      У больших "голубых" фишек так принято.
      Тот же HP FreeDOS и систему помощи где рассказывает что такое ноутбук и как его запускать написал в стародавние времена, но меняется железо, методы запуска...

      И в итоге эти функции запускаются в эмуляторе, который в свою очередь запускается в другом эмуляторе.

      То есть если задача когда-то сделана, но из-за изменений в окружении уже не запускается, то дается задача не переделать эту задачу, а создать капсулу, в которой она запускается.
      Потом ещё одну... И то что эта "матрешка" или "капуста" становится опасным изделием - никого не волнует. Даже вопросом не задаются.


      1. mayorovp
        25.08.2024 09:45

        Только конкретно в данном случае прямой запуск программы работает ничуть не хуже запуска через обёртку. То есть непонятно откуда вообще взялась идея писать её.


        1. strvv
          25.08.2024 09:45

          Определить причины реализации такого 3х ступенчатого запуска невозможно, можем только гадать. Возможно одна из "хороших" практик, позволяющая в любой момент менять рабочие компоненты, не меняя базовых настроек системы.
          А это уже опасная практика, когда знающий об этой "милой" особенности зловред внедрится в один из слоёв запуска, но для системы это останется доверенным, подписанным, методом.


  1. AVaTar123
    25.08.2024 09:45

    В таком случае (vbs-bat-exe) хотелось бы знать чьё-то компетентное и грамотное мнение насчёт того, могу ли я сам вручную отредактировать запись Intel в Планировщике, прописав в качестве действия непосредственно сам exe, чтобы при этом ничего не сломалось?


    1. mayorovp
      25.08.2024 09:45

      Да, нет никаких причин по которым прямой запуск мог бы сломаться.


      1. AVaTar123
        25.08.2024 09:45

        Понимаю, что технических причин тут не должно быть. Но какие-то побочные косвенные, юридические, нарушение чьих-то прав, и т.п. - может же быть?...

        Т.е. имею ли я право самостоятельно внести изменения в схему работы Intel ?

        А ещё мелькнула мысль, что так могло быть сделано специально, чтобы отловить потенциальных мошенников / вирусов, которые желают встроиться и пристроиться к легитимной деятельности на компьютере. Этакий honey pot, ловля на живца?... Возможно, есть какой-то дополнительный механизм (программа), следящий за невмешательством в такую цепочку запуска легитимной программы? Ну, или хотя бы как "свидетельство канарейки" о беде (тревога!). Мало ли что за этим может стоять? В статье озвучена одна из версий того, почему такое могло случиться. Ну, у меня это тоже одна из версий.


        1. strvv
          25.08.2024 09:45

          Всё гораздо проще - https://habr.com/ru/companies/ruvds/articles/837998/#comment_27213258

          там выделил причину этой матрёшки.


  1. iTs
    25.08.2024 09:45

    Может это аналог hstart, чтобы окно консоли не мелькало?

    промахнулся чуток с ответом


    1. AVaTar123
      25.08.2024 09:45

      А этот task.exe в консоли работает? У меня его нет, проверить не могу.


    1. mayorovp
      25.08.2024 09:45

      Наоборот, шаг номер 2 (который запуск cmd.exe) как раз и приводил к мельканию окна.


  1. Beholder
    25.08.2024 09:45
    +1

    Так и не сказали, что эта "суперполезная" программа делает. Гугление показывает, что вроде это для обновленения драйверов (но это не точно). Разве встроенных средств для этого недостаточно?


  1. Javian
    25.08.2024 09:45

    У меня есть сетевая карта Intel, которая запускается после включения только запуском такого командного файла

    devcon disable "PCI\VEN_8086&DEV_1502&SUBSYS_052C1028&REV_04"
    devcon enable "PCI\VEN_8086&DEV_1502&SUBSYS_052C1028&REV_04"
    netsh interface set interface name="Ethernet" admin=DISABLE
    PING 127.0.0.1 -n 6 > null
    netsh interface set interface name="Ethernet" admin=ENABLE
    PING 127.0.0.1 -n 6 > null
    pause


    1. tsp1000
      25.08.2024 09:45

      Какой ужас. Это самописный скрипт?


      1. Javian
        25.08.2024 09:45

        Это мое решение "в лоб". Подозреваю, что проблема возникла, когда компьютер получил в обновлениях Windows обновление firmware, которое нарушило работу сетевой карты "Intel(R) 82579LM Gigabit Network Connection ". При включении компьютера сетевая карта не работает - "Запуск этого устройства невозможен (Код 10)". На любых доступных драйверах.
        Восстанавливать ME регион я не рискнул, когда нашел, что отключение и включение сетевой карты в Диспетчере устройств восстанавливает работу.

        В сети предлагают разные способы типа запрета быстрого запуска, но мне ничего не помогло. Поэтому решил в лоб - при включении компьютера сетевая карта отключается и включается, а на всякий случай затем дергаю сетевой интерфейс.


  1. Loggus66
    25.08.2024 09:45

    Название QUEENCREEK напоминает кодовые названия инструментов и уязвимостей из арсенала АНБ США, например, COTTONMOUTH или DOUBLEPULSAR, или ETERNALBLUE. Я б тоже забеспокоился.