Анализ бэкдора Rising Sun от APT Lazarus в системе tLab
В декабре 2018 года, McAfee подготовила отчет о большой вредоносной кампании, нацеленной на финансовый, энергетический и другие сектора экономики, под названием "Операция Sharpshooter". Ответственными за многочисленные атаки является северокорейская APT группа Lazarus. Операция Sharpshooter началась 25 октября 2018 года с распространения вредоносных документов Microsoft Word, через сервис Dropbox. В документах содержался вредоносный макрос, который внедрял загрузчик в память процесса Microsoft Word. Далее, загрузчик получал с серверов злоумышленников вредоносный файл, с основным функционалом. McAfee дала ему название Rising Sun.
В отличие от уже известных данных в отчете McAfee, мы постараемся показать работу Rising Sun в действии (динамически) и расскажем о том, как можно анализировать динамически вредоносные файлы, в отсутствии рабочих C&C серверов. Исследуемый образец имеет следующие хэш-суммы:
MD5: 2e17b048c7e317da9024a86d9439c74b
SHA1: 31e79093d452426247a56ca0eff860b0ecc86009
SHA256: 37b04dcdcfdcaa885df0f392524db7ae7b73806ad8a8e76fbc6a2df4db064e71
SHA512:
7ee51e53242e59f49d32d6344cbb2c9f2976c7787d00b63d2470c83ff3053b83c86b37b2870127934e60001ed39cb99f486e07a900d34e5a6ba8d240e233494b
Создание импланта для Rising Sun
Rising Sun получает зашифрованные, с помощью RC4, команды с серверов злоумышленников, выполняет и отправляет результат. В зависимости от команды, выполняется то или иное вредоносное действие (чтение файла, запуск процесса, сбор информации и т.д.). Команды представляют собой строго заданные константы. Основная функция, обрабатывающая команды с сервера:
Так как сервера уже недоступны, для проверки функционала, мы разработали имплант, для исследуемого образца, для тестирования в песочнице tLab. Имплант позволяет образцу получать команды из командной строки, вместо C&C серверов, и выполнять оригинальные вредоносные действия. Для начала, была модифицирована входная точка, для осуществления перехода на код импланта:
Имплант получает командную строку и по первому аргументу определяет какую функцию необходимо вызвать:
Пример командной строки:
Анализ Rising Sun в системе tLab
Исследуемый образец предназначен для 64-битных систем, поэтому в системе tLab была выбрана соответствующая конфигурация:
Система tLab успешно идентифицировала Rising Sun как вредоносное ПО, присвоив высокий уровень угрозы по результатам статического и динамического анализов. Хэш-суммы отличаются, так как использовался модифицированный нами образец.
Rising Sun обменивается данными с сервером в зашифрованном виде. Способ шифрования можно определить по строкам во вредоносном файле:
Rising Sun: Выполнение команд в командной строке
Теперь перейдем к демонстрации функционала. Начнем с функции запуска команды в командной строке, полученной с сервера:
Константа, для команды - 0x6D0017005500F7
Функция sub_13EA2B9A0, создается временный файл, для записи результата выполнения команды:
Далее, Rising Sun генерирует командную строку вида:
Для демонстрации в данном случае мы передали команду echo %USERNAME%, которая выводит имя текущего пользователя
Происходит выполнение командной строки, вызовом CreateProcess():
В результате временный файл содержит вывод выполненной команды (который сразу же отправляется на сервер злоумышленников):
Рассмотрим более реальный пример: получение команды с сервера по установке Rising Sun в виде сервиса. tLab определил факт закрепления ОС:
Среди списка созданных процессов можно увидеть sc.exe:
Можно посмотреть все действия, связанные с конкретным файлом:
В "Цепочке событий" наглядно можно увидеть созданный сервис "Rising Sun":
Rising Sun: Запуск исполняемого файла
Константа для этой команды - 0x8300DA00C50092:
Запуск происходит вызовом CreateProcess(). Пример запуска:
В системе tLab, Rising Sun был запущен с командой запуска reg.exe и добавлением себя в автозагрузку:
0x8300DA00C50092 reg add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v test_reg /t
REG_SZ /d c:\Users\Администратор\Desktop\RaisingSun_patched.bin
tLab определил добавление в автозагрузку:
Rising Sun: Чтение файлов
Константа для команды - 0x98009C0034002D
Rising Sun был запущен с командой чтения пользовательского файла:
0x98009C0034002D C:\\Users\\Администратор\\Desktop\\1_Ico.png
tLab определил подозрительное открытие файла:
tLab может показать список действий с конкретным файлом:
Rising Sun: Удаление файлов
Константа для команды - 0x78005D008B00C6
Rising Sun был запущен с командой удаления пользовательского файла:
0x78005D008B00C6 C:\Users\Администратор\Desktop\Report_OPENTEXT_1.odt
Можно выбрать конкретный файл и просмотреть действия с ним:
Заключение
Был наглядно показан способ динамического анализа образца Rising Sun в системе tLab, с помощью разработанного нами импланта, позволяющего тестировать вредоносное ПО, в отсутствии активных C&C серверов.