HiroX

HiroX

пикабушник
пол: мужской
поставил 50 плюсов и 2 минуса
728 рейтинг 42 подписчика 197 комментариев 5 постов 2 в "горячем"
513

Wi-Fi в Метро без авторизации по номеру или как не слить свой номер в Метро

Всем привет! Сегодня я покажу как воспользоваться Wi-Fi в Метро (СПб, МСК), не слив при этом свой номер телефона.


Предыстория


Спустя немного времени после запуска Wi-Fi в Питерском метро мне стало интересно как это работает. Я, как интересующийся человек, решил попробовать обойти авторизацию, потому что сливать номер мне не очень-то и хотелось.


Сканер портов мне рассказал, что весь диапазон портов наружу из локальной сети был заблокирован, а 80 (http), 443 (http) и 53 (dns) успешно редиректились на страницу авторизации в сети.


Возникло еще больше желания обойти эту систему...



Теория


При подключении к сети первым делом устройство запрашивает у DHCP-сервера IP-адрес, под которым его будут понимать устройства выше (роутеры).


В DHCP-запросе содержится mac-адрес устройства, который (должен быть) у каждого устройства в сети разный. Маршрутизатор сети просматривает свою базу в поисках предоставленного ему mac-адреса, а дальше 2 сценария:

1) пользователь уже авторизован в сети, т.е. слил свой номер телефона

2) пользователь не авторизован в сети


Если пользователь уже авторизован в сети, то ему присваивается ip-адрес в сети с доступом в интернет, а если нет, то доступ в интернет (в наружу) ему блокируется и перенаправляется на страницу авторизации.



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


Потихоньку переходим от теории к практике...

Wi-Fi в Метро без авторизации по номеру или как не слить свой номер в Метро Метро, Бесплатный wi-fi, Халява, Хитрость, Обман, Сниффер, Длиннопост

Практика


Что нам понадобится:

1) Ноутбук или любое другое не очень старое устройство на базе OS Windows или Linux. В моем случае этим устройством выступил планшет-трансформер Teclast X5 Pro.

2) Wi-Fi-свисток, умеющий в режим монитора*. В моем случае таким устройством был свисток с самопальным охлаждением ( :D ) на базе чипа Realtek RTL8187B.

3) Устройство, которому нужно непосредственно доступ в интернет без авторизации. В моем случае это был телефон Asus Zenfone2.

4) Немного времени.


* Режим монитора - специальный режим работы сетевой карты, при котором пакеты, которые ей не предназначались не отбрасываются, а обрабатываются и передаются операционной системе.



Приступим:


1) Так как на моем устройстве стоит Windows, а нам нужен Linux, нам нужно поставить Linux дистрибутив на виртуальную машину (напр. VirtualBox). Делается это не сложно, щелканьем кнопки далее и описывать этот процесс я не буду. В моем случае дистрибутив был Ubuntu Server.

2) Заходим в терминал, поднимаем права до root:

sudo -i

теперь нужно установить пакеты, необходимые для wifi-сниффера:

apt-get install aircrack-ng -y

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

3) Теперь нужно подключить Wifi-свисток к виртуальной машине, в VirtualBox это делается через ПКМ по значку usb снизу и нажатия на wifi-свисток. После этого wifi свисток должен отобразиться в Linux:

ifconfig -a

Wi-Fi в Метро без авторизации по номеру или как не слить свой номер в Метро Метро, Бесплатный wi-fi, Халява, Хитрость, Обман, Сниффер, Длиннопост

У меня он получил длинное имя wlx003061417276.


4) Теперь самое интересное: запускаем сниффер.

airodump-ng wlx003061417276 *

* в некоторых мануалах написано, что сначала нужно переводить свисток в режим монитора командой airmon-ng start wlx003061417276, потом появится устройство mon0 или wlan0mon, а только потом airodump-ng mon0. Но у меня так не заработало, а заработало сразу без mon0 или wlan0mon.

первый запуск может быть долгий, но закончится он таким окном, в котором будут дорисовываться сети и их клиенты:

Wi-Fi в Метро без авторизации по номеру или как не слить свой номер в Метро Метро, Бесплатный wi-fi, Халява, Хитрость, Обман, Сниффер, Длиннопост

Колонка CH (channel) определяет канал сети. В моем случае в метро Wi-Fi имело 11 канал, поэтому я перезапустил, со сканированием только 11 канала, а не всех подряд.

