Что понадобится 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:fb53: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 используются.