28 февраля 2013 г.

Ломаем телефонную базу Мегафон

Нужно мне было поискать одного человечка по номеру телефону. Пошел гуглить где взять базу данных в интернетах и обнаружил один сайт по адресу http://names-book.net/ который предлагал телефонные базы данных от Мегафон, Билайн, МТС и т.д.

Ок, подумал я, сейчас скачаем и посмотрим что из себя представляет эта база и как они вымогают смс. Тут уже включился спортивный интерес.

Для начала, размер архива оказался всего 311Мб, что меня немного насторожило, но если почитать на сайте, то можно сделать вывод, тут только ФИО, телефоны и адреса без паспортных данных. Ну и может оно пожато так круто.
Итак, архив скачан, развернут и экзешник запущен в сандбоксе. Что же мы видим, а сразу вот такое окно с просьбой ввести свой номер телефона:

Проверив разные варианты регистрационного номер, программа отказывалась работать, ругаясь что она не зарегистрированна. Смс на какието левые адреса я естественно отправлять не стал и свой номер не забивал.
Чтож не хочет программа работать по хорошему, будем использовать подход по плохому.
Первое, что делаем, это смотрим на PE заголовок каким нибудь анализатором, в поисках протекторов, так как такие мошенники любят накладывать что нибуть типа ASPack.
Запускаем StudPE подгружаем экзешник и идем в раздел Signatures. И видим следующую картинку:

Что говорит нам, фаил ничем не попакован и написан скорей всего на Borland Delphi 6.0-7.0.
Чтож, это упрощает работу.
Теперь нам нужен декомпиллер Delphi и называется он Dede, скачать его можно например отсюда.
Запускаем dede и натравливаем его на исполняемый фаил phone-a.exe. Соглашаемся со всеми анализаторами и смиренно ждем пока идет анализ.
В итоге мы видим следующую картину:

Идея моя состояла в следующем, найти форму окна регистрации, там обнаружить кнопку за подписью Зарегистрироваться и посмотреть, что она делает.
Идем в раздел Procedures. Форм немного так что можно их просто просмотреть глазами.
Необходимая кнопка нашлась, форме под названием TForm3 и обработчик этой кнопки назывался Button1Click.

Щелкаем по процедуре и видим ее обработчик и главное адрес, это сыкономит нам кучу времени на трассировку и придумывалки за что зацепится в деббагере.

А именно нас интересует адрес 004C9CC8, это начало обработчика кнопки "Зарегистрироваться" тоесть как раз, то что нам необходимо.
Теперь пора запустить отладчик и посмотреть как обрабатывается нажатие кнопки.
Запускаем IDA, загружаем туда исполняемый фаил phone-a.exe. Нажимаем кнопочку G(от слова GOTO) и вводим туда адрес, который мы нашли выше.
Оказываемся именно тот код, который мы видели в dede. Ставим туда бряпоинт и нажимем F9. Программа без проблем запускается, введем в поле "Регистрационный ключ" что нибудь типа 1234567890 нажмем "Зарегистрироваться" и тут же выполнение программы остановится на брякпоинте.
BINGO!
Потрассируем немножко, чтобы поймать окошко в котором напишут, что Регистрационный ключ не верен. И это не заставит себя ждать, немного ниже будет виден call и вилка и если она идет по зеленой ветке, то появляется окошко с уведомлением об неправильном ключе.

Направим путь в другую сторону, для этого в ZF выставим не 0 а 1, для этого ПКМ шелкаем на флаг и выбираем Increment Value, нажимем F9 и ура, программа теперь зарегистрирована!

Проверим, перезапустим программу, зайдем в "Меню" и нажмем "Регистрация", должно показатся что то типа такого:

Итак, как генерится "Регистрационный ключ"?
А никак не генерится, введеные в окно данные просто сравниваются с числом 98287, это и есть статичный "Регистрационный ключ", если удалить фаил Auth.dat и снова запустить программу, то она попросит снова зарегистрироваться, если ввести цифры 98287, то регистрация будет успешна.
Вот и вся защита для вымогания смс.

В любом случае я сделал вывод, что программа "Сотовый телефонный справочник Мегафона" не рабочий и является фейком, на сайте указанно, что последнее обновление баз данных был 8 января 2013 года, но пройдясь по всем номерам моих знакомых которые на мегафоне, не было ни одного совпадения, а я проверил порядка 30 номеров. Скорей всего остальные базы данных Мтс, Билайн и т.д., так же фейковые, мне просто проверять уже лень. Весь развод расчитан на обычных не сведующих пользователей. Размер базы данных подобран так, чтобы и качать его было несложно.
Надеюсь моя инфа защитит ваши кошельки от мошенников такого типа.

4 комментария:

  1. По больше бы таких "разборов полета". Грац bearchik !

    ОтветитьУдалить
  2. Да не вопрос, не люблю такие разводы, была бы программа рабочая, в принципе адекватных денег не особа жалко, а когда развод идет, то на это есть пролетарский деббагер и дизассемблер :)

    ОтветитьУдалить
  3. Слушай, не мог бы ты написать автобиографический пост? Думаю всем читателям твоего блога, да и мне в том числе хочется узнать по больше о тебе =). Где работаешь? Асм это хобби или работа? Какие языки еще знаешь? Ну и т.д.

    ОтветитьУдалить
  4. Я подумаю на эту тему, но не уверен, что это стоит целого поста. Пробьет меня на философию и размышления по какому либо поводу, заодно вставлю часть своей биографии.

    ОтветитьУдалить