airodump-ng wlx003061417276 --channel 11


Ожидаем поезд с Wi-Fi и видим много-много клиентов и их mac-адресов и 2 штуки точек доступа. Люди ни в чем не виноваты и их mac-адреса я закрашу...

Wi-Fi в Метро без авторизации по номеру или как не слить свой номер в Метро Метро, Бесплатный wi-fi, Халява, Хитрость, Обман, Сниффер, Длиннопост

Этот список мы копируем/фотографируем/переписываем, выбираем один из mac'ов для себя.

5) Выбранный mac-адрес нам нужно прописать в наше устройство. На разных устройствах делается по разному, на Android нужен будет рут-доступ.

На Asus Zenfone2 файл с mac адресом располагается /config/wifi/mac.txt и записан в формате XXXXXXXXXXXX (без двоеточия).

На Samsung Galaxy S2 этот файл располагается /efs/wifi/.mac.info и записан в формате XX:XX:XX:XX:XX:XX (с двоеточием)

5.1) Делаем бэкап стокового mac'а, чтобы в случае если что-то пойдет не так мы смогли спастись.

5.2) Прописываем понравившийся mac себе и перезагружаем девайс. Заходим в настройки wifi -> дополнительные и смотрим:

был 30:5A (с завода)....

стал 48:5A....

Wi-Fi в Метро без авторизации по номеру или как не слить свой номер в Метро Метро, Бесплатный wi-fi, Халява, Хитрость, Обман, Сниффер, Длиннопост

Если mac не поменялся, то значит вы что-то сделали не так.

6) Проверяем. Я использовал программу Wi-Fi в метро, она же на Google Play, которая за меня посмотрит рекламу и подключит меня к интернету. Теоретически можно обойтись и без нее, тогда Wi-Fi попросит еще посмотреть рекламу, а только потом даст интернет.


Что же происходит дальше?

Wi-Fi в Метро без авторизации по номеру или как не слить свой номер в Метро Метро, Бесплатный wi-fi, Халява, Хитрость, Обман, Сниффер, Длиннопост

Подключаемся, получаем IP. Спустя пару секунд программа сообщает, что подключение успешно выполнено и мы пробуем загрузить 2ip.ru

Wi-Fi в Метро без авторизации по номеру или как не слить свой номер в Метро Метро, Бесплатный wi-fi, Халява, Хитрость, Обман, Сниффер, Длиннопост

Теоретически могут возникнуть проблемы, если в сети появятся 2 устройства с одинаковым mac-адресом, у кого-то одного не будет интернета. Но мне кажется это достаточно маловероятно, так как вам нужно будет ехать в одном вагоне метро... =)



Спасибо тем, кто дочитал до конца, жду отзывов =), ну и

Wi-Fi в Метро без авторизации по номеру или как не слить свой номер в Метро Метро, Бесплатный wi-fi, Халява, Хитрость, Обман, Сниффер, Длиннопост
Показать полностью 8
6

Как комп самостоятельно чуть не спалился

На часах 8 вечера, прихожу домой, чувствую воняет горелой электроникой.

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


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


Открываю крышку - трогаю блок питания - нереальная печка, а вентилятор сцука не работает, как...?

Вырубаю комп, достаю блок питания, развинчиваю его, соблюдая ТБ, не хватало еще чтоб от конденсаторов е*нуло. Отрезаю ножницами провода от вентилятора, несу его подключаю к своему источнику питания на 12в - работает О_о

Окей, ставлю на 15 минут - работает, странно, но раз работает ставлю его обратно в блок.


Отрезанные провода соединяю со своими изолентой и вывожу 2 провода из блока питания внутрь корпуса, подключая напрямую к 3х пиновому коннектору на материнке, там как раз 12в (один лишний пин остался на обратную связь о количестве оборов, его не подключаю)


Собираю все обратно, запускаю последний раз с открытым корпусом - все работает. Ну и отлично. Закрываю крышкой и ставлю корпус на его место.


Не успело пройти 5 минут как моя рука (проходил мимо) чувствует что из блока питания воздушного потока нет

Как комп самостоятельно чуть не спалился Костыли, Спалить ПК, Дичь, Компьютерное железо, Работает, Работает же?, Длиннопост

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

Как комп самостоятельно чуть не спалился Костыли, Спалить ПК, Дичь, Компьютерное железо, Работает, Работает же?, Длиннопост

