В чем суть? Нам не дают доступ к интернету, пока не выполним определенные действия, например, не введем код из SMS. Сегодня покажу, как обойти такую авторизацию.
Что понадобится
1) Абсолютно любая Wi-Fi карта. От нее требуется только умение подключаться к Wi-Fi сетям (никаких режимов монитора);
2) Linux. Поскольку в Windows не для всех Wi-Fi карт можно (легко) поменять MAC-адрес;
3) Nmap – популярный сканер сетей/портов. Есть почти в любом репозитории Linux. По крайней мере, в Ubuntu и Mint для установки достаточно выполнить команду:
sudo apt install nmap
Теория
Суть взлома открытых хот-спотов с авторизацией на веб-интерфейсе очень проста. Когда какой-то клиент (любой пользователь до нас) подключается к такой точке доступа, то он, например, авторизуется. После этого точка доступа запоминает его MAC-адрес и IP-адрес. Теперь пользователю с тем самым MAC-адресом и IP-адресом разрешен выход в Интернет. И MAC-адрес, и IP-адрес любого другого пользователя локальной сети можно узнать самым обычным сканированием. Мы выполняем сканирование и меняем свои MAC-адрес и IP-адрес, устанавливая те, которые нашли в сети.
Единственное условие – в сети должны быть пользователи, которые уже выполнили авторизацию и могут пользоваться Интернетом.
Практика
Подключаемся к открытому хот-споту любым способом. Например, через NetworkManager. Узнаем IP-диапазон сети. Для этого выполните команду:
ip route
Я получил:
default via 192.168.50.1 dev wlp0s20f0u1 proto dhcp metric 20600
192.168.50.0/24 dev wlp0s20f0u1 proto kernel scope link src 192.168.50.90 metric 600
То есть моя сеть имеет диапазон IP-адресов 192.168.50.0/24, а это – 192.168.50.0-192.168.50.255.
Необходимые данные у меня уже есть, но при желании вы можете также использовать команду:
ip a
У меня:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 4c:ed:fb:da:53:3c brd ff:ff:ff:ff:ff:ff
3: wlo1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 22:fb:49:06:01:f3 brd ff:ff:ff:ff:ff:ff
6: wlp0s20f0u1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:c0:ca:96:cf:cb brd ff:ff:ff:ff:ff:ff
inet 192.168.50.90/24 brd 192.168.50.255 scope global dynamic noprefixroute wlp0s20f0u1
valid_lft 20686sec preferred_lft 20686sec
inet6 fe80::8a9b:814e:7d9d:47a/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Тут больше данных, но достаточно найти свой интерфейс и для него строку с inet – сразу после неё идёт диапазон сети.
Далее выполняем сканирование сети – ищем других пользователей. Для этого запускаем команду вида:
sudo nmap -sn диапазон_IP
У меня диапазон 192.168.50.0/24, поэтому моя команда:
sudo nmap -sn 192.168.50.0/24
Ключ -sn означает не сканировать порты. В данном случае нам не нужно знать, какие порты открыты, при этом очень значительно сокращается время сканирования. Анализируем данные.
Я получил следующие результаты:
Starting Nmap 7.70 ( https://nmap.org ) at 2018-10-31 05:14 MSK
Nmap scan report for 192.168.50.1
Host is up (0.013s latency).
MAC Address: 78:CD:8E:A6:73:BE (SMC Networks)
Nmap scan report for 192.168.50.45
Host is up (0.010s latency).
MAC Address: 98:0C:A5:79:CB:57 (Motorola (Wuhan) Mobility Technologies Communication)
Nmap scan report for 192.168.50.101
Host is up (0.0061s latency).
MAC Address: 00:15:6D:9A:26:C0 (Ubiquiti Networks)
Nmap scan report for 192.168.50.102
Host is up (0.0072s latency).
MAC Address: 00:15:6D:9C:26:84 (Ubiquiti Networks)
Nmap scan report for 192.168.50.103
Host is up (0.030s latency).
MAC Address: 00:27:22:02:C0:D0 (Ubiquiti Networks)
Nmap scan report for 192.168.50.189
Host is up (0.064s latency).
MAC Address: 34:12:98:2F:2C:E7 (Apple)
Nmap scan report for 192.168.50.90
Host is up.
Теперь просто берем попарно MAC-адреса и IP-адреса:
1) 192.168.50.45 и 98:0C:A5:79:CB:57
2) 192.168.50.189 и 34:12:98:2F:2C:E7
И пробуем их. Изменяем свой MAC и IP. Поменять свои адреса можно разными способами. Например, из командной строки и графического интерфейса. Я покажу самый простой – прямо в NetworkManager. Нажмите на значок Wi-Fi, а затем нажмите Network Settings (возможно, у вас будет на русском – Настройки сети):
В открывшемся окне найдите подключенный к сети Wi-Fi адаптер (если у вас их несколько) и соответствующее Интернет-подключение:
Нажмите на шестеренку. В новом окне перейдите во вкладку Identity и в поле Cloned Address (Клонированный адрес) введите новый, добытый при сканировании сети:
Теперь переключитесь на вкладку IPv4. Там выберите Manual (ручную настройку для сети). Всего нам нужно знать три значения:
1) Address – адрес (это наш IP адрес). Та самая переменная, которую мы узнали при сканировании и которую мы будем пробовать. То есть мы его уже знаем;
2) Netmask – маска сети. Маску сети мы уже также знаем. В моем примере сеть имеет диапазон 192.168.50.0/24, то есть ее маска – это /24. Это правильное значение, но его нужно записать немного в другой форме. /24 соответствует маске 255.255.255.0. Именно это и указываем;
3) Gateway – шлюз. Чтобы узнать шлюз, выполните команду:
ip route show default
Я получил:
default via 192.168.50.1 dev wlp0s20f0u1 proto dhcp metric 20600
Тот IP-адрес, который идет после default via – это и есть шлюз.
В качестве DNS сервера укажите 8.8.8.8. Итак, вводим:
Когда готово, вновь переподключитесь к сети, чтобы изменения вступили в силу. Для проверки Интернет-доступа выполните пинг:
ping ya.ru
Если Интернета по-прежнему нет, значит пробуйте следующую пару MAC- и IP-адреса. Дело в том, что к открытому хот-споту могут быть подключены такие же как мы – не выполнившие вход. То есть мы можем использовать их идентификаторы, но толку от этого нет.
Можно подобрать несколько рабочих пар и использовать их даже когда оригинальный пользователь не подключен.
Последствия
Трафик, который вы израсходуете, записывается на того пользователя, чьи MAC и IP используются.
https://t.me/joinchat/AAAAAE_P67xzVRPwUob7kQ