Все журналы
главная
журналы
анонсы
статьи
новости
персоны
о проекте
ссылки


Для того, чтобы не пропустить изменения на нашем сайте и быть в курсе новых возможностей, подпишитесь на рассылку новостей, указав свой e-mail.

Рассылки Subscribe.Ru
Новости проекта "Все журналы"


Каталог журналов
В наш каталог принимаются все журналы, которые можно купить в Москве. (регистрировать журнал)


Спонсоры страницы:
тонировочные пленки купить еще



Статьи из журналов > Наука и техника > Безопасный взлом через GPRS


Безопасный взлом через GPRS


Автор: Крис Касперски
Источник: "Хакер Спец" - N56 (июль 2005)

Наглядные примеры из практики
Сезон охоты на хакеров уже открыт! Нас разыскивают спецслужбы всего мира. Если ты релизишь варез, дизассмишь программы, отламываешь защиты, разводишь вирусы или атакуешь Сеть, тебя сажают в тюрьму. Чтобы остаться на свободе, достаточно иметь сотовый телефон с GPRS-протоколом, паяльник, дизассемблер и немного смекалки.
 
Почему не стоит использовать анонимные proxy
Наше расследование традиционно начинается с извечных вопросов: кому это выгодно и кто бы мог сделать это? Многие хакеры прокалываются на том, что оставляют за собой текстовые строки (так называемые "граффити") с указанием своего ника, города проживания, названия кафедры или другой информации подобного типа. Это существенно сужает круг поиска, поэтому спецслужбам остается всего лишь перешерстить компьютерную тусовку. Реальных хакеров очень немного, и все о них знают. Вот она - цена известности!
 
В этом мире выживает только тот, кто отрезает себя от внешнего мира, отказывается от общения и, забившись в глухую нору одиночества, хакерствует в свое удовольствие. Основным источником информации, демаскирующим атакующего, становится его IP-адрес. С точки зрения сетевых протоколов это всего лишь 32-битное число в заголовке пакета, которое ничего не стоит подделать или исказить. Но толку от этого будет немного. Пакеты с левыми IP-адресами сдохнут на первом же маршрутизаторе, а если не сдохнут, никакого ответа отправитель все равно не получит, а значит, не сможет установить TCP-соединение.
 
Для обеспечения собственной анонимности проще всего воспользоваться proxy-сервером, расположенным в какой-нибудь отсталой стране, не симпатизирующей ни России, ни Америке. Таких серверов достаточно много, но далеко не все они анонимны. Существует множество служб, проверяющих proxy на "вшивость", к примеру www.showmyip.com.
 
Служба www.showmyip.com проверяет японский proxy-сервер bi.ikenobo-c.ac.jp. Proxy успешно скрыл мой IP и даже попытался замаскировать континент (Asia), но позволил определить город проживания (Krasnodar) и название компании провайдера (Southern Telecommunication Company), а также часовой пояс, который, кстати говоря, определяется с помощью Java-скриптов, так что proxy тут ни при чем. Чтобы не погореть на первом же взломе, хакер должен сменить сервер и отключить скрипты.
 
Но даже если proxy выглядит вполне благонадежным, он может скрытно коллекционировать трафик, предоставляя эту информацию по первому требованию спецслужб. По слухам, самые быстрые анонимные proxy установлены как раз спецслужбами. Но проблема даже не в этом. Каждый из нас может поставить честный proxy, который гарантированно не собирал бы никакой информации о пользователях, и отдать его в коллективное распоряжение - пускай хакерствуют (это характерно для институтов и других некоммерческих организаций с трафиком, оплачиваемым государством). Но где гарантия, что информацию о входящих/исходящих соединениях не собирает наш провайдер или провайдер провайдера? А, как показывает практика, большинство провайдеров ее все-таки собирают, сохраняя логи на жестких дисках в течение нескольких дней или даже недель. К тому же не стоит забывать про СОРМ, который, как известно, не дремлет.
 