И тут до меня дошло. Повернул корпус в вертикальное положение и он опять не стартует. Дергается на пол оборота и потом "примагничивается". О_о


Опять разбираю блок питания, выкидываю этот вентилятор в мусор, нахожу в хламе вентилятор почти вдвое меньше по диаметру, но делать нечего. Прикручиваю его на 1 винт из 4 к блоку, а остальное пространство заклеиваю скотчем


Для наглядности (люблю пейнт: удобно, быстро и понятно)

Как комп самостоятельно чуть не спалился Костыли, Спалить ПК, Дичь, Компьютерное железо, Работает, Работает же?, Длиннопост

Работает же? Работает.

А работает - не трогай!


У меня всё.

Показать полностью 3
170

Делаем из старого компьютера маршрутизатор

Всем привет! Первый пост и прошу сильно не пинать за возможные косяки)



Предыстория

Делаем из старого компьютера маршрутизатор Старый ПК, Сети, Роутер, Просто очень длиннопост, Маршрутизатор, Универсальный ПК, Длиннопост

Лежала как-то небольшая гора металла, из которой удалось собрать:

* Intel Celeron E3300 - двухядерный бомжовский селерон под 775 платформу

* ASUS P5KPL-AM EPU - материнка под 775 платформу с ddr2 памятью (что плохо) и гигабитным ethernet портом (что хорошо)

* DDR2 плашка на 1 gb оперативки

* Пару жестких дисков на 320 гигов каждый

* БП насколько-то, на сколько не помню (работает же)

* Корпус самый обычный


Первая попытка - установить туда windows server 2012 в целях "попробовать" и учебной практики (ключик MS дали сами, типа для студентов).


В итоге: с 1 активным пользователем (локальным администратором) использовано 600-700мб из 1000 всего. Не кайф. Где-то в течении месяца на данном ПК висел просто FTP сервер (filezilla server - отлично работает по ssl и мне показалось что намного проще настраивается, чем дефолтный).

Что интересно: сначала я ради интересна оставил открытым без пароля на запись. сразу (в течении полудня) положили туда Photo.scr, который быстро гуглится, это было забавно и я доступ на запись закрыл. остались попытки с access denied =)

Но мне это надоело, захотелось что-то новенького.


Все это время роутером (маршрутизатором) между моей локальной сетью и внешним миром (внешний адрес) стоял ASUS RT-N65U.


Схема сети - в принципе обычная для обычного нормального человека.

Делаем из старого компьютера маршрутизатор Старый ПК, Сети, Роутер, Просто очень длиннопост, Маршрутизатор, Универсальный ПК, Длиннопост

И так, погнали.

Рассказ будет без бешеных врезок для ctrl-c ctrl-v, а наоборот с объяснением каждого момента!


Непосредственно рассказ


И тут мне пришла в голову идея: а что если взять этот компьютер, вставить туда вторую сетевую карту, сделать его маршрутизатором (то бишь роутером) и поставить вместо asus'овского роутера?


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


Решено было делать это на базе Ubuntu Server, так как монитор у этого ПК не предполагается и GUI, соответственно, не нужно. Зашел на официальный сайт, скачал образ х64 последней (на тот момент) 16.04 убунты, записал на флешку с ultraiso - втыкаю - не загружается =\ , записал еще раз - тоже самое. Перепробовано 3 метода и 2 образа - не работает, почему было уже лень разбираться. Достал DVD-RW диск (оттуда же откуда и детали) и записал на него. Загрузилось.


В процессе установки ставлю имя ПК HiroXServer, а имя пользователя mark.


По окончании установки и логина в учетку у меня открывается bash

Делаем из старого компьютера маршрутизатор Старый ПК, Сети, Роутер, Просто очень длиннопост, Маршрутизатор, Универсальный ПК, Длиннопост

Теперь с этого момента схема моей сети выглядит так:

Делаем из старого компьютера маршрутизатор Старый ПК, Сети, Роутер, Просто очень длиннопост, Маршрутизатор, Универсальный ПК, Длиннопост

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


Итак, вернемся к тому, что есть: сервер-пк, к которому подключены 2 провода - один к провайдеру, второй к коммутатору asus (то что было роутером), отсутствие интернета на всем, в том числе и на сервер-пк. =)


Первым дело я хочу настроить сетевые интерфейсы, их 3:

* lo - loopback - так называемое кольцо, 127.0.0.1, localhost, итд, которое используют некоторые сервисы

