Исследование особенностей работы троянца в системе виртуальной машины
Секция: Технические науки
XXIII Студенческая международная научно-практическая конференция «Технические и математические науки. Студенческий научный форум»
Исследование особенностей работы троянца в системе виртуальной машины
Аннотация. В данной работе собрана подробная информация о работе троянцев на виртуальных машинах. Их особенности, способы проникновения, работы в режиме инкогнито и как с этим бороться
Ключевые слова: троянец, RAT троянец, «Gravity Rat», виртуальная машина, уязвимости виртуальной машины.
Сегодня немало пользователей используют виртуальные машины для запуска программ из непроверенных источников, установки и тестирования другой операционной системы и иных задач, способных как-то влиять на целостность основной ОС. При этом пользователи считают, что ничем не рискуют, помимо производительности своего компьютера. Но, к сожалению, это не так. Существуют специальные вредоносные программы (троянцы) способные определить, что находятся на виртуальной машине и найти способ перебраться на хост-машину иным вредоносным программам . В качестве предмета изучения возьмём известный троянец «Gravity RАT».
(Xacker [Электронный ресурс]/Властелин виртуальных машин: практические советы по развертыванию виртуальной инфраструктуры;https://xakep.ru/2008/12/19/46535/)
Троянец типа «RAT» (Remote Access Trojan) – программа удалённого доступа позволяющая хакеру получить полный контроль над вашим компьютером, собирать конфиденциальные данные, такие как номер банковской карт, логины и пароли, различные файлы и передавать их злоумышленнику инкогнито, скрываясь под видом легитимного файла. «Gravity RAT» - это продвинутый троянская программа удалённого доступа, впервые замеченная в 2017 году при атаках на дата-центры Индийских финансовых компаний. Одна из возможностей данного троянца - определение, что он находится на виртуальной машине. Это позволяет ему оставаться пассивным для проверок, а так же начать поиск способов, позволяющих иным вирусам и червям перейти на хост-систему. (Talos Threat Source ([Электронный ресурс]/Веб-сайт cisco по безопасности; https://blog.talosintelligence.com/2018/04/gravityrat-two-year-evolution-of-apt.html)
Злоумышленник анализирует предпочтения своих жертв, и отправляет им на почту docx файл, содержащий некую полезную информацию для жертвы. Например, для финансистов, файл может называться «Прогнозируемый рост акций n-ой компании». Формат docx является архивом, что позволяет включить в него исполняемый файл (троянец Gravity RAT). Сам троянец зашифрован в виде макроса. Документ запрашивает разрешение у жертвы включить макросы, чтоб доказать, что пользователь не является роботом. Включив макросы, троянец начинает выполняться.
Макрос выполняет 3 функции:
- Первостепенно копирует запущенный документ во временной каталог и переименовывает его в ZIP-архив.
- Распаковывает временный файл .zip и извлекает из него сохраненный файл .exe
- Создает запланированное задание системе «wordtest», для выполнения данного файла каждый день
Данный макрос обеспечивает легитимное присутствие трояна в системе, а так же гарантирует, что файл будет всегда выполняться периодически, тем самым снижая риски быть обнаруженным.
Далее давайте рассмотрим, что делает троянец в системе. Для достижения своих целей, RAT должен определить, где он находится, на хост-системе или же на виртуальной машине. Первое поколение Gravity RAT (G1) для этого использовало WMI-запрос, для получения информации о текущей температуре оборудования машины. Во многих виртуальных машинах эта функция недоступна. В качестве ответа он получает «Description – not supported».
Пример кода на языке C++:
using (ManagementObjectCollection.ManagementObjectEnumerator = new ManagementObjectSearcher(“root\\WMI”, “select * from MSAcpi_ThermalZoneTemperature”).Get()GetEnumetor())
Анализируя ответ, троянец понимал, что находится на виртуальной машине. Нельзя игнорировать тот факт, что данная проверка не является абсолютно надёжной, так как некоторые хосты в физических системах не поддерживают данный запрос (Lenovo, Dell).
Стоит также отметить, что основной задачей первой версии являлся сбор информация о системе и служебных документов :
- MAC-адрес, имя компьютера, имя пользователя
- IP-адрес
- Кража файлов с разрешениями (.docx, .doc, .pptx, .ppt, .xlsx, .xls, .rtf и .pdf)
- Тома, сопоставленные в системе
В дальнейшем данные передавались на домен, указанный в коде троянца.
В следующей версии Gravity RAT (G2) архитектура вируса была модифицирована. Основной код предназначался для загрузки и выполнения двух дополнительных файлов .NET, хранящихся в ресурсах троянца: доступная легитимная библиотека с открытым исходным кодом, являющаяся оболочкой NET для планировщика задач Windows
Вторая версия Gravity RAT
([Электронный ресурс]/Веб-сайт cisco по безопасности; https://blog.talosintelligence.com/2018/04/gravityrat-two-year-evolution-of-apt.html)
Вторая версия троянца (G2), обладала схожими возможностями, что и первая, за исключение дополнительной функции, дающей возможность записать информацию о процессоре через запрос WMI: идентификатор процессора, имя, производитель и тактовая частота. Данная информация непосредственно помогает троянцу избежать обнаружения в виртуальной машине. Включение оболочки NET привело к новым полезным нагрузкам.
В третьей версии (G3) к вирусу была добавлена языковая поддержка в библиотеку с немецким, итальянским, французским, испанским и китайским языком.
Последняя, четвёртая версия Gravity RAT (G4), является самой продвинутой. Она содержит те же функции, что и раньше, но к ним прибавляются следующие:
- Отправляет список всех запущенных процессов
- Перечисляет доступные сервисы в системе.
- Проверяет, является ли система виртуальной машиной, порядка семью методами
- Собирает информацию об учётной записи (тип учетной записи, описание, имя домена, полное имя, SID и статус)
- Если в системе подключён USB-ключ, троянец крадёт файл образ на основе списка расширений.
- Собирает открытые порты на хосте жертвы
- Поддерживает шифрование файлов
Рассмотрим подробнее новые методы обнаружения загрузки троянца на виртуальной машине^
- Проводится проверка раздела реестра и рассматривает любые дополнительные инструменты, используемые гипервизором
- Используется запрос WMI к Bios. В случае ответа «VMware», «XEN»,« Virtual», «Xen» или «AM I» система считается виртуальной
- Проводится идентификатор процессора системы
- Запрос «Win32_Computer» в WMI. Ожидается ответ "VIRTUAL", "VMWARE" или "VirtualBox"
- Проверка на количество ядер процессора
- Анализ MAC – адреса системы. В случае, если он начинается с известного шестнадцатеричного числа, система идентифицируется как виртуальная машина
На данный момент времени чаще всего используются динамические виртуальные машины (VMware, VirtualBox, Hyper-V), а значит эмуляция данных машин не полная. Данный факт позволяет проводить между двумя системами сетевой мост. То есть создается некая подсеть VLAN, обеспечивающая возможность обмена данными. Это позволяет создавать общие папки между системами. Троянец, изучая систему виртуальной машины, может обнаружить наличие этого моста в виде двух узлов, передать информацию об этом злоумышленнику или автоматически запустить передачу вредоносного ПО. Так же троянец способен заражать внешние физические носители временно подключаемые к машине. (ITBand [Электронный ресурс]/Hyper-V Security или безопасность Hyper-V ; Электронный журнал, 2009. - Режим доступа: http://itband.ru/2009/09/hyper-v-security/)
Уязвимости виртуальных машин. Как хакеры выходят за приделы виртуальной среды Режим доступа: https://book.cyberyozh.com/ru/uyazvimosti-virtualnyih-mashin-kak-hakeryi-vyihodyat-za-predelyi-virtualnoj-sredyi/
Рекомендации:
Для борьбы с троянцем Gravity RAT на виртуальных необходимо придерживаться нескольких правил:
- Не разрешать использование макросов на документах, в происхождении которых мы не уверены
- По возможности отключить сетевые функции виртуальной машины
- Использование программы Advanced Malware Protection от компании Cisco, предотвращающей проникновение сложных вредоносных программ
- Использование различных систем Email Security, блокирующих вредоносные электронные письма
- Использование безопасного интернет-шлюза, блокирующего доступ к вредоносным доменам
- Регулярно обновлять антивирусные программы
В данной рассмотрели принцип проникновения троянца Gravity RAT на системы виртуальных машин, изучили эволюцию троянца и возможные уязвимости виртуальных сред перед вредоносными программами. соблюдая правила безопасности, и следуя шагам, о которых мы рассказали в данной статье можно снизить риск заражения вирусом Gravity RAT.Знания, полученные из данной статьи помогут вам обезопасить работу с виртуальными машинами и предотвратить их заражение
Следуя нашим рекомендациям можно снизить риск заражения вирусом Gravity RAT. Знания, полученные из данной статьи помогут вам обезопасить работу с виртуальными машинами и предотвратить их заражение