СОРМ - система оперативно-розыскных мероприятий, в настоящее время принятая практически всеми провайдерами и предназначенная для отлова хакеров. Подробности смотри по адресу www.loniis.ru:8101/RUS/products/catalogs/zips/sorm2001.zip.
 
Конечно, если хакер дефейсит страничку Васи Пупкина, то хорошего proxy-сервера для этих целей вполне достаточно. Главное - не оставить на атакуемом узле никакой личной информации, потому что поднимать логи по такому мелочному делу все равно никто не будет. А для серьезного взлома proxy уже не подходит, и приходится искать другие пути.
 
Общая стратегия взлома
Сотовый телефон - коварная штука. Каждый аппарат содержит уникальный заводской номер (точнее, серию номеров), автоматически передаваемый в Сеть при включении питания или даже при каждом звонке (это уж как решит оператор), что позволяет спецслужбам обнаруживать краденые телефоны, отслеживать перемещение их владельцев и делать много других нехороших вещей. Аналогичным образом поступает и SIM-карта, передающая идентификационную информацию, по которой легко определить имя и фамилию абонента. Продавцы телефонов ведут специальные списки, отмечающие, кому и когда был продан определенный агрегат - за этим строго следят блюдущие органы. Некоторые магазины требуют предъявления паспорта, некоторые - нет. Теоретически можно называться вымышленным именем, однако всегда существует риск, что покупателя опознает продавец.
 
Чтобы остаться незамеченным, хакер приобретает с рук подержанный сотовый телефон по чисто номинальной цене (телефон, естественно, ворованный) и при необходимости тем же путем добывает SIM-карту с некоторой суммой на счету. Выехав с ноутбуком в безлюдное место, он осуществляет взлом (или сливает свеженаписанный вирус в интернет), а затем уничтожает сотовый телефон, закатывая его в асфальт :). Чтобы установить личность атакующего, спецслужбам придется раскрутить всю цепочку: кому был продан телефон, кем уворован, куда перепродан и т.д. Но и никаких доказательств у них все равно не будет, так как телефон уничтожен, а все компрометирующие данные давно стерты или зашифрованы.
 
Естественно, если хакер настолько обнаглеет, что начнет совершать взломы на регулярной основе, его быстро засекут и установят слежку за ним. Даже если атаки совершаются из разных мест, запеленговать сотовый - плевое дело. Поэтому приходится действовать так: сотовый телефон с голубым зубом подкладывается в кучу мусора посреди пустыря (естественно, с предварительно протертыми "пальчиками"), а хакер сидит с ноутбуком на порядочном расстоянии от кучи мусора (в радиусе прямой видимости с направленной антенной голубой зуб держит устойчивую связь в пределах километра) и при появлении непрошеных "гостей" сматывает удочки и уезжает.
 
Кто-то может спросить: "Зачем все эти сложности, когда можно просто зайти в любое интернет-кафе, подключиться к телефонной "лапше" на лестничной площадке и т.д.?" На самом деле все эти способы небезопасны и ненадежны. Сколько хакеров на этом погорело - не пересчитать! Но и выбрасывать телефон после каждой атаки получается слишком накладно. Так никаких телефонов не напасешься. С некоторой долей риска можно ограничиться тем, чтобы после каждой атаки изменять идентификационный номер на другой, и тогда уничтожать телефон будет необязательно. Спецслужбы все равно не смогут ничего отследить. При желании можно перепрограммировать и SIM-карту, однако хлопоты не стоят того.
 
Внутри сотового телефона
Идентификационный номер состоит из двух частей: ESN (Electronic Serial Number – электрический серийный номер) и MIN (Mobile Identification Number – мобильный идентификационный номер). Обычно они обозначаются как ESN/MIN и у наших зарубежных хакерских коллег называются парой (pair).
 