* enp3s0 - так у меня называется интерфейс (сетевая карта), что смотрит в сторону провайдера.

* enp1s0 - так у меня называется интерфейс, что смотрит в локальную сеть.


Мой провайдер идентифицирует пользователей по MAC-адресу, а затем выдает мне внешний адрес по DHCP, значит мне нужно выставить mac-адрес.

Конфигурационный файл лежит тут: /etc/network/interfaces

Открываю его nano /etc/network/interfaces.

И заполняю:


# (тут комментарий) кольцевой интерфейс lo

auto lo

iface lo inet loopback


# интерфейс, что смотрит к провайдеру, получает настройки по dhcp на основании mac-адреса

auto enp3s0

iface enp3s0 inet dhcp

hwaddress ether AC:22:0B:XX:XX:XX


# интерфейс, что смотрит у нас в сторону локальной сети имеет статичный адрес 192.168.1.1 и маску подсети /24, то есть 255.255.255.0

auto enp1s0

iface enp1s0 inet static

address 192.168.1.1

mask 255.255.255.0


CTRL+O (сохранить) -> Enter -> CTRL+X (выходим из редактора)


Интерфейсы настроены, для применения настроек нужно перезагрузить сеть одним из способов:

* перезагрузить компьютер sudo reboot

* перезагрузить саму сеть sudo /etc/init.d/networking restart


Далее запускаем пинг до Google DNS, дабы проверить, что у нас все работает:

Делаем из старого компьютера маршрутизатор Старый ПК, Сети, Роутер, Просто очень длиннопост, Маршрутизатор, Универсальный ПК, Длиннопост

Отлично! Значит все сделали правильно. Далее нужно сделать так, чтобы пакеты из локальной сети попадали в интернет.


Когда мы работаем из-под root'а, то есть у нас root@HiroXServer:~# , то дописывать sudo перед каждой командой не нужно, но если мы работает из под обычного пользователя, например mark@HiroXServer:~$ , то нужно, иначе система не даст изменять системные файлы. root - аналог администратора в windows. чтобы зайти в консоль из-под root нужно ввести sudo -i (и ввести пароль)


Первое, что мы делаем - разрешаем пересылку пакетов. Для этого нужно поставить 1 в файл /proc/sys/net/ipv4/ip_forward вручную через nano или такой командой (предварительно зайдя под root через sudo -i ):

echo 1 > /proc/sys/net/ipv4/ip_forward


Второе, что мы делаем: SNAT (Source NAT) или MASQUERADE из локальной сети в интернет. При этом адрес отправителя (например 192.168.1.2) заменяется на внешний адрес сервер-пк, из-за чего он правильно доходит к нам обратно.

sudo iptables -t nat -A POSTROUTING -o enp3s0 -s 192.168.1.0/24 -j MASQUERADE

или

sudo iptables -t nat -A POSTROUTING -o enp3s0 -s 192.168.1.0/24 -j SNAT --to-source 228.228.228.228 (вместо этого само собой пишем статичный внешний адрес, а если адрес не статичный чтобы его каждый раз не выставлять лучше используем MASQUERADE)


Разберем как это работает:

iptables - инструмент для настройки брандмауэра netfilter в linux

-t или аналог --table - таблица, с которой я хочу работать. Их всего 3: основная filter, nat и mangle.

-A или аналог --append - добавить действие вниз в цепочку. Можно еще -I (insert), но тут роли не играет.

POSTROUTING - цепочка в таблице nat, через которую проходят все пакеты, после маршрутизации. В таблице nat есть еще PREROUTING, INPUT, OUTPUT.

-o - тут указывает из какого интерфейса пакет выходит

-s - указываем из какой сети (!) пакет пришел

-j - указываем действие, которое с этим пакетом нужно совершить


Подробнее об iptables, netfilter и их возможностях можно почитать здесь и здесь.


Далее я рекомендую удалить сразу ubuntu брандмауэр ufw, так как он возможно будет мешать:

sudo apt remove ufw -y


Для того, чтобы убедиться, что у нас все получилось пишем:

sudo iptables -t nat -L


Видим следующее:

Делаем из старого компьютера маршрутизатор Старый ПК, Сети, Роутер, Просто очень длиннопост, Маршрутизатор, Универсальный ПК, Длиннопост

