Zcefagent exe что это
Они среди нас: исследуем уязвимости и вредоносный код в приложении Zoom для Windows
Кто добавил в Zoom этот «изюм»?
В последнее время часто приходится слышать примерно такие реплики:
«Мы/я не используем Zoom для конфиденциальных разговоров»
Но что если кто-то кроме конфиденциальности сеанса Zoom заботится о целостности данных на своем устройстве? И не зря, потому что, как оказалось, для этого есть основания. На кону не только данные конференции Zoom, но и целостность и конфиденциальность всего, что участник конференции сохраняет на своем компьютере.
Итак, я провел два вечера (в общей сложности около 5-6 часов), препарируя Zoom для Windows (версия 4.6.11 (20559.0413)). Я занимался только статическим анализом, не наблюдая за работой приложения в реальном времени. Но мне хватило и этого. Всё, что я обнаружил, описано в данной статье. Но я уверен, что это только верхушка айсберга. Представьте себе, что может накопать аналитик по безопасности, обладающий достаточным количеством времени и бюджетом… А я целенаправленно искал те уязвимости, которые можно использовать для раскрытия конфиденциальной информации третьим лицам (например, утечка информации в Facebook).
Я провёл очень поверхностное исследование и не углублялся в детали. Я занимался этим в свободное время и больше этим заниматься не намерен. Я ставил перед собой чёткую цель — дать оценку качеству кода с точки зрения безопасности и наличия (или отсутствия) поддержки программного обеспечения, входящего в состав приложения Zoom (что особенно необходимо при использовании большого количества сторонних библиотек).
Архаичное 32-битное приложение
Серьёзно? Ну почему?! Microsoft добавила поддержку 64-битных приложений и различных улучшений безопасности для 64-битных процессоров, начиная с Windows 7. Это было в 2009 году, одиннадцать лет назад. Да и сама Windows 7 уже давно морально устарела (с 14 января 2020 года эта ОС больше не поддерживается). Но нет, в 2020-м Zoom по-прежнему выпускает только 32-разрядные приложения для Windows.
zData.dll
zData.dll использует компонент с уязвимостями. Устаревшая библиотека OpenSSL 1.0.2 (от 27 марта 2018) известна своими уязвимостями, которые больше никто не будет исправлять.
С декабря 2019 года работа над OpenSSL 1.0.2 прекращена. Вот что пишут её разработчики:
«По текущим и будущим релизам проект OpenSSL принял следующие решения:
Объединение SQL-выражений
В зависимости от реализации оператора +=, zData.dll может потенциально создавать уязвимость SQL-инъекций, которые могут привести к раскрытию информации или выполнению произвольного кода на устройствах конечных пользователей Zoom.
Ой, простите… а это, случайно, не ключ для криптографического дешифрования зашифрованной базы данных SQLite?
Точно не знаю, на самом деле 🙂 Однако шифрование базы в принципе не мешает получить доступ к конфиденциальным данным, которые там хранятся. Похоже, что Zoom использует базу данных SQLite для хранения записей истории, журналов и, возможно, также для хранения конфиденциальных данных, таких как пароли и / или криптографические ключи. Я не стал углубляться в использование SQLite в качестве контейнера данных, оставляю это удовольствие более любопытным читателям.
Zzhost.dll
Угроза переполнения буфера
Просматривая таблицы импорта бинарных файлов, я наткнулся на вызов sprintf (). Но ведь известно, что sprintf () — потенциально опасная функция, и компиляторы выдают предупреждения, если вы используете её. Похоже, что такие предупреждения не беспокоят разработчиков Zoom.
Чтобы успешно использовать эту уязвимость, необходимо контролировать содержимое исходного буфера. Сам я это делать не пробовал. Однако, поскольку это функция ведения журнала (то есть, логирования), злоумышленники теоретически могут влиять на содержимое исходного буфера. Еще раз, сам я не проверял, возможно ли это на самом деле. Но даже сам факт возникновения такой возможности и игнорирование предупреждений об опасности использования функций — очень плохая практика. Разработчики! Не делайте так!
zCrashReport.exe
Сохранение ключей реестра Windows
Реестр Windows содержит достаточно важную информацию — особенно, когда мы обращаемся к нему через процесс с привилегированными правами.
«Dumping registry keys» («Сохранение ключей реестра») для меня звучит как вредоносная функция, поэтому я попытался выяснить, действительно ли она сохраняет ключи и значения реестра Windows. Да, это так, я нашёл в коде соответствующий фрагмент:
Захват экрана в Crash Reporter
zCrashReport.dll предлагает нам следующие функции:
В crashReport.exe, используются функции Windows API для захвата экрана и окон.
Как думаете отсылает ли Zoom захваченные с экрана данные на свои серверы? Если да, то это можно расценивать как вредоносный код.
Airhost.exe
Компоненты с уязвимостями
Airhost.exe использует libcurl 7.36.0 (вышла 26 марта 2014), в которой найдено 52 уязвимости. Ну а curl, в свою очередь включает libssh2, которая также отметилась рядом уязвимостей:
Эти уязвимости, к счастью, не представляют угрозы конкретно для пользователей Zoom. Тем не менее, зачем использовать устаревшие и уязвимые библиотеки, если вы вообще заботитесь о своем коде? Проще использовать последнюю версию, чем гадать, повлияет ли очередная найденная уязвимость на ваше приложение, не правда ли?
Шифрование/дешифрование с «захардкоженными» ключами
Airhost.exe использует константу в качестве ключа симметричного шифрования: Выходная строка SHA256 “0123425234234fsdfsdr3242” используется для шифрования / дешифрования AES-256 через OpenSSL.
А строка “3423423432325249” используется как вектор инициализации IV.
Уязвимости zWebService.dll и tp.dll
zWebService.dll и tp.dll используют libcurl 7.55.1. Даже несмотря на то, что эта библиотека не такая старая, как libcurl 7.36.0 (которая используется в airhost.exe), она всё-таки тоже немного устарела. Если бы разработчикам была по-настоящему важна безопасность конечных пользователей, они изучили бы этот список уязвимостей:
Уязвимости turbojpeg.dll
Turbojpeg.dll использует libjpeg-turbo 2.0.0 (build 20190715). Вот список уязвимостей класса Remote code execution (Удаленное выполнение кода) turbojpeg/libjpeg-turbo:
Что дальше?
На этом месте я прекратил копаться во внутренностях Zoom для Windows. Тем, кто хочет продолжить, я с удовольствием передаю эстафету:
Что такое Agent.exe? Это безопасно или вирус? Как удалить или исправить это
Что такое Agent.exe?
Agent.exe это исполняемый файл, который является частью Hearthstone Программа, разработанная Blizzard Entertainment, Программное обеспечение обычно о 1.22 GB по размеру.
Agent.exe безопасно, или это вирус или вредоносное ПО?
Первое, что поможет вам определить, является ли тот или иной файл законным процессом Windows или вирусом, это местоположение самого исполняемого файла. Например, такой процесс, как Agent.exe, должен запускаться из C: \ games2 \ hearthstone \ hearthstone.exe, а не в другом месте.
Если статус процесса «Проверенная подписывающая сторона» указан как «Невозможно проверить», вам следует взглянуть на процесс. Не все хорошие процессы Windows имеют метку проверенной подписи, но ни один из плохих.
Наиболее важные факты о Agent.exe:
Если у вас возникли какие-либо трудности с этим исполняемым файлом, вы должны определить, заслуживает ли он доверия, прежде чем удалять Agent.exe. Для этого найдите этот процесс в диспетчере задач.
Найдите его местоположение (оно должно быть в C: \ Games2 \ Hearthstone \) и сравните размер и т. Д. С приведенными выше фактами.
Если вы подозреваете, что можете быть заражены вирусом, вы должны немедленно попытаться это исправить. Чтобы удалить вирус Agent.exe, необходимо Загрузите и установите приложение полной безопасности, например Malwarebytes., Обратите внимание, что не все инструменты могут обнаружить все типы вредоносных программ, поэтому вам может потребоваться попробовать несколько вариантов, прежде чем вы добьетесь успеха.
Могу ли я удалить или удалить Agent.exe?
Не следует удалять безопасный исполняемый файл без уважительной причины, так как это может повлиять на производительность любых связанных программ, использующих этот файл. Не забывайте регулярно обновлять программное обеспечение и программы, чтобы избежать будущих проблем, вызванных поврежденными файлами. Что касается проблем с функциональностью программного обеспечения, проверяйте обновления драйверов и программного обеспечения чаще, чтобы избежать или вообще не возникало таких проблем.
Распространенные сообщения об ошибках в Agent.exe
Наиболее распространенные ошибки Agent.exe, которые могут возникнуть:
• «Ошибка приложения Agent.exe».
• «Ошибка Agent.exe».
• «Agent.exe обнаружил проблему и должен быть закрыт. Приносим извинения за неудобства».
• «Agent.exe не является допустимым приложением Win32».
• «Agent.exe не запущен».
• «Agent.exe не найден».
• «Не удается найти Agent.exe».
• «Ошибка запуска программы: Agent.exe».
• «Неверный путь к приложению: Agent.exe».
Как исправить Agent.exe
Если у вас возникла более серьезная проблема, постарайтесь запомнить последнее, что вы сделали, или последнее, что вы установили перед проблемой. Использовать resmon Команда для определения процессов, вызывающих вашу проблему. Даже в случае серьезных проблем вместо переустановки Windows вы должны попытаться восстановить вашу установку или, в случае Windows 8, выполнив команду DISM.exe / Online / Очистка-изображение / Восстановить здоровье, Это позволяет восстановить операционную систему без потери данных.
Чтобы помочь вам проанализировать процесс Agent.exe на вашем компьютере, вам могут пригодиться следующие программы: Менеджер задач безопасности отображает все запущенные задачи Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записи автозапуска. Единый рейтинг риска безопасности указывает на вероятность того, что это шпионское ПО, вредоносное ПО или потенциальный троянский конь. Это антивирус обнаруживает и удаляет со своего жесткого диска шпионское и рекламное ПО, трояны, кейлоггеры, вредоносное ПО и трекеры.
Обновлен декабрь 2021:
Мы рекомендуем вам попробовать это новое программное обеспечение, которое исправляет компьютерные ошибки, защищает их от вредоносных программ и оптимизирует производительность вашего ПК. Этот новый инструмент исправляет широкий спектр компьютерных ошибок, защищает от таких вещей, как потеря файлов, вредоносное ПО и сбои оборудования.
Загрузите или переустановите Agent.exe
Вход в музей Мадам Тюссо не рекомендуется загружать замещающие exe-файлы с любых сайтов загрузки, так как они могут содержать вирусы и т. д. Если вам нужно скачать или переустановить Agent.exe, мы рекомендуем переустановить основное приложение, связанное с ним Hearthstone.
Информация об операционной системе
Ошибки Agent.exe могут появляться в любых из нижеперечисленных операционных систем Microsoft Windows:
«GJAGENT» — что это? Как удалить GJAGENT вирус? Пошаговая инструкция
GJAGENT — это вирус, который показывает всплывающую рекламу в браузере.
Как происходит заражение вирусом GJAGENT?
Иногда мы вдруг замечаем, что наш компьютер начинает показывать слишком много рекламы и изобилует всплывающими окнами.
Вы вводите какой то адрес в Интернете, а всплывает какой то мусор? Что ж, возможно вы заражены рекламным вирусом GJAGENT.
Зловреды, подобные рекламному вирусу GJAGENT чаще всего инфицируют ярлыки ваших браузеров.
Кроме того, нередко они создают задание в расписании для запуска самих себя. В инфицировании затрагиваются все браузеры, установленные в вашей системе. Вследствие этого вы сможете в процессе работы инфицироваться чем то более опасным, случайно ткнув по одной из всплывающих ссылок с рекламных сайтов.
Поэтому вам необходимо удалить рекламу GJAGENT как можно скорее. Ниже я привожу простые инструкции, как это сделать. И, разумеется, я предлагаю выбрать автоматизированный метод ввиду его наибольшей эффективности.
Инструкция по ручному удалению рекламного вируса GJAGENT
Для того, чтобы самостоятельно избавиться от рекламы GJAGENT, вам необходимо последовательно выполнить все шаги, которые я привожу ниже:
И все же автоматика лучше!
Если ручной метод — не для вас, и хочется более легкий путь, существует множество специализированного ПО, которое сделает всю работу за вас. Я рекомендую воспользоваться UnHackMe от Greatis Software, выполнив все по пошаговой инструкции.
Шаг 1. Установите UnHackMe. (1 минута)
Шаг 2. Запустите поиск вредоносных программ в UnHackMe. (1 минута)
Шаг 3. Удалите вредоносные программы. (3 минуты)
UnHackMe выполнит все указанные шаги, проверяя по своей базе, всего за одну минуту.
При этом UnHackMe скорее всего найдет и другие вредоносные программы, а не только редиректор на GJAGENT.
При ручном удалении могут возникнуть проблемы с удалением открытых файлов. Закрываемые процессы могут немедленно запускаться вновь, либо могут сделать это после перезагрузки. Часто возникают ситуации, когда недостаточно прав для удалении ключа реестра или файла.
UnHackMe легко со всем справится и выполнит всю трудную работу во время перезагрузки.
И это еще не все. Если после удаления редиректа на GJAGENT какие то проблемы остались, то в UnHackMe есть ручной режим, в котором можно самостоятельно определять вредоносные программы в списке всех программ.
Итак, приступим:
Шаг 1. Установите UnHackMe (1 минута).
Шаг 2. Запустите поиск вредоносных программ в UnHackMe (1 минута).
Шаг 3. Удалите вредоносные программы (3 минуты).
Итак, как вы наверное заметили, автоматизированное лечение значительно быстрее и проще! Лично у меня избавление от перенаправителя на GJAGENT заняло 5 минут! Поэтому я настоятельно рекомендую использовать UnHackMe для лечения вашего компьютера от любых нежелательных программ!
Андрей «Вирусолог»
а UnHackMe не будет конфликтовать с антивирусом?
Файл формата exe: чем открыть, описание, особенности
EXE – распространенный файловый формат еще со времен ОС MS-DOS. Рассмотрим, что это за файлы, их наз.
EXE – распространенный файловый формат еще со времен ОС MS-DOS. Рассмотрим, что это за файлы, их назначение и задачи, какими программами запускаются, на что обратить внимание при работе с ними.
Часто встречающийся файловый формат – EXE. Помогает запустить установку программ на компьютер. Как открыть файл EXE в разных операционных системах, просмотреть или отредактировать содержимое – рассмотрим подробнее.
Формат EXE
EXE применяется для названия файлов-исполнителей. Это сокращение английского «executable files» – исполняемый файл. Используется в операционных системах Microsoft Windows, MS-DOS. Его задача – запуск инсталляции (деинсталляции) софта на устройство. Для этого в нем записан сценарий и код, которые запустят процесс.
В файле EXE находятся:
Файл может быть закодирован и сжат архиватором в самораспаковывающийся архив. Инсталляция проводится в ту же директорию или в указанную пользователем.
Открываем EXE расширение
На персональном компьютере с ОС Microsoft Windows затруднений при открытии файла не возникает (об исключениях ниже). Сложности будут, если у пользователя Linux, Mac OS или мобильное устройство. Частый вопрос – как открыть EXE файл для редактирования или просмотра. Разбираемся по порядку.
На компьютере
ОС Microsoft Windows 7
Для запуска применяем двойной щелчок манипулятора. Файл начнет устанавливаться и распаковываться (если это архив). Для просмотра содержимого без инсталляции подойдут утилиты Windows:
ОС Microsoft Windows 10
ОС Mac
Windows приложения работают с эмуляторами без сбоев, для переключения на установленную на компьютере ОС не нужно перезагружать ПК.
ОС Linux
ОС Android
Как открыть EXE файл на Андроиде при том, что формат не предназначен для работы с ним? Структура и состав файлов EXE другой, прямой запуск невозможен. Есть два способа открыть файл:
Второй вариант проще. К таким утилитам относятся: BOCHS, Limbo, QEMU и другие. Принцип действий идентичен: скачать и установить приложение на мобильное устройство, запустить утилиту.
Стоит быть внимательными при открытии файлов этого типа – они могут содержать в себе вирусное программное обеспечение. Получив файл от неизвестного отправителя, скачав с непроверенного источника, не стоит открывать его и запускать инсталляцию.
Пока расследование не разлучит нас: малварь, которая может сидеть в сети компании годами
Недавно мы расследовали АРТ-атаку на одну российскую компанию и нашли много занятного софта. Сначала мы обнаружили продвинутый бэкдор PlugX, популярный у китайских группировок, АРТ-атаки которых обычно нацелены на похищение конфиденциальной информации, а не денег. Затем из скомпрометированной сети удалось вытащить несколько других схожих между собой бэкдоров (nccTrojan, dnsTrojan, dloTrojan) и даже общедоступных утилит.
Программы, используемые в этой преступной кампании, не отличаются сложностью, за исключением, может быть, PlugX. К тому же три из четырех вредоносов использовали при запуске давно известную технику DLL hijacking. Тем не менее, как показало наше исследование, даже при таких условиях злоумышленники могут годами оставаться в скомпрометированных сетях.
Мы решили изучить обнаруженный софт и поделиться своими наблюдениями.
PlugX
PlugX — сложная вредоносная программа. Мы постараемся рассказать о ее основных функциях, а более подробное описание малвари можно найти в отчете Dr. Web.
Запуск PlugX
PlugX, как правило, распространяется в виде самораспаковывающихся архивов, содержащих:
Такой набор характерен для техники DLL hijacking, при которой злоумышленник заменяет легитимную DLL на вредоносную. При этом малварь получает возможность работать от имени легитимного процесса и обходить таким образом средства защиты (рис. 1).
Рис. 1. Наглядное представление техники DLL hijacking
Рассмотрим в качестве примера один из экземпляров PlugX, характеристики которого приведены в табл. 1.
Свойство | EXE | DLL | Зашифрованная нагрузка |
---|---|---|---|
Имя файла | mcut.exe | mcutil.dll | mcutil.dll.bbc |
Тип файла | PE32 executable (EXE) | PE32 executable (DLL) | None |
Размер (в байтах) | 140 576 | 4 096 | 180 358 |
Время компиляции | 13 июня 2008 года 02:39:28 | 9 декабря 2014 года 10:06:14 | — |
MD5 | 884d46c01c762ad6ddd2759fd921bf71 | e9a1482a159d32ae57b3a9548fe8edec | 2d66d86a28cd28bd98496327313b4343 |
SHA-1 | d201b130232e0ea411daa23c1ba2892fe6468712 | a2a6f813e2276c8a789200c0e9a8c71c57a5f2d6 | 7bcf4f196578f2a43a2cd47f0b3c8d295120b646 |
SHA-256 | 3124fcb79da0bdf9d0d1995e37b06f7929d83c1c4b60e38c104743be71170efe | 2f81cf43ef02a4170683307f99159c8e2e4014eded6aa5fc4ee82078228f6c3c | 0c831e5c3aecab14fe98ff4f3270d9ec1db237f075cd1fae85b7ffaf0eb2751 |
Вот что происходит при запуске невредоносного исполняемого файла (EXE) из пакета.
Сначала одна из импортируемых им библиотек (отдельная DLL) заменяется вредоносной. После загрузки в память процесса DLL открывает третий файл из пакета PlugX, который обходит средства защиты за счет отсутствия видимого исполняемого кода. Тем не менее он содержит шелл-код, после исполнения которого в памяти расшифровывается еще один дополнительный шелл-код. Он с помощью функции RtlDecompressBuffer() распаковывает PlugX (DLL). При открытии мы видим, что сигнатуры MZ и PE в исполняемом файле PlugX заменены на XV (рис. 2) — скорее всего, это тоже нужно, чтобы скрыть модуль от средств защиты.
Рис. 2. Исполняемый файл PlugX в распакованном виде с измененными сигнатурами MZ и PE
Наконец, запускается распакованная вредоносная библиотека, и управление передается ей.
В другом экземпляре PlugX мы обнаружили интересную особенность: малварь пыталась скрыть некоторые библиотечные вызовы от песочниц. При восстановлении импортов вместо адреса импортируемой функции сохранялся адрес тремя байтами ранее. Результат для функции SetFileAttributesW() виден на рис. 3.
Рис. 3. При получении адреса функции SetFileAttributesW() сохраняется адрес 0x7577D4F4
В табл. 2 приведены характеристики этого экземпляра.
Свойство | EXE | DLL | Зашифрованная нагрузка |
---|---|---|---|
Имя файла | mcut.exe | mcutil.dll | mcutil.dll.bbc |
Тип файла | PE32 executable (EXE) | PE32 executable (DLL) | None |
Размер | 140 576 | 4 096 | 179 906 |
MD5 | 884d46c01c762ad6ddd2759fd921bf71 | 12ee1f96fb17e25e2305bd6a1ddc2de9 | e0ae93f9cebcba2cb44cec23993b8917 |
SHA-1 | d201b130232e0ea411daa23c1ba2892fe6468712 | bf25f1585d521bfba0c42992a6df5ac48285d763 | f0efdb723a65e90afaebd56abe69d9f649ca094c |
SHA-256 | 3124fcb79da0bdf9d0d1995e37b06f7929d83c1c4b60e38c104743be71170efe | 97ad6e95e219c22d71129285299c4717358844b90860bb7ab16c5178da3f1686 | 81e53c7d7c8aa8f98c951106a656dbe9c931de465022f6bafa780a6ba96751eb |
б)
Рис. 4. Фрагмент декомпилированного кода (а) и соответствующий ему фрагмент листинга перехваченных инструкций (б), где встречается вызов функции SetFileAttributesW()
Основная нагрузка PlugX не сохраняется в расшифрованном виде на диске.
Работа PlugX
После запуска вредоносная программа расшифровывает конфигурацию, которая содержит адреса серверов управления, а также информацию, необходимую для дальнейшего функционирования (например, способ закрепления в системе или путь, по которому копируются файлы малвари).
При этом данные для конфигурации могут браться из основного загрузчика или из отдельного файла в текущей рабочей директории. Из того же файла может быть подтянута новая конфигурация при ее обновлении в ходе взаимодействия с сервером управления.
То, как вредонос будет вести себя дальше, во многом определяет его конфигурация.
В зависимости от значения check_flag в конфигурации PlugX вредоносная программа может начать поиск в зараженной системе сетевого адаптера, MAC-адрес которого совпадает с адресом, заданным в самой малвари. В случае совпадения вредоносная программа завершит свое исполнение. Вероятно, таким образом она пытается обнаружить виртуальную среду.
Если значение mode_flag равно 0, вредоносная программа закрепляется в системе (подробнее в разделе «Закрепление в системе»). Затем она переходит к инициализации плагинов и взаимодействию с сервером управления (подробнее в разделе «Функциональность плагинов и исполнение команд»).
Если значение mode_flag равно 2, вредоносная программа сразу переходит к инициализации плагинов и взаимодействию с сервером управления.
Если значение mode_flag равно 3, вредоносная программа внедряет шелл-код в Internet Explorer. Передача управления вредоносному коду осуществляется с помощью функции CreateRemoteThread(). Также производится инициализация плагинов, и создается именованный пайп, через который вредоносная программа получает команды, предназначенные для исполнения плагинами.
Закрепление в системе
Если конфигурация PlugX предусматривает закрепление вредоноса в зараженной системе, то в ней прописан каталог, в который будут скопированы компоненты малвари.
Анализируемый образец выбирает одну из следующих директорий в зависимости от разрядности малвари:
В зависимости от persistence_flag PlugX может закрепляться:
Помним, что малварь может и не закрепляться вовсе.
В зависимости от конфигурации вредоносная программа может также попытаться создать процесс с повышенными привилегиями с последующим внедрением в него кода. В конфигурации могут быть перечислены до четырех целевых процессов.
Функциональность плагинов PlugX и исполняемые команды
Основная функциональность бэкдора реализована с помощью так называемых плагинов. Фрагмент функции, в которой производится инициализация плагинов, приведен на рис. 5.
Рис. 5. Фрагмент инициализации плагинов PlugX
PlugX может управлять процессами и службами, работать с файловой системой, вносить изменения в реестр. Он также имеет компоненты кейлоггера и скринлоггера и может получать удаленный доступ к зараженной системе — все это дает обширные возможности злоумышленникам в скомпрометированной сети.
Полный перечень функций вредоносной программы, доступной через плагины, приведен в табл. 3.
Табл. 3. Функциональность PlugX, доступная через плагины
Плагин | Команда | Функциональные возможности |
DISK | Собрать информацию по всем дискам (тип и свободное пространство) | |
Перечислить файлы в директории | ||
Перечислить файлы | ||
Прочитать файл | ||
Создать директорию и сохранить в нее файл | ||
Создать директорию | ||
Создать новый рабочий стол и запустить процесс | ||
Копировать, переместить, переименовывать или удалить файл | ||
Получить значение переменной окружения | ||
KeyLogger | Отправить данные кейлоггера на сервер управления | |
Nethood | Перечислить сетевые ресурсы | |
Установить соединение с сетевым ресурсом | ||
Netstat | Получить таблицу TCP | |
Получить таблицу UDP | ||
Установить состояние TCP | ||
Option | Заблокировать экран компьютера | |
Отключить компьютер (принудительно) | ||
Перезагрузить компьютер | ||
Отключить компьютер (безопасно) | ||
Показать окно с сообщением | ||
PortMap | Возможно, запустить маппинг портов | |
Process | Получить информацию о процессах | |
Получить информацию о процессе и модулях | ||
Завершить процесс | ||
Regedit | Перечислить подразделы ключа реестра | |
Создать ключ реестра | ||
Удалить ключ реестра | ||
Скопировать ключ реестра | ||
Перечислить значения ключа реестра | ||
Задать значение ключа реестра | ||
Удалить значение из ключа реестра | ||
Получить значение из ключа реестра | ||
Screen | Использовать удаленный рабочий стол | |
Сделать скриншот | ||
Найти скриншоты в системе | ||
Service | Получить информацию о сервисах в системе | |
Изменить конфигурацию сервиса | ||
Запустить сервис | ||
Управлять сервисом | ||
Удалить сервис | ||
Shell | Запустить cmd-шелл | |
SQL | Получить список баз данных | |
Получить список описаний драйверов | ||
Выполнить SQL-команду | ||
Telnet | Настроить Telnet |
Фрагмент функции обработки команд, полученных от сервера управления приведена на рис. 6.
Рис. 6. Команды сервера управления, которые получает PlugX
Описание команд приведено в табл. 4.
Табл. 4. Команды сервера управления, которые получает PlugX
Команда | Описание |
---|---|
0x1 | Отправить на сервер управления данные о зараженной системе: — имя компьютера; — имя пользователя; — информация о CPU; — текущее использование памяти системой; — информация об операционной системе; — системные дата и время; — системная информация; — язык системы |
0x5 | Самоудалиться (удалить службу, очистить реестр) |
0x3 | Передать команды плагинам со сменой протокола взаимодействия |
0x6 | Отправить текущую конфигурацию PlugX на сервер управления |
0x7 | Получить с сервера управления новую конфигурацию и обновить текущую |
0x8 | Отправить список процессов с внедренным шелл-кодом |
default | Передать команды плагинам |
nccTrojan
Один из обнаруженных нами бэкдоров найден в отчете VIRUS BULLETIN и назван авторами nccTrojan по константному значению в коде основного пейлоада. Характеристики попавшегося нам образца малвари приведены в табл. 5.
Свойство | EXE | DLL |
---|---|---|
Имя файла | instsrv.exe | windowsreskits.dll |
Тип файла | PE32 executable (EXE) | PE32 executable (DLL) |
Размер (в байтах) | 83 968 | 514 048 |
Время компиляции | 18 декабря 2019 года 03:13:03 | 21 марта 2020 года 15:19:04 |
MD5 | c999b26e4e3f15f94771326159c9b8f9 | 056078b1c424667e6a67f9867627f621 |
SHA-1 | ec12c469463029861bd710aec3cb4a2c01907ad2 | 5bd080285a09c0abf742fb50957831310d9d9769 |
SHA-256 | 07d728aa996d48415f64bac640f330a28e551cd565f1c5249195477ccf7ecfc5 | 3be516735bafbb02ba71d56d35aee8ce2ef403d08a4dc47b46d5be96ac342bc9 |
Запуск nccTrojan
Работа nccTrojan
nccTrojan расшифровывает конфигурацию, хранящуюся по определенному смещению в оверлее. Конфигурация зашифрована с помощью алгоритма AES-CFB-256, он же используется для шифрования взаимодействия с сервером управления. Пары «ключ шифрования + вектор инициализации» захардкоржены и различны для шифрования конфигурации и взаимодействия с сервером управления.
Расшифрованная конфигурация содержит информацию о сервере управления и выглядит следующим образом:
Если соединение установлено, то на сервер управления отправляется следующая информация:
При этом из собранных данных формируется строка, которая дальше зашифровывается и отправляется на сервер управления. Формат создаваемой строки:
Далее вредоносная программа переходит к взаимодействию с сервером управления и может исполнять команды, приведенные в табл. 6.
Табл. 6. Команды, исполняемые nccTrojan
Команда | Назначение |
---|---|
0x2 | Запустить сmd-шелл |
0x3 | Выполнить команду через cmd-шелл |
0x4 | Записать данные в файл |
0x5 | Получить информацию о дисках C-Z (тип, свободный объем памяти) |
0x6 | Получить информацию о файлах |
0x8 | Запустить процесс |
0xA | Удалить файл или директорию |
0xC | Прочитать файл |
0xF | Проверить наличие файла |
0x11 | Сохранить файл |
0x13 | Получить список запущенных процессов |
0x15 | Завершить процесс |
0x17 | Скопировать файл |
0x1A | Переместить файл |
0x1D | Запустить cmd-шелл с правами пользователя |
dnsTrojan
Следующий бэкдор мы обнаружили впервые: на момент расследования мы не нашли упоминаний о нем в отчетах других экспертов. Его отличительная особенность — общение с сервером управления через DNS. В остальном по своей функциональности вредоносная программа схожа с бэкдором nccTrojan. Чтобы сохранить единообразие в названиях найденной малвари, назвали ее dnsTrojan.
Свойство | EXE |
---|---|
Имя | a.exe.ok |
Тип файла | PE32 executable (EXE) |
Размер (в байтах) | 417 280 |
Время компиляции | 13 октября 2020 года 20:05:59 |
MD5 | a3e41b04ed57201a3349fd42d0ed3253 |
SHA-1 | 172d9317ca89d6d21f0094474a822720920eac02 |
SHA-256 | 826df8013af53312e961838d8d92ba24de19f094f61bc452cd6ccb9b270edae5 |
Запуск dnsTrojan
После запуска вредоносная программа извлекает из ресурсов, распаковывает и сохраняет в рабочей директории два файла:
Работа dnsTrojan
Все свои действия вредоносная программа логирует в файл %ProgramData%\logD.dat, при этом записанные данные похожи на отладочную информацию для злоумышленников (рис. 7).
Рис. 7. Фрагмент файла logD.dat
Взаимодействие с сервером управления осуществляется с использованием DNS-туннелирования. Данные передаются серверу управления в виде DNS-запроса TXT-записи в зашифрованном виде.
Сразу после запуска на сервер управления отправляются следующие данные:
Из них формируется сообщение вида 8SDXCAXRZDJ;O0V2m0SImxhY;6.1.1;1;00-13-d2-e3-d6-2e;2020113052831619.
Все передаваемые на сервер управления данные преобразуются следующим образом:
При формировании домена, для которого запрашивается TXT-запись, после каждого 64-го символа ставится точка. Запросы, отправляемые вредоносной программой, можно увидеть на рис. 8.
В ответ на запрос, отправленный на предыдущем шаге из TXT-записей, dnsTrojan получает команды сервера и может исполнить их (табл. 8).
Команда | Назначение |
---|---|
0x1 | Получить онлайн-данные |
0x2 | Запустить сmd-шелл |
0x3 | Выполнить команду через cmd-шелл |
0x4 | Получить информацию о дисках C–Z (тип, свободный объем памяти) или файлах |
0x6 | Прочитать файл |
0x7 | Скопировать файл |
0x8 | Удалить файл |
0x9 | Проверить наличие файла |
0xA | Сохранить файл |
0xB | Установить время бездействия программы (в минутах) |
0xD | Самоудалиться (очистить реестр) |
dloTrojan
dloTrojan — еще одна обнаруженная в процессе расследования вредоносная программа, которую мы классифицировали как бэкдор. Эта малварь не относится ни к одному из известных семейств вредоносов.
Характеристики файлов исследуемого нами образца приведены в табл. 9.
Свойство | EXE | DLL |
---|---|---|
Имя | ChromeFrameHelperSrv.exe | chrome_frame_helper.dll |
Тип файла | PE32 executable (EXE) | PE32 executable (DLL) |
Размер (в байтах) | 82 896 | 240 128 |
Время компиляции | 12 июля 2013 года 19:11:41 | 14 сентября 2020 года 16:34:44 |
MD5 | 55a365b1b7c50887e1cb99010d7c140a | bd23a69c2afe591ae93d56166d5985e1 |
SHA-1 | 6319b1c831d791f49d351bccb9e2ca559749293c | 3439cf6f9c451ee89d72d6871f54c06cb0e0f1d2 |
SHA-256 | be174d2499f30c14fd488e87e9d7d27e0035700cb2ba4b9f46c409318a19fd97 | f0c07f742282dbd35519f7531259b1a36c86313e0a5a2cb5fe1dadcf1df9522d |
Запуск dloTrojan
На сцену опять выходит DLL hijacking.
Итак, вредоносная программа dloTrojan состоит из двух компонентов:
После запуска исполняемого EXE-файла подгружается код вредоносной DLL. При этом библиотека проверяет имя процесса, в который она загружена, и оно должно соответствовать имени ChromeFrameHelperSrv.exe. В противном случае, вредоносный код завершит свое исполнение.
Далее библиотека расшифровывает вредоносный исполняемый файл, код которого внедряется в еще один запущенный процесс ChromeFrameHelperSrv.exe с использованием техники Process Hollowing.
Работа dloTrojan
Вредоносная программа пытается получить данные значения с именем TID из одного из двух ключей реестра (это зависит от имеющихся привилегий в системе):
Если же значение в реестре отсутствует, создается один из указанных ключей реестра. В параметре TID прописывается строка из 16 произвольных символов, которую в дальнейшем можно рассматривать как ID зараженной системы.
Строки во вредоносной программе зашифрованы методом простого сложения по модулю двух с одним байтом (отличается для различных строк).
Затем малварь расшифровывает адрес сервера управления. В зависимости от конфигурации вредоносная программа может иметь несколько адресов, в текущей конфигурации адрес сервера управления один.
Теперь dloTrojan устанавливает соединение с сервером управления. Если подключиться к серверу не удалось, малварь пытается найти настроенные прокси-серверы одним из способов:
Далее на сервер управления отправляется следующая информация о зараженной системе:
Данные передаются на сервер управления в зашифрованном виде.
В конце концов вредоносная программа получает возможность исполнять команды сервера управления: запускать cmd-шелл, создавать и удалять файлы, собирать информацию о дисках.
Перечень возможных команд приведен в табл. 10.
Табл. 10. Команды, исполняемые dloTrojan
Команда | Назначение |
---|---|
0x1 | Получить количество миллисекунд, прошедших с момента запуска системы |
0x2 | Запустить сmd-шелл |
0x3 | Выполнить команду через cmd-шелл |
0x4 | Закрыть cmd-шелл |
0x5 | Проверить существование файла. Если файла нет, создать его |
0x6 | Создать файл |
0x7 | Получить данные файла (размер, временные метки) |
0x8 | Прочитать файл |
0x9 | Получить информацию о дисках C–Z (тип, объем свободной памяти) |
0xA | Перечислить файлы |
0xB | Удалить файл |
0xC | Переместить файл |
0xD | Запустить процесс |
0xE | Сделать скриншот |
0xF | Перечислить сервисы |
0x10 | Запустить сервис |
0x11 | Перечислить процессы и модули |
0x12 | Завершить процесс, затем перечислить процессы и модули |
0x13 | Закрыть сокет |
И еще несколько программ, которые мы раскопали в ходе расследования
Вернемся к общедоступным утилитам, найденным на зараженных системах. С их помощью можно залезть в систему, утащить конфиденциальные данные и выполнить другие вредоносные действия. Ловите краткое описание каждой.
GetPassword
GetPassword предназначена для получения паролей из зараженной системы. Раньше исходный код утилиты лежал в репозитории MimikatzLite, но сейчас его почему-то удалили. Можем только поделиться скриншотом на рис. 9.
Рис. 9. Скриншот работы утилиты GetPassword
Quarks PwDump
Еще одна утилита для извлечения паролей из ОС Windows.
Исходный код можно найти в репозитории 0daytool-quarkspwdump. Скриншот утилиты приведен на рис. 10.
Рис. 10. Скриншот работы утилиты Quarks PwDump
wpmd v 2.3 (beta)
wpmd (windows password and masterkey decrypt) также предназначена для получения паролей в ОС Windows. Увы, источник мы не нашли, поэтому можем только показать скриншот (рис. 11).
Рис. 11. Скриншот работы утилиты wpmd v 2.3 (beta)
os.exe
os.exe позволяет определить версию ОС Windows (рис. 12). Источник тоже не найден 🙁
Рис. 12. Скриншот работы утилиты os.exe
nbtscan 1.0.35
nbtscan — утилита командной строки, предназначенная для сканирования открытых серверов имен NETBIOS в локальной или удаленной TCP/IP-сети. Она обеспечивает поиск открытых общих ресурсов (рис. 13). Доступна на ресурсе Unixwiz.net.
Рис. 13. Скриншот работы утилиты nbtscan
Это расследование в очередной раз убедило нас, что даже заезженные и понятные техники способны доставить жертвам много неприятностей. Злоумышленники могут годами копаться в IT-инфраструктуре жертвы, которая и подозревать ничего не будет. Думаем, выводы вы сделаете сами 🙂
PlugX (SHA256: EXE, DLL, Shell-code)
PlugX-executor: (SHA256: EXE)
nccTrojan (SHA256: EXE, DLL)
dnsTrojan (SHA256: EXE)
dloTrojan (SHA256: EXE, DLL)