Конструктивно MIN хранится в модуле NAM (Number Assignment Module – модуль назначения номеров) - микросхеме постоянной памяти c емкостью не менее 32 байт, которая облачена в пластиковую или керамическую "обертку" и расположена на печатной плате. Обычно это EEPROM (то есть многократно перепрограммируемое ПЗУ) или PROM (однократно программируемое ПЗУ). Отождествить эту микросхему очень просто - эдакий мелкий таракан с восемью ногами. Помимо MIN‘а, здесь находится SIHD и другая служебная информация, приблизительный формат которой приведен в таблице.
 
Некоторые мобильники позволяют перепрограммировать NAM прямо с клавиатуры телефона! Впрочем, количество циклов перепрограммирования обычно очень невелико (от трех до 20-ти в зависимости от настроения производителя) - за это отвечает микропроцессорная прошивка, также называемая firmware. Ресурс самой микросхемы намного больше и практически неограничен. Но для долговременного хакерствования такой способ решительно не годится, и приходится искать обходные пути.
 
Одни хакеры выпаивают микросхему и перепрограммируют ее на программаторе вручную (хотя выпаивать микросхему для этого в общем-то необязательно), другие - модифицируют прошивку, запрещая ей блокировать NAM. Первое требует умения держать паяльник в руках, второе - дизассемблера.
 
Исследование прошивок – это высший пилотаж хакерства, требующий обширных познаний и высочайшей квалификации. Для начала необходимо опознать процессор. Даже если оригинальная маркировка микросхемы не была "заботливо" уничтожена производителем телефона, не факт, что описание машинных команд удастся найти в Сети. Техническая документация на многие мобильные процессоры засекречена или распространяется только по подписке, то есть за деньги (причем физические лица отдыхают). Тем не менее, системные команды многих процессоров довольно похожи, и при достаточной настойчивости разобраться в них можно и без описания. Но что это дает? Любая прошивка буквально нашпигована командами взаимодействия с портами ввода/вывода, управляющими электронной начинкой телефона. За что они отвечают, непонятно. Это сплошное нагромождение головоломок, и на анализ своей "первой" прошивки можно потратить целый год. Двенадцать месяцев, триста шестьдесят пять дней и никак не меньше!
 
Перепрограммирование микросхемы "вживую" намного проще, хотя и обладает намного более скромными возможностями. К тому же существует риск необратимо испортить свой телефон. Но охота пуще неволи. Прежде чем выпаивать микросхему, хакер определяет ее тип. Большинство производителей используют серийные чипы, модель которых легко опознается по разводке даже при полностью уничтоженной маркировке. Основные используемые микросхемы перечислены во врезке. Остается только достать программатор, который можно приобрести на радиорынке или спаять самостоятельно.
 
Прежде чем изменять что-то в NAM, необходимо научиться рассчитывать контрольную сумму. Чтобы не делать этого вручную, используй простенький скрипт для дизассемблера IDA Pro, исходный текст которого приведен ниже:
 
IDA-скрипт, автоматически рассчитывающий контрольную сумму
 
auto a; auto b; b=0;
 
PatchByte(MaxEA()-1, 0);
 
for(a=MinEA();a<MaxEA();a++)
 
{
 
b = (b + Byte(a)) & 0xFF;
 
}
 
b = (0x100 - b) & 0xFF ; Message(" %x ",b);
 
PatchByte(MaxEA()-1, b);
 
С таким скриптом ничего не стоит захачить MIN по полной программе. С формальной точки зрения, MIN представляет собой 34-битное число, разделенное на две половинки. Младшие 10 бит обознаются MIN2 и отвечают за хранение кода области (area code), оставшиеся 24 бита - личный номер мобильного устройства.
 
Код области хранится в упакованном двоично-десятичном формате и, чтобы привести его к естественной форме отображения, к каждому десятичному разряду нужно прибавить цифру 9, разделить результат на 10 и записать остаток. В частности, зоне 213 будет соответствовать следующий MIN2: (2 + 9) % 10 = 1; (1 + 9) % 10 = 0; (3 + 9) % 10 = 2. Объединив все вместе, получим: 102 или 0001100110 в двоичном представлении. Именно такое число будет содержаться в микросхеме.
 
