Форум   Статьи   Новости   Файлы   Bugtraq   Сниффер   Друзья   О Клубе
Вернуться   HPC / Кодинг / Другие Языки / Java
   
  Страница 1
  , 10:16   #1
1nt
Постоянный
 
Аватар для 1nt
 
Регистрация: 19.11.2010
Сообщений: 733

Репутация: 141 / 2
По умолчанию Исследование java-малвари на примере sms-sendrer'a

Введение
Не думал, что в наше время можно еще встретить вредоносные мидлеты на java. Но на днях мне представилась возможность исследовать один из образцов.

Подготовка

В первую очередь необходим образ виртуальной машины. Как это делается рассказывать не буду, т.к. у каждого кодера/исследователя всегда имеется свежая копия. А склонировать ВМ всегда можно. Далее мы знаем, что имеется некий jar-файл и протокол HTTP =) Естественно, на ВМ имеется DJ Java Decompiler и Wireshark. Все понимают для чего применить каждую из программ. Выбираем браузер на свой вкус и цвет. Отключаем все имеющиеся плагины. На этом этап подготовки закончился. Необходимое ПО имеется, все остальное имеет смысл лишь для обеспечения конфорта.

Анализ трафика

Запускам wireshark, ставим фильтр на htpp протокол. Переходим по ссылке. По логам сразу побежали следующие пакеты:

В логах ясно сказано: получение некоего архива, переадресация. И меня нисколько не смутило, что оба сайта находятся на одном сервере. Что удивило - jar-файл не предлагал скачать себя через диалог, но и не запускался по одной простой причине - в образе ВМ небыло Java VM. То, куда вела переадресация неинтересно - обычный развод с анкетами для интима.

Анализ программы

Решил скачать файл через Download Master. Архив весит 8789 байт. Распаковываем:

Обращаю внимание на дату последней модификации. Намекает она на то, что кто-то модифицировал отдельные файлы проги. Ну и естественно, говорящие имена файлов как бы намекают. Открываем содержимое файла settings.xml:

Чтоже, зашифрованные данные нисколько не смутили. Просто продолжим поиске в файле main.class. После декомпиляции я скопировал исходники в notepad++ для удобного просмотра. Первое, что бросилось в глаза - чтение как раз файла settings.xml. Да не просто чтение, а побайтовое:
code:
(obj = a_b_fld).a_java_io_InputStream_fld = obj.getClass().getResourceAsStream("/settings.xml");
        obj.a_int_fld = ((b) (obj)).a_java_io_InputStream_fld.available();
        obj.a_int_array1d_fld = new int[((b) (obj)).a_int_fld];
        for(int i = 0; i < ((b) (obj)).a_int_fld; i++)
            ((b) (obj)).a_int_array1d_fld[i] = ((b) (obj)).a_java_io_InputStream_fld.read();
Интересно, этот гавнокод сгенерировал декомпилятор, или это оригинал? =)
Что происходит далее тоже вполне понятно:
code:
for(obj.b_int_fld = 0; ((b) (obj)).b_int_fld < ((b) (obj)).a_int_fld; obj.b_int_fld++)
            obj.a_java_lang_String_fld = ((b) (obj)).a_java_lang_String_fld + (char)(((b) (obj)).a_int_array1d_fld[((b) (obj)).b_int_fld] - 12);
На занятиях по криптографии вводное занятие - шифрование сдвигом. Причем по константному значению в ANSI кодировке. После чего с легкостью восстановлен оригинальный файл настроек:
code:
8404 9359
9999 9359
6365 9359
Вспомнив, что точка входа в программе определена как мидлет, становится очевидным, что это такое - номер для смс/текст сообщения.
Дальнейший анализ программы тривиален и скушен: при запуске выводится фейковое окно, даже иконка подарка =) После нажатия на заветную кнопочку стартует экземпляр класса Runnable (a.class), который собственно и отправляет смс. И, как полагается фейку, выводится fail-message: "Данный формат файла не поддерживается вашим телефоном". Причем выводится сообщение, только если Runnable завершился успешно.
b/c.class как я понял отвечают за графическую оболочку фейка и ценности опять же не представляют, как и несколько юнокодовых строк, представленных последовательностями юнокодовых кодов:
code:
"\u043D\u0430 \u0441\u0430\u0439\u0442"
"\u0432\u044B\u0445\u043E\u0434"
и т.д.
Заключение

Декомпилировать байт-код вовсе не тяжело, поэтому нужно использовать дополнительные средства для обфускации. Хотя в случае с java не восстанавливаются оригинальные имена переменных, как это часто бывает во flash. А цены на короткие номера можно посмотреть здесь

Дежавю

Эта прога напомнила мне одну тему на xaker.name, кидисам объясняли там какие сорсы в архиве нужно править. Короткий номер привазян был в исследуемом под определенный аккаунт ВК. Возможно это экземпляр проги.
__________________
[B][COLOR="Red"][URL="https://hpc.name/showthread.php?t=26401#post284052"]Кейлогер актуален[/URL][/COLOR][/B]
Пользователь вне форума    
Наши Спонсоры
 

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
У 60% пользователей установлены уязвимые версии Java, Firefox будет их блокировать CyberComrade Новости и High-Tech 0 05.04.2012 16:20
Может, стоит отказаться от Java? CyberComrade Архив новостей 0 26.12.2011 13:31
[Статья] Блочим блокеры: полный мануал по борьбе с блокираторами FrostArtes Уязвимости и защита 1 17.07.2010 14:44



Часовой пояс GMT +2
Powered by vBulletin® 3.x.x Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

Copyright © 2008 - 2013 «HPC» Реклама на сайте Правила Форума Пользовательское соглашение Работа на сайте
При копировании материалов ставьте ссылку на источник
Все материалы представлены только в ознакомительных целях, администрация за их использование ответственности не несет.