Комментарии 102
Прямо вот так:
1. Поставил новый сгенерированный мак
2. Подключился к сети
3. Стянул JSON
4. Записал в мини-базу типа sqlite, например
5. goto 1
Это можно делать с любого рутованного телефона, не вынимая из кармана. Только powerbank подключить желательно :)
Есть одим маленький нюанс у брутфорса — в лучшем случае слив информации (переключение/запрос) занимает полсекунды. Всего вариантов 2^8^6 на одного вендора, ну и соответственно 2^8^5 секунд на перебор. когда я вбил эти цифры в калькулятор он выдал мне улыбающуюся рожицу
Короче говоря, лучшим вариантом будет скорее сидение на пересадках рода библиотеки, и соберать там действительно релевантные маки.
Мак ведь 6 байт занимает, 3 байта код вендора, а три байта код устройства.
Распараллелить скачивание JSON'ов и проблема решена.
Плюс, конечно, можно и маки собирать, чтобы ускорить их «проверку».
Меняют не при подключении, а при сканировании и только для неизвестных сетей. Когда автоматом подключаются к известной — показывают честный MAC. Можно на тот же MT_FREE их ловить, ведь нам как раз нужны те, кто им пользуется.
как то странновато…
А расскажите пожалуйста, что пытаются выцепить из трафика скрипт-киддисы с сетью MT_FREE_ в метро? Вроде всё важное в https давно. Или ssl stripping и т.д.?
Помимо рекламы, эта страничка отдает один интересный json, который содержит кучу интересной информации о текущем подключенном пользователе.
Есть идеи как этот json посмотреть с телефона? Вроде в хроме мобильном нет инструментов разработчика?
Честно скажу, что su -c "ifconfig hw ether {один из интересных маков с premium: true}"
после включения wi-fi модуля работает лучше практически любого решения, т.к особо нет вариантов защититься от смены мака.
Но таких интересных маков скорее всего нет на моей странице vk.
ip link set eth0 address 02:01:02:03:04:08
5.3.9. net-tools will be deprecated in favor of iproute2
The net-tools package is no longer part of new installations by default, since its priority has been lowered from important to optional. Users are instead advised to use the modern iproute2 toolset (which has been part of new installs for several releases already).
Значит у некрасивой нельзя. Ура!
Злосчастный json на месте
Сегодня пробовал в метро, вместо телефона теперь хеш:
"msisdn":"f5618b8ef6e2c7cde6f674da5e6d485329aa026607175a624b8aee7b9a0de97e"
Насколько можно судить, это SHA256.
Поле «uid» — md5(номер телефона).
Причем БЕЗ соли.
Соответственно загоняете в онлайн радужную таблицу, например — www.md5online.org
И вуаля телефон ваш, задача усложнилась на посещение одного сайта.
Проверил на нескольких юзерах и своем телефоне.
Напридумывают всякого, солить еще зачем-то
Теперь в msisdn видимо с солью sha256
Но uid они решили не менять…
> «occupation»: «student»
Эм, я чего-то не понимаю, откуда у провайдера данные по семейному положению и роду занятий? Пользователь их вносит при авторизации наряду с ФИО или телефоном? Какой в этом смысл, ФЗ126 же требует только паспортные данные/телефон?
Если married то можно любую околопристойнойную рекламу показывать, а её у них навалом.
Этому Same Origin Policy должна помешать
на сервере нужно самому защиту писать
В целом, конечно, да, но предложенный Germanets механизм требует, чтобы скрипт выполнился в браузере пользователя на сайте атакующего, получил данные с сайта метро и отправил их далее. Защита браузера не даст доступа к запрошенным данным.
требующую ввести телефон.
В authorizat.bundle.js есть что-то похожее на расшифровку вещей из UPD4.
homeStationId:window.userData["104c52d70d"],jobStationId:window.userData.f4befe4ab6
Ну либо сравнить со старыми данными.
> -b .ck
Интересно, кука с названием ".ck" и без значения, которая в хедере https запроса будет выглядеть как «Set-Cookie: .ck=», это специально такая закладка в скрипте чтоб майору легко вычислять хабра юзера собирающего приватные данные?
p.s.
кто не понял, вот ман на курл:
-b, --cookie <name=data>
(HTTP) Pass the data to the HTTP server as a cookie. It is sup‐
posedly the data previously received from the server in a «Set-
Cookie:» line. The data should be in the format «NAME1=VALUE1;
NAME2=VALUE2».
Это для проставления кук от сервера, без неё сервер скажет, что у нас печеньки отключены. И она открывает файл .ck
.
If no '=' symbol is used in the argument, it is instead treated as a filename to read previously stored cookie from.
UPD: Добавил в gist маппинги для некоторых кусков данных, так как мне надоело ждать их ответ на то, что данные легко поддаются статистическому анализу.
5777de2cd9 age
7ef6265d 4500
0ae09acd 3544
c40467ec 1217
00f0d9de 1824
fd5a4e2f 2534
3d2e2a0d80 profit
785d323e low
85ebdc3d high
b8a058b4 medium
cb19ed6f70 occupation
1d049b46 student
78051d61 unemployed
4294e679 housewife
5e97672e80 family_status
b2ccc4af not married
d858a4ad active search
7dce1b03 married
cab404, я считаю, это успех.
Вообще в конечном итоге, если гипотетический собиратель юзал загрузку не инфы о юзере с генерирующейся на сервере страницы, а просто хапал печеньку и позже скачивал инфу из дома по ней (обнаружил, что так можно уже чуть позже, на третьем апдейте где-то), то скорость так сурово возрастает засчет того, что не приходится качать страничку на медленном соединении. Плюс опять же, атака крайне легко распределяется по куче wi-fi карт, как где-то выше уже говорили.
Как уже снова не получить телефон (почти) любой красотки в Москве, или интересная особенность MT_FREE