Следующие 24 бита (MIN1) кодируются чуток сложнее. Личный идентификационный номер телефона для удобства разбит на две части, которые записываются приблизительно так: 376-0111. Но это только с точки зрения неискушенного пользователя. В действительности же есть три части: первые 10 бит MIN1 содержат три левых разряда (в данном случае - 111), которые кодируются так же, как и MIN2. Следующие четыре бита содержат четвертую цифру идентификационного номера, записанную в двоичной форме "как есть". При этом 0 (ноль) записывается как 10 (1010 в двоичной форме). Оставшиеся 10 старших бит содержат три первых цифры идентификационного номера, кодируемые так же, как и в MIN2. Таким образом, поле MIN1 для нашего идентификационного номера будет выглядеть так: 265-10-000 (или 0100001001 1010 0000000000 в двоичной форме).
 
Разобравшись с NAM‘ом, перейдем к ESN - 11-значному 32-битному уникальному номеру. В GSM-устройствах он называется IMEI (International Mobile Equipment Identity - международный идентификатор мобильного устройства) и занимает 15 знаков, что на четыре знака больше, чем ESN, но это уже формальности.
 
Стандарты беспроводной связи требуют от производителей невозможности изменения ESN/IMEI программным путем, однако далеко не все производители выполняют это требование. Часто ESN/IMEI хранятся в NAM, что является вопиющим нарушением, а в некоторых случаях перепрограммируются прямо с клавиатуры. Впрочем, даже если ESN зашит в PROM (однократно программируемое ПЗУ), микросхему можно выпаять с платы и заменить на свою собственную. Чтобы телефон не сдох и печатные проводники не оборвались от постоянно перегрева, имеет смысл установить панельку, и тогда операция замены микросхемы займет несколько секунд. Знатоки дизассемблера дорабатывают прошивку так, чтобы ESN/IMEI не считывался с ПЗУ, а вводился с клавиатуры или автоматически генерировался при каждом включении телефона.
 
Судя по всему, ESN/IMEI никак не кодируется и записывается в двоичной форме как есть. Во всяком случае, сравнивая свой ESN/IMEI (обычно он пишется на задней стенке телефона), систему кодирования можно взломать без труда. Навряд ли там будет что-то экстраординарное. Настоящая проблема в том, что ESN/IMEI и MIN выбираются не случайным образом и должны соответствовать друг другу, в противном случае оператор просто не пустит абонента в сеть! А где можно раздобыть валидные пары ESN/IMEI и MIN? Первое, что приходит в голову - подсмотреть. Достаточно лишь взять чужой сотовый телефон в руки на несколько минут. Несложные манипуляции с клавиатурой (смотри врезку) – ESN/IMEI и MIN высвечиваются на дисплее. Достоинство этого приема в том, что хакер получает гарантированно работающую пару, однако его анонимность тут же окажется под угрозой. Спецслужбы найдут владельца оригинального номера и, ласково поглаживая утюжок, попросят его перечислить всех лиц, получавших доступ к телефону.
 
Некоторые предпочитают пользоваться генераторами идентификационных номеров. Их легко найти в Сети (набираем в Googlе что-то наподобие IMEI calculator и вперед), правда, не все из них рабочие. А еще можно воспользоваться сканером и, устроившись в людном месте (рынок, метро и т.п.), за несколько часов получить добрую сотню рабочих пар, не рискуя оказаться замеченным. Чисто технически сканер можно получить превратив в него сотовый телефон или (если кто-то не в ладах с паяльником) купить в готовом виде. Десятки фирм имеют свои интернет-магазины, рассылающие товар наложенным платежом. Еще списки ESN/MIN можно обнаружить на хакерских форумах и IRC-каналах.
 
Службы для тестирования proxy
 
ТИП: WWW
 
 
Отличный сервис для проверки анонимных proxy из известных мне. Показывает максимум информации, которую только можно собрать, и автоматически дает ссылки на карту, если географический район был определен.
 
 
Мощный сервис для тестирования proxy. Определяет IP-адрес, доменное имя, тип браузера, версию операционной системы, предпочтительный почтовый сервер и т.д. Без рекламы и с минимумом графики.
 
