Бэкдор PowerShower, используемый группой Cloud Atlas, был описан в отчете исследователей из Palo Alto. Cкрипт PowerShell, обнаруженный нами в ходе расследования, является модификацией PowerShower. Рассматриваемый скрипт работает в бесконечном цикле, каждая итерация начинается с GET-запроса к управляющему серверу.
Если ответ сервера начинается с символа P, то содержимое ответа записывается в файл Firefox.zip в папке AppData\Local\Temp текущего пользователя. В противном случае содержимое ответа сервера, представляющее собой XML-разметку, записывается в файл со случайным названием.
Далее скрипт считывает значение атрибута annotation элемента xs XML-файла, начиная с последнего символа. Каждый символ получившейся строки сравнивается с символами строки-ключа: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/. Если символы совпадают, индекс соответствующего символа строки-ключа переводится в двоичную систему с добавлением незначащих нулей слева до 6 символов. Получившийся результат добавляется к результирующей строке. Таким образом, символу A будет соответствовать строка 000000, символу B — 000001, и так далее.
Далее результирующая строка, состоящая из нулей и единиц, делится на блоки по 8 символов. Если блок состоит из восьми нулей, то он пропускается. В противном случае строка двоичных символов конвертируется сначала в целочисленное значение, а затем в соответствующий символ ASCII, который добавляется к итоговой строке.
После обработки всех блоков на выходе получается строка, которая впоследствии исполняется как PowerShell-код. После выполнения команды скрипт должен удалить XML-файл с полезной нагрузкой, однако нам повезло обнаружить несколько таких файлов в карантине антивируса.
Ниже представлен пример содержимого одного из таких файлов: