HackerSIM: подделка любого телефонного номера. CTF по социальной инженерии

Аватар пользователя dazed

Уверены ли вы, что вам звонит тот, за кого себя выдает? Даже если высвечивается знакомый номер.

+ UPD  !

 

«Народ не должен бояться своего правительства, правительство должно бояться своего народа»
«Privacy is ultimately more important than our fear of bad things happening, like terrorism.»

Недавно я обзавелся "хакерской симкой всевластия". Которая помимо лютой анонимности имеет фичу — подделка номера. Расскажу как это происходит.

Чак на своем телефоне, куда вставлена HackerSIM, набирает команду *150*НомерАлисы# и через секунду получает подтверждение, что номер успешно «подделан». Затем Чак звонит со своего телефона Бобу. Телефон Боба принимает вызов, и на нем высвечивается, что ему звонит… Алиса. Profit.

Далее события разворачиваются в зависимости от социнженерного (или чревовещательного) таланта Чака.

Я начал разыгрывать своих хороших знакомых.

«Да ты просто взял его трубку и звонишь мне с его телефона», могли бы сказать жертвы розыгрыша, но я выбирал такие номера для подделки, которые исключают такую возможность, например, подделывал тех людей, которые сейчас в другой стране. Реакция происходит по классической схеме: отрицание, гнев, торг, смирение и «где взял, хочу себе такую же».

Мы имеем большую дыру в системе коммуникации на основе телефонной связи. А многие (даже матерые пранкеры) не знают про технологию подделки номера. Симки всевластия уже в свободной продаже, а мир к этому еще не готов, поэтому. Есть баг в мозгу — доверять входящему звонку со знакомого номера. Вроде даже есть сервисы с идентификацией по номеру телефона.

Мемберы хакспейса мне намекнули, что теперь они знают кого бить, если их кто-то разыграет по телефону, на это я ответил, мол этих симок по Москве уже сотни. Они уже есть у самых продвинутых пентестеров, которые проверяют security awareness в крупных организациях на устойчивость к социнженерным атакам.

Могу продемонстрировать вам пару звонков. Всем не позвоню, ибо дороговато, но на 15-20 звонков меня хватит.
Присылайте мне свой номер, и номер, с которого мне позвонить (подделать). Приоритет хабрачитателям с положительной кармой. (Если у вас нет аккаунта, но вам очень хочется, пишите на почту, попробуем договориться).
 

CTF по социальной инженерии


Цель: провести экспресс-аудит безопасности телефонной коммуникации и выявить основные угрозы и векторы атак (в т.ч. и социльно-инженерных), выявить потенциально возможный ущерб и просто попить пивка с интересными людьми.

2 этапа:
 
  • Заочный тур, 6-15 октября.
  • Очный тур, 16 октября, Москва, Хакспейс «Нейрон».

Отправить заявку и более подробная информация тут.
 

Технология работы HackerSIM и подделки номера


c9efd8fc041a48c485fee9339fbf3a33.jpg

Процедура регистрации телефона в сети и выбора соты

После каждого включения телефона происходит процедура выбора сети и регистрация абонента в этой сети.

После включения телефона с обычной SIM-картой, производится сканирование частот и выбор соты с наивысшим уровнем сигнала. HackerSIM работает только с сотой уровень сигнала, которой является второй по своему значению. Данный алгоритм обеспечивает защиту от комплексов перехвата.

После процедуры синхронизации происходит идентификация оборудования и аутентификация абонента в сети. Обычная SIM-карта производит процедуру аутентификации в сети оператора согласно Алгоритма А3. Данный протокол производит вычисление ключа SRES, который позволяет завершить процедуру аутентификации. Для вычисления ключа SRES в алгоритме А3 используются параметр IMSI и Ki. В обычной SIM-карта параметр IMSI вшит в SIM-карту и он не меняется. В HackerSIM несколько профилей со своими парами IMSI + Ki.

Шифрование в сети GSM

Шифрование сессии обеспечивает алгоритм шифрования А5, который использует в своих вычислениях Кс (сессионный ключ). Кс в свою очередь вычисляется алгоритмом А8, который использует параметры Ki и RAND. В обычной SIM-карте параметр Ki является неизменным, как и IMSI. HackerSIM использует несколько профилей со своими парами IMSI+Ki. Чтобы понизить уровень шифрования A5/1 до A5/2 или A5/0, оператор со своей стороны или комплекс перехвата отправляет служебную команду на номер мобильного абонента MSISDN. У обычной SIM-карты мобильный номер MSISDN привязан к конкретной паре IMSI+Ki и хранится у оператора эмитента. HackerSIM не принадлежит ни одному из операторов и не имеет жёстко привязанного MSISDN, так как имеет несколько профилей.

Даже если HackerSIM попадает в зону подсистемы базовых станций BSS и команда о снятии шифрования производится по средствам широковещательного сообщения Paging Request, он не сможет выполнить данную команду, так как данный исполнительный механизм в алгоритме HackerSIM отсутствует.

Вызов

Абонент обычной SIM-карты после набора номер нажимает кнопку вызова. В этот момент телефон посредством высокоскоростного канала управления FACCH отправляет сигнал ALERT на BSS (подсистему базовых станций), а оттуда на MSC (центр коммутации). Далее коммутатор отправляет сообщение Address Complete на вызывающего абонента. Абонент, сделавший вызов, слышит гудки, а второй абонент звонок вызова. Зная мобильный номер абонента А или Б (MSIDIN) можно получить от биллинга оператора все детали звонка и саму сессию. Так же можно перехватить эту сессию по воздуху посредством комплекса перехвата. Абонент HackerSIM, после набора номера нажимает кнопку вызов. В этот момент происходит сброс вызова. Одновременно по сигнальному каналу отправляется команда в зашифрованном виде на серверную АТС (автоматическую телефонную станцию) HackerSIM.

АТС через ОКС№7 (SS7) запрашивает у VLR (визитный регистр) для того, чтобы для данной SIM-карты и для данного звонка выделить временный номер MSRN (Mobile Station Roaming Number). Как только оператор выделил нашей SIM-карте MSRN, АТС начинает процедуру звонка на этот MSRN. В этот момент происходит вызов на HackerSIM. После того, как абонент HackerSIM поднял трубку, открывается первое плечо. Далее АТС начинает процедуру дозвона второму абоненту. После того, как второй абонент поднимает трубку, открывается второе плечо (технология Call Back). При данной логике совершения звонка невозможно получить информацию с биллинга оператора так, как не известно, на каком операторе зарегистрирована в данный момент карта HackerSIM, нет публичного идентификатора MSISDN, по которому можно было бы получить IMSI, Ki и IMEI. Даже если абонент Б находится на контроле, не возможно понять с кем был разговор. Так как сессия состоит из двух плеч, в разрыве которой стоит серверная АТС. Таким образом, невозможно определить круг Вашего общения.

Приём звонка

Звонок на обычную SIM-карту происходит согласно стандартных процедур. После выполнения процедуры вызова и назначении TMSI (временного идентификатора мобильной станции) в зоне действия VLR, происходит приземление трафика, и сессия считается установленной. При этом биллинг оператора фиксирует с какого устройства инициирован звонок, место положение принимающего устройства в момент сессии (локация), длительность разговора и т.д. Звонок на HackerSIM осуществляется следующим образом. К HackerSIM присваивается виртуальный номер DID, который принимая звонок из сети, преобразовывает его в SIP протокол и маршрутизирует его на АТС. В свою очередь АТС определяет конкретного абонента, которому присвоен данный DID запускает процедуру вызова, описанную выше. Таким образом, невозможно определить местоположение HackerSIM взаимосвязи между обоими абонентами, так как в разрыве всегда находится АТС.

Алексей @MagisterLudi

здесь

upd

 

HackerSIM: небольшое разъяснение

 

Эта минипубликация — развёрнутый комментарий на публикацию о HackerSIM.
 

Предупреждение

  • Я как профессионал, опытом разработки с сфере мобильной связи не мог не написать данный комментарий, так как сильно много технических неточностей, из-за которых несведущий пользователь получит неправильные представления о современной связи
  • Я ни коем образом не имею никакого отношения к Российскому или любому другому оператору мобильной связи и этот ответ является скорее разъяснением для читателей и выражает мою личную точку зрения
  • Сразу извиняюсь за мой язык. Мне потретрбовалось много лет чтобы понять что язык на котором я говорю и думаю, не совсем русский.

1. Статья озаглавлена «HackerSIM: подделка любого телефонного номера. CTF посоциальной инженерии». Никто не сможет своровать у вас номер или ваш идентификатор (IMSI). О безопасности мобильных сетей очень много написано и нет смысла это повторять. Главный постулат очень простой: пока СИМ у вас в кармане или в вашей трубке и в трубке нет никаких хакерских закладок, никто не сможет «своровать» номер методом копирования СИМ карты. Следствие — никто не сможет за ваш счёт позвонить другому абоненту… Вариант когда злоумышленники получают новый СИМ у вашего оператора, вместо вашего, в данном контексте не имеет значения, так как это вопрос юридический, а не технический

2. Любая СИМ карта должна иметь как минимум виртуальную инфраструктуру к которой она «привязана» со всеми вытекающими последствиями: роуминг, стоимость всех базовых услуг, наличие мобильного интернета и его стоимости. Я не говорю о том, что виртуальную инфраструктуру надо куда-то подключить, а все такие подключения жёстко регламентируются местными законами почти в любой стране. Если предположить, что найдётся такая страна, которая согласиться подключить такой виртуальный сервер к себе, это не значит, что Российский мобильный оператор согласится на роуминг со странной инфраструктурой.

3. Это всего-навсего сокрытие вашего номера телефона от оператора мобильной связи принимающего абонента. По поводу сокрытия номера принимающему абоненту — есть CLIR. По поводу сервисов скрытия IMSI и искажения голоса не будем говорить.

4. Выбор «соты».
HackerSIM работает только с сотой уровень сигнала, которой является второй по своему значению. Данный алгоритм обеспечивает защиту от комплексов перехвата.

Вот тут уж простите, сам телефон (трубка) занимается выбором сети и выбором конкретной «соты», с которой он собирается работать. СИМ никак не может повлиять на выбор «соты» внутри конкретного оператора, так как это прерогатива телефона и СИМ только может получить информацию об этом. Кроме того если установлено голосовое соединение на технологиях 2g/3g то процес перехода на другую соту контролируюется базовой станцией, согласно информации предоставленной самим телефоном. И даже тут СИМ ну никак не может ничего изменить Не верите? Учите матчасть и тут не забудьте.

5. По поводу шифрования. В мобильной связи используется шифрование только до ближайшей базовой станции, а там всё в открытом виде. На принимающей стороне, соответственно, тоже может быть шифрование, только это уже зависит от принимающей сети. Шифрование end-to-end (между пользователями напрямую) возможно, но только через специальную трубку или правильнее сказать телефон со специальным внутренним софтом, который естественно не будет дешёвым. Поскольку мы всегда имеем связку «СИМ — инфраструктура», то алгоритм шифрования зависит от сети, в которой производится роуминг (или домашняя сеть) и набора алгоритмов, имеющихся в связке «СИМ — инфраструктура». А вот теперь самое главное: алгоритм А5/1 запрещён к использованию на столько, что все современные телефоны во время сертификации проверяются, что не поддерживают его. Это связано с тем, что его в своё время взломали, и сейчас его исходники можно найти в сети в качестве учебного материала. Не надо ничего и никого принуждать в мобильной связи, всё и так шифруется по возможности.

6. Автор начал рассказ с GSM, а закончил неизвестно чем. Открою маленький секрет. В сетях второго и третьего поколения номер телефона никогда не передаётся по воздуху во время установления связи (с точки зрения источника соединения). А файлик, который находится в СИМ, служил (до 4го поколения) только в качестве информации. Кстати, в старых трубках можно было его редактировать и записать любой номер, например, соседской бабушки. Еще необходимо понимать, что в современных сетях номер абонента абсолютно виртуален и может меняться даже динамически. Самое главное, что на уровне принимающего абонента и сети принимающего абонента номер звонящего просто-напросто может отсутствовать. Да он может присутсвовать, на даже так никто не гарантирует что номер реальный и это инфмация передаётся по воздуху в зашифрованном виде.

7. Шифрование.
Неясно с одной стороны весь этот сим и весь сыр-бор начат как защита от кэтчеров, с другой стороны описается процесс принудительного понижения шифрования. Я не буду затрагивать вопрос о том насколько это реально и как это соотносится с парой IMSI+Ki.
Это как в том анекдоте: «Хайм, вы или крестик снимите или трусы оденьте»

8.
оператор со своей стороны или комплекс перехвата отправляет служебную команду на номер мобильного абонента MSISDN. У обычной SIM-карты мобильный номер MSISDN привязан к конкретной паре IMSI+Ki и хранится у оператора эмитента. HackerSIM не принадлежит ни одному из операторов и не имеет жёстко привязанного MSISDN, так как имеет несколько профилей.


Это не совсем так. Как только вы подключаете свой сервер к телефонной сети и у вас есть роуминг это значит что вы и есть оператор, хоть и виртуальный. Да вы можете иметь несколько профайлов(профилей) но какое это имеето значение к MSISDN. Более того открою секрет нигде в стандарте не написано что номер MSISDN жестко привязан к IMSI. Поскольку сама систма GSM унасловедовала сервисы ISDN то у каждого абонента может быть несколько номеров (кажется до 8) например один для голоса, второй для факса, третий для даты, даже несколько для голоса.
 

 

 

Комментарии

Аватар пользователя v.p.
v.p.(11 лет 9 месяцев)

зачем это здесь? ради вашего же блага надеюсь вы это только в блоги положили.

Аватар пользователя гордей
гордей(12 лет 3 месяца)

Предупреждён ,значит вооружён .

Спасибо.

Аватар пользователя alexvlad7
alexvlad7(11 лет 8 месяцев)

    видел трубку с такой возможностью вживую в 2011г. (именно эта технология или еще какая - не знаю), показывали - работает....  было дорого и труба и звонок, уточнял в конце года - около штуки баксов.

Аватар пользователя dazed
dazed(8 лет 11 месяцев)

на хабре был материал (среди многих) о взломе гсм,  там кстати были нескока моделей труб,как  защищенных от прослушки своим шифрованием,  так и с хитрым функционалом. где-то послдние макс 2месяца, если интересно, можете найти поиском на сайте на "gsm"

Комментарий администрации:  
*** Заподозрен в ссылочном спаме, под наблюдением ***
Аватар пользователя alexvlad7
alexvlad7(11 лет 8 месяцев)

ага, спасибо за наводку, ознакомлюсь для себя. но я не технарь, если понадобится такая - придется просить умельца..

Аватар пользователя dazed
dazed(8 лет 11 месяцев)

+upd

Комментарий администрации:  
*** Заподозрен в ссылочном спаме, под наблюдением ***