checkip.dyndns.org
 
Сообщает всего лишь один IP-адрес удаленного узла, рекламу и графику не показывает.
 
 
Сообщает IP-адрес, доменное имя и тип браузера. Простенько, но со вкусом. Правда, с большим количеством графики.
 
Безопасный web-серфинг
 
ТИП: WWW
 
 
Отличный анонимный proxy-сервер, автоматически отключающий скрипты и блокирующий cookie. К сожалению, это не полноценный HTTP-Proxy, а онлайновая web-служба, так что SSH через него работать не будет. Тем не менее, для хакерских атак он подходит.
 
Секретный серфинг с комфортом
Программа Secret Surfer предназначена для автоматического построения цепочки анонимных proxy. Чем больше серверов будет задействовано, тем выше безопасность, однако риск оказаться пойманным все же очень велик. А что если первый сервер в цепочке принадлежит ФБР?
 
GPRS-модемы vs. сотовые телефоны
Кроме сотовых телефонов, для мобильного выхода в Сеть можно воспользоваться GPRS-модемами, которые бывают двух типов. Первые предстают собой крошечную "мыльницу", подключающуюся по USB, вторые - PCI-плату расширения. Для взлома последние наиболее предпочтительны. Они намного дешевле и удобнее для экспериментов. Плотность монтажа на PCI-карте намного ниже, чем в USB-модеме или сотовом телефоне, что позволяет производителю использовать более доступные серийные компоненты. К тому же, если над продажей сотовых телефонов установлен жесткий контроль, то GPRS-модемы отгружаются бочками и продаются без предъявления паспорта или иных удостоверений личности.
 
Что такое SIDH
Аббревиатура SIDH расшифровывается как System Identification for Home System (система идентификации для домашних систем) и чаще всего называется просто SID. Система идентификации сообщает: сотовой станции, каким оператором обслуживается твой телефон, что используется для роуминга. SIDH-код представляет собой 15-битный идентификатор, общий для всего региона и ничего не говорящий о конкретном абоненте, поэтому изменять его не надо. Другими словами, SIDH-код никак не влияет на анонимность атакующего.
ПЗУ бывают разные
 
POM (Read-Only Memory - память только на чтение) - классическое ПЗУ, программируемое на аппаратном уровне в процессе производства микросхемы. Не может быть изменено программным путем, но в сотовых телефонах и не применяется.
 
PROM (Programmable Read-Only Memory - программируемая память только на чтение) - однократно программируемое ПЗУ, информация в которое заносится на специальном устройстве, называемом программатором. В сотовых телефонах широкого распространения не получило.
 
EPROM (Erasable Programmable Read-Only Memory - стираемая программируемая память только на чтение) - многократно перепрограммируемое ПЗУ, очищаемое ультрафиолетовыми лучами и требующее программатора. Легко опознается по характерному "окошку". По слухам, применяется в некоторых типах телефонов, но никто живьем его не видел.
 
EEPROM (Electrically Erasable Programmable Read-Only Memory - электрически стираемая программируемая память только на чтение) - многократно перепрограммируемое ПЗУ, очищаемое электрическим разрядом. Обычно требует программатора, но теоретически может обходиться и без него. Широко применяется в сотовых телефонах.
 
FLASH-EEPROM - разновидность электрически стираемого многократно перепрограммируемого ПЗУ, не требующее программатора. Применяется во многих сотовых телефонах.
 
Перепрограммирование NAM‘а с клавиатуры
Последовательность нажатий клавиш для перепрограммирования NAM‘а не стандартизована и варьируется в зависимости от модели телефона. К примеру, Samsung i300 может быть перепрограммирован так:
  1. жмешь "#907*9#0" до появления на экране "ENTER LOCK";
  2. вводишь "OTKSL";
  3. в появившемся "SVC"-меню нажимаешь "1";
  4. вводишь 10-значный MIN-номер и нажимаешь "SAVE";
  5. нажимаешь "SAVE" еще раз;
  6. жмешь "3" и нажимаешь "SAVE" шесть раз;
  7. вводишь "HOME SID" и нажимаешь "SAVE" один раз;
  8. дважды нажимаешь "END";
  9. теперь NAM изменен!
