Введение
Мы продолжаем делиться подробностями о вредоносных техниках и инструментарии APT ToddyCat. В первой части исследования мы рассмотрели атаки группы, направленные на кражу данных из браузеров, а также локальных и облачных почтовых сервисов. Методы, использованные в этой кампании, указывали на то, что группа ToddyCat пыталась получить доступ к корпоративной переписке, оставаясь при этом незаметной для средств мониторинга. Однако все описанные нами ранее методы группы эффективно обнаруживаются средствами EPP и EDR.
Атакующие продолжили поиски способа обхода защитных решений и разработали новый инструмент для получения доступа к ресурсам облачного аккаунта жертвы посредством Google API. С его помощью группа автоматизировала все этапы атаки, что позволило ей оставаться незамеченной средствами мониторинга.
В этой части исследования мы подробно разберем механизм новой атаки и инструмент, с помощью которого она была автоматизирована. Мы также рассмотрим, как обнаружить эту атаку и защититься от нее.
Umbrij
В этой кампании интерес злоумышленников привлекла корпоративная переписка в сервисе Gmail. Их действия были направлены на компрометацию доступа к почте через API. Дело в том, что для авторизации в Google API используется протокол OAuth 2.0, то есть при помощи токена OAuth приложения могут получать доступ к запрашиваемым ресурсам электронной почты. Чтобы получить этот токен, злоумышленники создали инструмент Umbrij и с его помощью подключались к консоли управления браузером в скрытом режиме (headless) через отладочный порт. Посредством нескольких запросов они получали код авторизации OAuth, который впоследствии обменивали на токен для доступа к целевым ресурсам через API. Эту технику мы назвали Shadow Token via Remote Debug (STRD).
Эта атака возможна в браузерах на основе Chromium. Если пользователь не вышел из своей учетной записи Gmail, браузер будет хранить его сессию авторизации. Используя это, атакующие запускают браузер, подключаются через отладочный порт для управления и делают запрос к сервису Gmail на предоставление доступа к ресурсам учетной записи Google в рамках сохраненной пользовательской сессии.
При исследовании этой атаки мы обнаружили несколько версий инструмента Umbrij, содержащих ряд вспомогательных функций: для отладки работы инструмента, поиска и выбора аккаунтов пользователя в браузере и другие.
Решения «Лаборатории Касперского» обнаруживают этот инструмент со следующими вердиктами: HEUR:Trojan-PSW.MSIL.Umbrij.gen, HEUR:Trojan.MSIL.Agent.gen, HEUR:Trojan-PSW.MSIL.Agent.gen.
Запуск
Инструмент Umbrij был обнаружен в рамках проактивного поиска угроз: на одном из пользовательских хостов выполнялась задача по расписанию KasperskyEndpointSecurityEDRAvp, которая запускала файл с цифровой подписью. Решения «Лаборатории Касперского» не создают запланированные задачи с таким именем — злоумышленники пытались замаскировать вредоносную активность под легитимный процесс.
Подписанный файл в свою очередь загружал с помощью техники DLL sideloading вредоносный инструмент.
За все время наблюдения нам удалось обнаружить следующие легитимные файлы, уязвимые к технике DLL sideloading, которые использовались для запуска Umbrij.
- Файл BDSubWiz.exe — компонент Submission Wizard в продукте Bitdefender ConnectAgent, который используется для поддержки функций подключения и взаимодействия с другими сервисами или агентами Bitdefender. Этот файл небезопасно загружает файл с именем log.dll.
- Файл VSTestVideoRecorder.exe — компонент инструмента для записи видеоматериалов в рамках тестирования с использованием Visual Studio (VS Test). Этот исполняемый файл небезопасно загружает файл с именем Microsoft.VisualStudio.QualityTools.VideoRecorderEngine.dll.
- Файл GoogleDesktop.exe — больше не поддерживаемая программа Google Desktop Search для индексации файлов и их быстрого поиска на локальном ПК. Этот исполняемый файл небезопасно загружает файл с именем GoogleServices.dll.
Эти файлы загружали различные версии Umbrij, причем один и тот же легитимный файл мог запускать различные модификации. Всего мы обнаружили 3 версии Umbrij, которые далее для удобства будем называть a, b и c.
Сам инструмент представляет собой DLL-библиотеку, написанную на .NET и обфусцированную с помощью ConfuserEx, обфускатора с открытым исходным кодом для .NET-приложений.
Для управления инструментом используются параметры, переданные через командную строку при его запуске, хотя иногда Umbrij запускается без параметров. Ниже представлены примеры командных строк, которые мы встречали в атаках на пользователей:
|
1 2 |
"c:\Users\Public\BDSubWiz.exe" -regex <name> -deepsearch c:\windows\vss\bds.exe |
Однако это не все параметры, которые инструмент может принимать и обрабатывать. При анализе его исполняемого кода мы обнаружили дополнительные параметры, которые различаются в зависимости от версии Umbrij. Ниже приведены найденные параметры и их описание.
| Версия | Команда | Описание |
| a | -regex <string> | Используется вместе с параметром -deepsearch. Задает подстроку для поиска в поле user_name файла пользовательского профиля (в нем обычно указан адрес электронной почты). Инструмент будет использовать профиль пользователя, который соответствует указанной подстроке. |
| a | -user <username> | Имя системного пользователя, от которого должен быть запущен инструмент |
| a | -runas-currentuser | Задает работу инструмента в контексте текущего пользователя |
| a | -deepsearch | Определяет дополнительные проверки поля user_name в пользовательском профиле: не является ли оно пустым и содержит ли подстроку, указанную в параметре -regex |
| a, b, c | -path <path> | Задает полный путь к папке, в которой находится исполняемый файл браузера |
| a, b, c | -browser <both|msedge|chrome> | Задает, какой браузер будет пытаться использовать инструмент: Google Chrome, Microsoft Edge или оба |
| a, b, c | -debugport <port> | Задает номер отладочного порта |
| a, b, c | -sync | При указании этого параметра в URL-адресе для запроса прав значение 279448736670 заменяется на 1095133494869 |
| b | -domainAd | Указывает доменное имя, если учетная запись пользователя является доменной |
| b | -savepdf | Указывает, что необходимо сохранить скриншот пользовательского профиля в PDF-файле |
| c | -lport | То же, что и debugport |
Подготовка окружения
В начале запуска инструмент проверяет ряд условий, необходимых для проведения атаки, а также выполняет подготовительные действия для последующей компрометации учетной записи Gmail.
Сначала Umbrij проверяет, доступен ли порт, который будет назначен для отладки браузера. Для этого в инструменте предусмотрена функция ChekPortAvailable() (сохранено оригинальное написание), которая принимает номер проверяемого порта, а затем с помощью функции .NET GetActiveTcpConnections() из пространства имен System.Net.NetworkInformation получает информацию об активных подключениях на хосте. Инструмент перебирает каждое подключение в цикле и сравнивает номер порта с искомым.
Затем инструмент получает контекст пользователя. Для этого он ищет в системе процесс explorer.exe и копирует его токен, сохраняя все его права (T1134.003 Access Token Manipulation: Make and Impersonate Token). Такую же схему использует и другой инструмент группы — TomBerBil, о котором мы рассказывали ранее.
По умолчанию Umbrij дублирует токен первого найденного процесса explorer.exe. Если в системе работает несколько пользователей, имя целевого пользователя, чей токен необходимо скопировать, указывается при помощи ключа -user <username>. При использовании ключа -runas-currentuser инструмент будет работать в контексте текущего пользователя без копирования токена.
Затем Umbrij формирует путь к папке приложения браузера в общем репозитории данных приложений пользователя. Для этого он получает каталог репозитория из переменной окружения с помощью команды Environment.SpecialFolder.LocalApplicationData и добавляет к нему каталог нужного браузера. После этого инструмент ищет файл Local State в следующих папках:
- %LOCALAPPDATA%\Google\Chrome\User Data\Local State
- %LOCALAPPDATA%\Microsoft\Edge\User Data\Local State
Пример структуры файла Local State приведен ниже.
В этом файле инструмент ищет массив info_cache, где хранится информация о профилях пользователей в браузере. Umbrij перечисляет все профили пользователя и ищет такие, которые содержат поле user_name с адресом электронной почты. Его наличие свидетельствует о том, что пользователь аутентифицирован в сервисе Google. Инструмент может работать с каждым найденным профилем, но если через командную строку задан параметр -regex <string>, то он ищет указанную подстроку в перечисляемых почтовых адресах и далее работает с ними.
Затем Umbrij создает следующие папки для Google Chrome и Microsoft Edge соответственно:
- %LOCALAPPDATA%\Google\Chrome\BackupFiles\
- %LOCALAPPDATA%\Microsoft\Edge\BackupFiles\
В них инструмент копирует пользовательские файлы и папки каждого целевого профиля пользователя:
- IndexedDB — папка с реляционной базой данных, которая используется для хранения структурированных данных на стороне клиента;
- Local Storage — часть веб-хранилища браузера, которая предоставляет ключ-значение для хранения данных на стороне клиента;
- Network — папка, в которой браузер хранит файлы, связанные с сетевыми запросами и кэшированием, такими как сетевой кэш и служебные файлы;
- Login Data — файл, в котором хранятся сохраненные пароли для различных сайтов и приложений;
- Login Data For Account — файл, в котором хранятся учетные данные, связанные с аккаунтом Google или другими синхронизированными учетными записями в браузере;
- Preferences — файл настроек браузера на уровне всего профиля пользователя;
- Secure Preferences — файл, который хранит защищенные настройки, такие как данные, связанные с безопасностью и синхронизацией;
- Web Data — файл, который хранит данные для автозаполнения.
При этом, если файлы заняты другими процессами, в инструменте предусмотрена функция для их принудительного копирования.
Следующим шагом инструмент ищет папку, в которой установлен браузер, в директориях Program Files и Program Files (x86). После того как исполняемый файл найден и скопированы все необходимые файлы, инструмент готов к получению токена авторизации.
Получение кода авторизации
На следующем этапе выполнения Umbrij запускает Google Chrome, Microsoft Edge либо оба браузера поочередно в зависимости от параметров, передаваемых через командную строку. Далее браузеру передаются параметры по шаблону ниже:
|
1 |
"\"{1}\" --user-data-dir=\"{0}\" --remote-debugging-port={2} --profile-directory=\"Default\" --headless https://www.google.com/" |
В него подставляются следующие значения:
- {0} — путь к папке \BackupFiles\, в которую были скопированы файлы пользовательского профиля;
- {1} — путь к исполняемому файлу браузера;
- {2} — номер отладочного порта.
Ниже в таблице приведены параметры, которые используются в шаблоне для запуска браузера:
| Параметр | Описание |
| —user-data-dir | Указывает путь к корневой директории, где будут храниться общие данные браузера и профили. |
| —remote-debugging-port | Открывает порт для удаленной отладки браузера, используя протокол DevTools. Обычно используется для тестирования с помощью Selenium. |
| —profile-directory | Указывает имя конкретной папки профиля внутри user-data-dir |
| —headless | Запускает браузер в скрытом режиме, т. е. без графического интерфейса. |
Процесс браузера запускается в скрытом режиме и использует скопированный профиль пользователя. Это значит, что будут использоваться все cookie-файлы пользователя и сайты с сохраненными учетными данными не будут запрашивать прохождение аутентификации. История браузера будет сохраняться уже в новой папке и не будет видна в основном аккаунте пользователя.
Таким образом атакующие получают доступ к сервисам пользователя с пройденной аутентификацией, в частности к аккаунту Google, а также возможность удалить все следы своей активности в браузере.
Далее инструмент подключается к отладочному порту с помощью библиотеки Puppeteer Sharp, .NET-версии библиотеки Puppeteer. Puppeteer — это библиотека, которая предоставляет высокоуровневый API для управления браузером Chrome или Chromium через протокол DevTools. В основном она используется для автоматизации тестирования.
Если подключение к отладочному порту прошло успешно, то инструмент передает в GET-запросе следующий URL браузеру для перехода:
|
1 |
https[:]//accounts[.]google[.]com/o/oauth2/v2/auth/identifier?response_type=code&client_id=279448736670.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar.readonly%20https%3A%2F%2Fwww.google.com%2Fm8%2Ffeeds%2F%20https%3A%2F%2Fwww.google.com%2Fm8%2Ffeeds%2F%20https%3A%2F%2Fmail.google.com%2F%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.insert%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.labels%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fadmin.directory.user%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Ftasks%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fadmin.directory.group.readonly%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fapps.groups.migration%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&flowName=GeneralOAuthFlow |
Параметр в поле client_id принадлежит приложению Google Workspace Migration for Microsoft Outlook (GWMMO). Это инструмент от Google, который позволяет пользователям импортировать электронную почту, календари и контакты из учетных записей Microsoft Exchange или локальных PST-файлов в учетную запись Google Workspace.
В инструменте Umbrij есть возможность изменить значение client_id c 279448736670 на 1095133494869 с помощью параметра -sync. Этот идентификатор принадлежит другому приложению: Google Workspace Sync for Microsoft Outlook (GWSMO), которое позволяет загрузить электронную почту, календари и другую информацию из облачного аккаунта в Microsoft Outlook.
Остальные параметры, которые используются в запросе, отличаются от тех, что используются приложениями. Ниже представлена таблица их сравнения:
| Параметр GET-запроса | URL, используемый инструментом | Исходный URL |
| flowName=GeneralOAuthFlow | Есть | Нет |
| code_challenge (PKCE) | Нет | Есть (method=S256) |
| state | Нет | Есть |
| login_hint | Нет | Есть |
| redirect_uri | http://localhost | http://localhost:61619/callback |
Из приведенного списка видно, что инструмент не использует ряд параметров, которые характерны для оригинальных приложений. Например, в запросе Umbrij опускается параметр code_challenge, который используется для защиты данных при получении кода авторизации. Кроме того, изменяется адрес перенаправления: легитимное приложение указывает определенный порт и путь callback, в то время как инструмент указывает просто localhost.
В запросе кода авторизации указывается набор прав доступа к сервисам Google, которые требуются приложению для работы. Этот список также отличается в запросах от легитимного приложения и инструмента Umbrij. Ниже представлена таблица различий в параметрах запросов:
| Параметр сервиса | URL, используемый инструментом | Исходный URL |
| https://www.google.com/m8/feeds/ | Есть (указан дважды) | Нет |
| https://www.googleapis.com/auth/contacts | Нет | Есть |
| https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly | Нет | Есть |
| https://www.googleapis.com/auth/peopleapi.readonly | Нет | Есть |
После перехода по URL-адресу, который использовал инструмент, открывается страница выбора учетной записи Google.
Поскольку атакующие скопировали папку пользователя и используют его окружение, то среди вариантов будет указана учетная запись текущего пользователя с пройденной авторизацией. Umbrij находит соответствующий элемент в HTML-коде страницы.
Инструмент использует JavaScript для эмуляции клика мышью по найденным элементам, что позволяет перейти на следующий шаг.
На следующем шаге открывается страница со списком запрашиваемых прав.
Как видно на скриншоте, инструмент запрашивает полный доступ к почте, облачному хранилищу и контактам. Как и на предыдущем шаге, с помощью JavaScript Umbrij выполняет нажатие кнопки Allow, что завершает процедуру аутентификации.
Затем браузер перенаправляется на локальный адрес, который был указан в параметре redirect_uri в первоначальном запросе. Инструмент не указывает порт и путь к конкретной странице в redirect_uri, поскольку настоящая цель этого действия — получение параметра code из контекста GET-запроса. В этом параметре находится код авторизации OAuth. Для этого Umbrij выделяет подстроку между параметрами code= и &scope.
Результаты работы
Umbrij, как и большинство других инструментов ToddyCat, подробно логирует свои действия и сохраняет их в файл. Полученный код авторизации также записывается в лог-файл, который выгружает оператор со скомпрометированного хоста.
Ниже представлен пример лог-файла, сгенерированного инструментом модификации a.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
------------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [*] switch to sync mode. [!] port 11111 is available! [*] Impersonate <username> success! [*] browser switch to chrome . Parsing C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Local State ... [*] detected profile: Profile 4 ==> <email>@gmail.com [*] ready auth for <email>@gmail.com. [*] Browser Exe path C:\Program Files\Google\Chrome\Application\chrome.exe. [!] CreateProcessAsUserW... [*] Browser created with pid 3108 [???] <email>@gmail.com [pup] mail : <email>@gmail.com [pup] account choice click ! [pup] Allow click ! [<email>@gmail.com] 4%2F0AcvDMrDtzQaC-TT8<hash>uMhg [*] RevertToSelf succeed! ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
Из лога видно, что выбран режим sync (а значит, используется приложение Google Workspace Sync for Microsoft Outlook) и указан порт отладки 11111. После того как был найден профиль пользователя и скопирована его папка, запускается браузер Google Chrome. После этого производятся клики на необходимые кнопки для подтверждения прав и выводится результат операций — похищенный код авторизации OAuth.
Поскольку все запросы происходят в фоновом режиме браузера, в инструменте предусмотрена возможность создания PDF-файла снимка страницы, на которой остановился процесс подтверждения прав.
Кроме этого, в инструменте есть возможность создать PDF-файл для профиля пользователя в браузерах Google Chrome и Microsoft Edge при обращении к следующим адресам:
- edge://profile-internals
- chrome://profile-internals