В принципе базовая функция маршрутизатора у нас теперь работает работает, но для того чтобы это ощутить с основого пк в моей схеме нужно: настроить asus'овский агрегат в режим коммутатора и выставить ему статический ip, а затем выставить на каждом пк статичный ip. например на настольном ПК у меня будет IP 192.168.1.105.


Первое делается от модели к модели роутеров по разному, в общем нужно заменить режим с "беспроводной маршрутизатор" на "беспроводная точка доступа". В некоторых роутерах эта опция называется "Enable NAT" - ее нужно выключить. Также выставить для роутера статичный IP 192.168.1.2 (в моем случае), маску подсети 255.255.255.0 и основной шлюз 192.168.1.1


Второе - на основном пк идем панель управления -> Центр управления сетями и общим доступом -> Изменение параметров адаптера -> ПКМ по нашему Wifi соединению, свойства -> Протокол Интернета версии 4 , свойства и тут вписываем:

* IP-адрес = 192.168.1.105

* Маска подсети = 255.255.255.0 (у меня автоматически вставилась)

* Основной шлюз = 192.168.1.1 (адрес сервер-пк)


* Предпочитаемый DNS-сервер = 8.8.8.8


ОК -> ОК


Вуаля и интернет на основном пк опять вернулся. Можно закончить статью

Делаем из старого компьютера маршрутизатор Старый ПК, Сети, Роутер, Просто очень длиннопост, Маршрутизатор, Универсальный ПК, Длиннопост

но ведь долго же на каждом устройстве вводить статичный IP адрес теперь! И на каждом телефоне придется! Неудобно!


Для этого нужно настроить DHCP-сервер. Эта служба отвечает за автоматическое присвоение адресов внутри сети на основе рандома или какого-либо правила в конфиге.

Этой службой у нас будет выступать dnsmasq (он же DNS сервер). Попробуйте ввести

dnsmasq -v

Будет ли в ответ что-то типа: "Dnsmasq version 2.76 Copyright (c) 2000-2016 Simon Kelley"?

Если нет, то устанавливаем

sudo apt install dnsmasq -y

и проверяем знакомой командой.


Конфигурационный файл dnsmasq лежит /etc/dnsmasq.conf

Откроем его через nano и заполняем:


# диапазон выдаваемых сервером адресов и время аренды.

# в данном случае у нас зарезервирован 1.2 под asus коммутатор и 54 последних адреса под vpn клиентов и другой живности

dhcp-range=192.168.1.3,192.168.1.200,24h


# так же не забываем указать статичную привязку для себя любимого

dhcp-host=60:A4:4C:XX:XX:XX,Mark-PC,192.168.1.105


# не слушаем интерфейс провайдера enp3s0

no-dhcp-interface=enp3s0


# указываем что он у нас один единственный в сети dhcp сервер

dhcp-authoritative


# указываем файл, где будет написано кому выдан какой ip адрес

dhcp-leasefile=/var/log/dnsmasq.leases


# указываем маску подсети нашей

dhcp-option=2,255.255.255.0


# указываем основной шлюз

dhcp-option=3,192.168.1.1


# указываем присваиваемый DNS

dhcp-option=6,8.8.8.8


CTRL+O (сохранить) -> Enter -> CTRL+X (выходим из редактора)


С полным списком возможных параметров можно ознакомиться здесь.


Перезагружаем dnsmasq:

sudo /etc/init.d/dnsmasq restart


Результат должен быть "ОК"


Убираем из настроек винды на основном пк статическую привязку, переподключаемся и проверяем что у нас тот же адрес. При этом остальные устройства в сети получат случайный адрес из диапазона 192.168.1.3~192.168.1.200 автоматически!


Концовка


Получился нереально длинный пост. Если тема интересная и зайдет, то продолжу в примерно таком же виде, расскажу как организовать PPTP VPN, OpenVPN сервера, сделать проброс портов, а так же установку dns и прокси-сервера squid с фильтрацией неугодной рекламы во всей нашей сети!


Спасибо тем, кто дочитал пост до конца.


Выслушаю любую критику и предложения.

Не претендую на лучший мануал, ибо где-то что-то мог упустить или подзабыть в процессе написания. Тег "МОЁ", так как моё =)

Делаем из старого компьютера маршрутизатор Старый ПК, Сети, Роутер, Просто очень длиннопост, Маршрутизатор, Универсальный ПК, Длиннопост
Показать полностью 7
Отличная работа, все прочитано!