Инструкцию по перепрограммированию остальных телефонов можно найти на сайте www.cdma-ware.com/codes.html. Если твоего телефона там нет, набираешь в Google что-то вроде "NAM+programming+модель телефона" и прочесываешь интернет в поисках необходимой информации.
 
Просмотр IMEI-номера телефона
 
Acer (Motorola T191, T205): набери "*#300#", затем нажми зеленую клавишу с трубкой.
 
Alcatel: набери "*#06#", на экране появится IMEI и версия прошивки.
 
Bosch: набери "*#3262255*8378#" (по буквам *#DANCALL*TEST#).
 
Ericsson: набери ">*<<*<*", где "<" и ">" - кнопки со стрелками влево/вправо.
 
LG: Набери "*#07#, 8060#*".
 
Mitsubishi: удерживая "*", набери "5806".
 
Motorola: в тестовом режиме набери код "19#".
 
Nokia: набери "*#0000#".
 
Panasonic: набери "*#9999#".
 
Samsung: набери "*#9999#".
 
Sagem: находясь в основном меню, нажми звездочку, в появившемся меню - самый первый пункт.
 
Siemens: набери "*#06#".
 
Sony: набери "*#7353273#" (по буквам *#release#).
 
Интересные ссылки
 
ТИП: WWW
 
 
Информация о сотовой связи и взломе сотовых телефонов, море интересных статей, пошаговых инструкций и софта (на английском языке).
 
 
Глоссарий терминов, используемых в сотовой телефонии (на английском языке).
 
 
Фирма, занимающаяся разработкой и продажей устройств для взлома и ремонта сотовых телефонов (на английском языке).
 
 
Огромный архив ссылок (по информации преимущественно на английском языке) по взлому сотовых телефонов и не только.
 
 
Статья по перепрограммированию EEPROM (на немецком языке).
 
Tandy/RadioShack cellular phones (www.phrack.org/phrack/48/P48-07)
 
Устаревшая, но все равно интересная статья о взломе сотовых телефонов из PHRACK‘а (на английском языке).
 
Как ни странно, мобильный телефон - лучшее средство обеспечения анонимности.
 
Будь осторожен: быстрые анонимные proxy могут держать и спецслужбы.
 
Почти все провайдеры давно ходят под надзором СОРМ.
 
При выходе в Сеть твой мобильник передает сведения, достаточные для того, чтобы тебя вычислили.
 
Простой способ частично избавиться от истории - купить телефон с рук, хотя и в этом случае цепочку могут отследить.
 
Руководство по вычислению MIN и некоторых других идентификационных данных: www.3gpp2.org/Public_html/Misc/C.P0006-D_v1.8_cdma2000_Analog-V&V_text_Due_3_June-2005.pdf.
 
Еще одно руководство вычисления MIN и некоторых других идентификационных данных: www.tiaonline.org/standards/sfg/imt2k/cdma2000/TIA-EIA-IS-2000-6-A.pdf
 
Поможет не только краденый телефон с подставной SIM‘кой, но и осуществление работы удаленно, когда можно вовремя замести следы.
 
Идентификационный номер мобильника состоит из двух частей: ESN (Electronic Serial Number) и MIN (Mobile Identification Number).
 
MIN хранится в модуле NAM (Number Assignment Module).
 

Остается только достать программатор, который можно приобрести на радиорынке или спаять самостоятельно.




Журнал "Хакер Спец"
описание | анонсы номеров | новости журнала | статьи

Статья опубликована 17 Октября 2005 года


© "Jur-Jur.Ru" (info@jur-jur.ru). При полном или частичном использовании материалов ссылка на сайт "Все журналы" обязательна.
Разработка и продвижение сайта - Global Arts

Rambler's Top100