Пример содержания создаваемого PDF-файла
Полученный код авторизации обменивается на токен доступа OAuth, при помощи которого злоумышленники по API подключаются к учетной записи Gmail, таким образом компрометируя корпоративную переписку. Ниже представлена полная схема этой атаки.
Детектирование
DLL sideloading
В первую очередь необходимо отслеживать события загрузки библиотек известными приложениями, уязвимыми к DLL sideloading, которые использует инструмент: Bitdefender ConnectAgent, Visual Studio и Google Desktop Search.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
title: Possible Dll Hijacking Of Microsoft VisualStudio QualityTools dll id: 246f1409-2993-46f6-9b77-e447a327df5d status: experimental description: Detects possible DLL hijacking of Microsoft.VisualStudio.QualityTools.VideoRecorderEngine.dll by looking for suspicious image loads, loading this DLL from unexpected locations author: kaspersky date: 2025-08-11 tags: - attack.defense-evasion - attack.t1574.001 logsource: product: windows category: image_load detection: selection: ImageLoaded|endswith: 'Microsoft.VisualStudio.QualityTools.VideoRecorderEngine.dll' filter: ImageLoaded|contains: '\IDE\Extensions\TestPlatform\Extensions\' condition: selection falsepositives: Legitimate activity level: high |
Запуск браузера
Запуск браузера с указанием отладочного порта — это довольно редкое событие на хостах обычных пользователей, на которых не производится разработка и тестирование веб-приложений. Поэтому отслеживание таких событий может служить хорошим индикатором данной атаки.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
title: Launching Chrome With Debug Parameters id: f072803f-3cf4-4537-82e6-e8b3a201d99f status: stable description: Detects the execution of Chromium based browsers launched with incognito mode and remote debugging enabled author: kaspersky date: 2025-12-11 tags: - attack.lateral_movement - attack.defense_evasion - attack.t1550.001 logsource: category: process_creation product: windows detection: selection: CommandLine|contains|all: - '--remote-debugging-port' - '--headless' condition: selection falsepositives: Opening a browser as part of web application testing. Legitimate activity level: high |
Отзыв стороннего доступа
Для проверки выданных приложениям кодов авторизации необходимо открыть настройки учетной записи Google, раздел Third-party apps & services, либо перейти по следующему адресу:
|
1 |
https://myaccount.google.com/connections |
На странице откроется список приложений и сервисов, имеющих доступ к текущей учетной записи.
Если в списке есть приложения Google Workspace Migration for Microsoft Outlook и Google Workspace Sync for Microsoft Outlook, но они не использовались, доступ к ним необходимо закрыть. Это позволит отозвать права у всех потенциально скомпрометированных токенов.
Уменьшение рисков
Запуск браузера с отладочным портом сам по себе является подозрительным действием для пользователей, которые не занимаются разработкой веб-приложений. Для таких пользователей можно отключить использование инструментов разработчика в браузерах на основе Chromium.
Это можно сделать с помощью политики DeveloperToolsAvailability. Для этого в реестре Windows нужно установить значение 0x00000002 для следующего ключа и перезапустить браузер:
|
1 |
HKLM\Software\Policies\Google\Chrome\DeveloperToolsAvailability |
Проверить, что политика успешно применяется, можно на странице политик браузера по адресу chrome://policy:
Здесь важно отметить, что отключение инструментов разработчика может предотвратить автоматизированное получение кода авторизации, однако это не поможет, если злоумышленники будут использовать непосредственно графический интерфейс браузера (хотя этот способ менее вероятен в связи с рядом неудобств для атакующих). В таком случае для уменьшения рисков следует выходить из учетной записи Google сразу после завершения работы.
Выводы
APT ToddyCat продолжает искать способы компрометации корпоративной переписки. Мы давно наблюдаем за этой группой и отмечаем обновления в ее арсенале в попытках обойти защитные меры, при этом техники злоумышленников остаются неизменными. Так, группа и раньше использовала DLL sideloading для скрытой загрузки вредоносных инструментов и запланированные задачи для их запуска. Однако новый инструмент Umbrij автоматизирует попытки атакующих получить доступ к электронной почте организаций. Во-первых, это способствует увеличению масштаба и частоты атак, а во-вторых, это говорит о высокой мотивации и технических навыках ToddyCat.
Для защиты от подобных угроз корпоративным пользователям необходимо отслеживать подозрительные события загрузки от легитимных файлов, запуск браузера в режиме разработчика, а также регулярно проводить аудит сторонних приложений и сервисов, имеющих доступ к учетным записям Google. Кроме того, для своевременного выявления подобной вредоносной активности на хосте критически важно использовать надежное комплексное решение класса Endpoint Protection, например Kaspersky Endpoint Security для бизнеса.
Индикаторы компрометации
Дополнительная информация об этой угрозе доступна клиентам сервиса аналитических отчетов Kaspersky Threat Intelligence Reporting. Для получения более подробной информации свяжитесь с нами по адресу intelreports@kaspersky.com.
Вредоносные файлы
1AB58838E5790EFB22F2D35AB98C0B7D Umbrij ver. a
A7D7D6C4C3F227F7117261C63B9E23A9 Umbrij ver. a
3D3A621F852C42D97FD7260681E42508 Umbrij ver. a
3432DD9AC0DF80EF86EB80BD080F839B Umbrij ver. a
22AAEB4946BA6D2F2E27FEB7DBB295DE Umbrij ver. b
F61FBFB7AA1CD5DC8F70B055B51563E2 Umbrij ver. b
F169D6D172DFB775895A5E2B1540C854 Umbrij ver. c
Легитимные файлы, используемые для DLL sideloading
| MD5 | Имя файла | Имя загружаемой DLL |
| 9F5F2F0FB0A7F5AA9F16B9A7B6DAD89F | GoogleDesktop.exe | GoogleServices.DLL |
| 28CB7B261F4EB97E8A4B3B0D32F8DEF1 | BDSubWiz.exe | log.dll |
| BAE82A15D1DBFB024617B9B56A8E5F66 | VSTestVideoRecorder.exe | Microsoft.VisualStudio.QualityTools.VideoRecorderEngine.dll |
Пути файлов для DLL sideloading
| Путь к файлу, загружающему DLL | Путь к загружаемой DLL |
| C:\Users\<user>\AppData\Local\Temp\BDS.exe | C:\Users\<user>\AppData\Local\Temp\log.dll |
| C:\Users\Public\BDS.exe | C:\Users\Public\log.dll |
| c:\users\public\bdsubwiz.exe | C:\Users\Public\log.dll |
| C:\Windows\Temp\BDS.exe | C:\Windows\Temp\log.dll |
| C:\windows\vss\bds.exe | C:\Windows\Vss\log.dll |
| c:\windows\temp\GoogleDesktop.exe | c:\windows\temp\GoogleServices.DLL |
| c:\windows\temp\VSTestVideoRecorder.exe | c:\windows\temp\Microsoft.VisualStudio.QualityTools.VideoRecorderEngine.dll |




















ToddyCat — ваш скрытый почтовый ассистент. Часть 2