Погорел на продажах

Как я говорил в своем прошлом посте, количество вредоносного ПО для платформы Android неуклонно растёт. Причин роста большое количество, в том числе та, что стать участником партнёрской программы и приступить к распространению вредоносного ПО может каждый и таких людей становится все больше. А те, кто в черном бизнесе уже давно, наращивают свои мощности и выдают всё больше вредоносного ПО. Пока речь идёт о количественной характеристике, будем именовать,нарекать это «ростом вширь». Рост интенсивный мы считаем качественным – в данном случае речь идёт о совершенствовании творимого вирусописателями ПО. Как правило, это уникальные образцы зловредов, написанные одним человеком или группой лиц. Такие зловреды совершенно не похожи на общие тренды.

Нестандартный подход к созданию вредоносного кода и обходу детектирования антивирусной программой виден в образце под именем Backdoor.AndroidOS.Cawitt.a.

Образец попал к нам как часть спам-рассылки, и сразу привлёк к себе внимание. Необычная обфускация кода, резидентный запуск при старте системы – это неполный список его «фишек» (рис. 1).


РИС. 1 ОБФУСКАЦИЯ КОДА



Как видно, каждый класс и каждый метод названы мужскими именами и почти все функции имеют одинаковые имена (что в целом характерно для JAVA-приложений, но во вредоносном ПО сильно усложняет анализ). Очевидно, что целью является обойти антивирусную защиту и увеличить время анализа образца (рис.2).

Очень интересен механизм, по которому Backdoor.AndroidOS.Cawitt.a получает команды от центра управления.

Бот использует социальную сеть Twitter. В своем теле он хранит наборы строк, из которых он побуквенно, замысловатым алгоритмом формирует псевдонимы. Получившиеся после расшифровки имена Twitter-профилей бот складывает со строкой «http://mobile.twitter.com/» и делает http-запрос к получившемуся URL (рис. 3)


Рис. 2 Обращение к twitter.com


Рис. 3 Исходные псевдонимы и тэги, в них зашифрованы реальные профили Твиттера

Нам удалось расшифровать псевдонимы, и мы получили три профиля в Твиттере (имена скрыты):
******10 ******72 ****655

Если зайти на получившийся URL, то можно увидеть следующее:


Рис 4. Скриншот Твиттера с доменом управляющего центра

Зачем же вирусописателю обращаться из бота к Твиттеру? В твиттах хранятся домены контрольных центров бота. И их очень легко менять на лету. На основе полученных из Твиттера доменов бот формирует новый URL. Для того чтобы получить команду хозяина, бот делает POST-запрос к домену, полученному из Твиттера, складывая доменное имя со строкой «/carbontetraiodide».


Рис 5 Место, куда вставляется домен, полученный из Твиттера

POST-запросы бот тоже строит хитрым способом: он собирает последовательности пар «имя параметра – значение» Вариант 1: («task_title», task_title), («task_done», flag), («data», string) Вариант 2: («botid», string), («device_id», string), («imei», string ) , («phone_number», string ) , («modules», Collection )

В ответ на запрос бот получает команду и отправляет её в очередь команд. Затем обратывает команду. Таким образом бот в зависимости от запроса получает команды или отчитывается о проделанной работе. В текущем виде единственной зловредной функцией бота является отправка SMS без ведома пользователя. Но не стоит забывать, что вместе с запросом к центру управления бот отсылает данные пользователя. Нам так и не удалось получить хотябы одну команду от центра управления и нам не знаменито, на какие номера и префиксы бот может отправлять SMS. Учитывая структуру запросов (те данные, что отсылает бот), можно смело делать вывод о том, что данный зловред может удачно работать в любой стране мира.


Рис 6. Функция отправки SMS

В итоге мы имеем необычный способ засорения кода, который непросто анализировать. Настораживает и отсутствие модулей (не считая единственного модуля отправки SMS), данные о которых бот отсылает в центр управления. Этими модулями может быть всё что угодно.



Пинг не поддерживается.

Оставить комментарий