В этой статье мы описываем платформу AsyncRAT C2 (command & control), которая позволяет злоумышленникам удаленно отслеживать и контролировать другие компьютеры по безопасному зашифрованному каналу. Мы предоставляем обзор этой угрозы, технический анализ и метод обнаружения вредоносного ПО с помощью Qualys Multi-Vector EDR.
Что такое AsyncRAT C2 Framework?
AsyncRAT C2 Framework — это троян удаленного доступа (RAT), предназначенный для удаленного мониторинга и управления другими компьютерами через безопасное зашифрованное соединение. Функции включают в себя кейлоггинг, запись аудио/видео, кражу информации, управление удаленным рабочим столом, восстановление пароля, запуск удаленной оболочки, веб-камеру, внедрение полезной нагрузки и другие функции.
AsyncRAT использовался различными кампаниями вредоносных программ и злоумышленниками в недавних эксплойтах. Например, в рамках кампании Operation Layover, нацеленной на авиационную отрасль, TA2541 использовал зараженные документы Word на темы, связанные с авиацией, транспортом и путешествиями, чтобы обеспечить загрузку полезной нагрузки AsyncRAT. Совсем недавно кампания с использованием методов социальной инженерии была нацелена на покупателей пропусков в Таиланде. Наконец, вспышка Фоллина в Австралии доставила AsyncRAT в качестве вредоносной нагрузки.
AsyncRAT можно обнаружить и удалить с помощью Qualys Multi-Vector EDR, службы Qualys Cloud Platform.
Технический анализ AsyncRAT C2 Framework
Основная функция AsyncRAT включает модули, настройки и поток выполнения кода. Функция задержки определяет продолжительность сна перед выполнением, которую можно изменить в каждом варианте (например, 3 секунды, 5 секунд, 10 секунд и т. д.) при создании полезной нагрузки (см. рис. 2).
Рисунок 2: Основные функции AsyncRAT
Функция инициализации настроек
Функция Initialize Settings включает все жестко запрограммированные конфигурации и настройки, которые предопределены при создании полезной нагрузки (рис. 3).
Рисунок 3: Инициализация настроек конфигурации
На рис. 4 показана функция «Инициализировать настройки», которая также позволяет расшифровывать все настройки конфигурации с помощью алгоритма AES256.
Рисунок 4: Расшифровка параметров конфигурации
Параметры конфигурации
Ports | 8080 |
Hosts | malware[.] com |
Version | 1.5 |
Install | False |
MTX (Mutex) | AsyncMutex_6SI8OkPnk |
Pastebin | null |
Anti | False |
BDOS | False |
Проверить хэш-функцию
Функция Verify Hash показывает, действительны ли конфигурации или нет, используя сертификат сервера и подпись сервера (рис. 5).
Рис. 5. Проверка хеш-функции показывает достоверность конфигураций
Клиентский алгоритм
Алгоритм клиента представляет собой процедуру расшифровки всех жестко заданных конфигураций и настроек. Rfc2898DeriveBytes API использует алгоритм PBKDF2. На рис. 6 показано выполнение этого алгоритма.
Рисунок 6: Алгоритм клиента для расшифровки жестко заданных конфигураций и настроек
После расшифровки всех параметров конфигурации AsyncRAT создает экземпляр мьютекса, который по умолчанию создает значение мьютекса «AsyncMutex_6SI8OkPnk». Это значение можно изменить при создании новых полезных нагрузок (рис. 7).
Рисунок 7: Процедура расшифровки
Подключение клиента
Используя API «WebClient.DownloadString», AsyncRAT может загружать дополнительные ресурсы и другую полезную нагрузку из pastebin или других доменов. На рис. 8 показан код, используемый для подключения к домену через указанный порт.
Рисунок 8: Включение соединения C2
Помощь клиенту
Антианализ
Помощник клиента AsyncRAT включает инструмент антианализа с несколькими подфункциями, такими как:
- Определить производителя
- Обнаружить песочницу
- IsSmallDisk
- IsXP
- Антивирусная проверка
Рисунок 9: Инструмент антианализа включен в AsyncRAT
Обнаружение отладчика
Client Helper предоставляет инструмент Detect Debugger, который использует API «CheckRemoteDebuggerPresent» для проверки того, отлаживается ли процесс (рис. 10).
Рисунок 10: Инструмент обнаружения отладчика в Client Helper
Определение производителя
Инструмент Client Helper Detect Manufacturer включает методы защиты от виртуальных машин (VM), используя запросы WMI и проверяя ключевые слова, такие как «Microsoft Corporation», «VIRTUAL», «VMware» или «VirtualBox», для обнаружения сред VM.
Например, на рис. 11 показан запрос: «Выбрать * из Win32 ComputerSystem»:
Рисунок 11: Обнаружение запроса виртуальной машины в Client Helper
Обнаружение песочницы
Функция обнаружения песочницы в помощнике клиента AsyncRAT использует API «GetModuleHandle» для загрузки модуля «SbieDll.dll» для обнаружения песочницы (рис. 12).
Рисунок 12: Функция обнаружения песочницы в Client Helper
IsSmallDisk
Другой вспомогательный инструмент клиента под названием IsSmallDisk использует API «Path.GetPathRoot» для проверки размера диска, поскольку большинство виртуальных машин имеют меньший размер диска, чем используемый в физических дисках. На рис. 13 показано, как активируется IsSmallDisk.
Рисунок 13: Определение размера диска
IsXP
Другой инструмент, IsXP, проверяет, является ли используемая операционная система Windows XP или нет. На рис. 14 показано, как активируется этот инструмент.
Рисунок 14: Обнаружение Windows XP
Антивирусная проверка
Инструмент Antivirus Check в Client Helper использует проверки WMI для того, какой антивирусный продукт установлен в системе. На рис. 15 показано, как это делается с помощью следующей команды: «\\root\SecurityCenter2», «Select * AntiVirusProduct».
Рисунок 15: Антивирусная проверка
После того, как AsyncRAT выполнит все проверки и соберет нужную информацию, он отправляет данные на свой C2-сервер (рис. 16).
Рисунок 16: Эксфильтрация данных на сервер C2
Установка клиента
Функция установки клиента AsyncRAT постоянно проверяет наличие у процесса прав администратора. Это происходит путем создания запланированной проверки сохраняемости каждый раз, когда пользователь входит в систему. Например:
Command: “/c schtasks /create /f /sc onlogon /rl highest /tn”
Если процесс обнаруживает, что прав администратора нет, запись в реестре запуска создается в обратном порядке: «Software\\Microsoft\\Windows\\CurrentVersion\\Run»; затем он копирует себя в папку «%temp%» с другим именем и запускается из временной папки с помощью bat-скрипта (рис. 17).
Рисунок 17: Включение проверки сохранения прав администратора
На рис. 18 показано, как скрипт bat помещается в папку «%temp%». Самоудаляется после выполнения.
Рисунок 18: Bat-скрипт
Затем средство установки клиента создает запись реестра запуска с именем двоичного файла и полным путем к нему (рис. 19):
Рис. 19. Запуск ввода ключа с помощью инструмента установки клиента
Keylogger
Функция кейлоггера AsyncRAT использует код проекта с открытым исходным кодом LimeLogger, который использует такие API, как «GetKeyState» и «GetKeyboardLayout», для захвата нажатий клавиш на компьютере-жертве (рис. 20).
Рисунок 20: LimeLogger включает функцию кейлоггера
Кейлоггер делает снимок нажатий клавиш на компьютере-жертве, который можно сохранить в текстовый файл. На рис. 21 показано несколько примеров.
Рисунок 21: Захваченные нажатия клавиш на компьютере-жертве
Собственные методы API
- RtlSetProcessIsCritical: используется для предотвращения завершения процесса вредоносного ПО; если он будет завершен, система выйдет из строя с ошибкой синего экрана
- Получить активное окно: он использует API «GetForegroundWindow» для определения окна, в котором в данный момент работает пользователь.
- Предотвращение перехода в спящий режим: использование API «SetThreadExecutionState» предотвращает переход системы в спящий режим.
Серверные функции
Интерфейс сервера AsyncRAT предоставляет вкладку клиента с подробной информацией о машине-жертве. На рис. 22 показан этот дисплей.
- IP-адрес машины-жертвы
- HWID: аппаратный идентификатор компьютера-жертвы.
- Имя пользователя
- Операционная система
- Привилегии: пользователь/админ
- Программное обеспечение AV, установленное в системе
- Активное окно: окно, которое пользователь использует в данный момент.
Рис. 22. Информация о машине-жертве
Интерфейс сервера AsyncRAT также предоставляет вкладку журналов, которая показывает список всех выполненных команд и действий, выполненных на машине-жертве (рис. 23).
Рисунок 23: Журналы выполненных команд
Как только соединение установлено, AsyncRAT предоставляет возможность сбрасывать дополнительные файлы полезной нагрузки в память или на диск компьютера-жертвы (рис. 24).
- Память: использует рефлексивную загрузку кода и метод RunPE для загрузки файла в память.
- Диск: Просто поместите существующий файл в определенную папку; если какой-либо файл сбрасывается на компьютер жертвы или если с сервера отправляются какие-либо другие команды, эти действия фиксируются на вкладке «Задачи».
Рис. 24. Перетащите файлы в память/диск
Функции мониторинга
-
- Удаленный рабочий стол
- Keylogger
- Файловый менеджер
- Менеджер процессов
- ВЭБ-камер
Разные функции и плагины
-
- DOS attack
- NET-исполнение кода
- Bot-killer
- Удаленная оболочка
- USB-распространение
- Miner
- Поиск файлов
- Чат
- Send Message Box
- Посетите вебсайт
- Получить права администратора
- Пустой экран
- Отключть защитник
- Установка обоев
Обнаружение AsyncRAT с помощью Qualys Multi-Vector EDR
Qualys Multi-Vector Endpoint Detection and Response (EDR) — это служба динамического обнаружения и реагирования на основе облачной платформы Qualys. Qualys Multi-Vector EDR обнаруживает вредоносное ПО, такое как AsyncRAT C2 Framework, путем объединения нескольких векторов контекста для выявления его внедрения в конечную точку сети. Qualys Cloud Platform обеспечивает управление активами, обнаружение уязвимостей, соответствие политикам, управление исправлениями и мониторинг целостности файлов — все это предоставляется с помощью одного агента и облачной доставки для снижения совокупной стоимости владения.
Qualys Multi-Vector EDR предоставляет информацию в режиме реального времени, когда злоумышленник пытается нарушить средства контроля кибербезопасности организации. Например, на рис. 25 показано дерево процессов, показывающее, как AsyncRAT создает свою копию в папке «%temp%».
Рисунок 25: Дерево процессов Qualys EDR для атаки AsyncRAT
На рис. 26 показаны аргументы командной строки cmd.exe, выполняющего сценарий bat, помещенный в папку «%temp%».
Рисунок 26: Аргументы командной строки cmd.exe
На рисунках 27 и 28 показаны другие выводы Qualys Multi-Vector EDR, поскольку он обнаруживает AsyncRAT с оценкой угрозы 9/10.
Рис. 27. Создание процесса с помощью Qualys Multi-Vector EDR
Рис. 28. Обнаружение записи реестра запуска с помощью Qualys Multi-Vector EDR
Заключение
Для организаций безопасности, которые приняли платформу MITRE ATT&CK®, Qualys Multi-Vector EDR напрямую сопоставляется со своей базой знаний о тактике и методах злоумышленников, основанных на реальных наблюдениях. База знаний MITRE ATT&CK используется в качестве основы для разработки конкретных моделей угроз и методологий в частном секторе, правительстве и сообществе поставщиков кибербезопасности.