Бороздя несметные просторы интернета неоднократно натыкался я на недовольные отзывы пользователей бесплатной Wi-Fi сети московского метрополитена «MT_FREE». Проблема заключалась в том (впрочем, воз и ныне там), что Wi-Fi сети наземного городского транспорта носили такое же название, как и в подземке. Представьте себе ситуацию: идёте вы куда-нибудь, музыку слушаете, никого не трогаете и тут бдыщ — пред вами откуда ни возмись возникает автобус; ваш же телефон замечает знакомую ему Wi-Fi сеть и, донельзя довольный своей находчивостью, (к вам, конечно же, не вопрошая) скороспешно подключается к оной. Вместо музыки теперь вы слышите лишь ехидное тарахтение уходящего вдаль автобуса.
Так, секундочку…
ДАЖЕ НЕ ДУМАЙТЕ!
Материал предоставлен исключительно в ознакомительных целях. За любые вами совершённые действия по прочтении данной статьи я ответственности не несу.
Другое дело.
«А что, собственно, случилось?»
На днях я смастерил незамысловатый агрегат (что является по своей сути помесью powerbank-а и всем известной Orange Pi с интегрированным Wi-Fi модулем), при помощи которого давеча мною был поставлен эксперимент, задачей которого стал подсчёт количества граждан (а также их предупреждение о том, что им следует более серьёзно относиться к целости и сохранности своих данных), что совершено не пекутся о своей безопасности в сети. Суть его проста — на апельсин ставится OpenWrt с dnsmasq (последний настраивается таким образом, чтобы на любой DNS-запрос клиента поступал один и тот же ответ — в нём должен содержаться адрес локального шлюза, на котором крутится веб-сервер) и нехитрыми манипуляциями поднимается открытая Wi-Fi сеть, коей присваивается тот самый пресловутый SSID — «MT_FREE», после чего подсчитывается количество человек и их смартфонов (вкупе с другими устройствами), что подключились к данной сети.
…
address=/#/192.168.1.1
/etc/config/uhttpd
config uhttpd 'main'
…
option error_page '/index.html'
/etc/config/dhcp
config dnsmasq
…
option leasefile '/usr/share/dhcp/dhcp.leases'
/usr/bin/honeypot
###
### Скрипт предназначен для
### непрестанного мониторинга состояния файлов
### dhcp.leases и php.leases
###
while :; do clear && echo -e "I'm $HOSTNAME!\n`date +%H:%M:%S`\n\nDHCP leases: `wc -l /usr/share/dhcp/dhcp.leases`\nPHP leases: `wc -l /usr/share/dhcp/php.leases`" && sleep 1; done
В течение некоторого времени данные собираются и записываются в какой-нибудь файл (в моём случае — dhcp.leases и php.leases). В файле dhcp.leases содержится информация, необходимая для того, чтобы за каждым устройством был закреплён определённый IP-адрес в течение некоторого времени (аренда). Но немного иначе дела обстоят с файлом php.leases — после того, как как пользователь осознанно кликнет на кнопку «Войти в интернет», в файл записывается новая строка с определённым заранее текстом. Сразу хочу обратить внимание на то, что это — безобразный до ужаса костыль, что был написан на коленке (в буквальном смысле) за несколько минут в трясущемся автобусе.
<?php
shell_exec('echo `date +%H:%M:%S` New DHCP lease and user action! >> /usr/share/dhcp/php.leases');
?>
Так-так! А что у нас там на вкусненькое?
Вы, наверное, и без меня уже догадались — это статистические данные, которые коробочка тщательно утрамбовывала в течение четырёх часов. Спешу заметить — эксперимент начался в семь утра и закончился в ровно в полдень. Место проведения — довольно крупный городишко Подмосковья.
К точке доступа моей за сравнительно небольшой промежуток времени успело подключиться в общей сложности 95 устройств, из них:
- 24 телефона типа «iPhone» (что примечательно — в их hostname-ах, как правило, содержатся имена владельцев)
- 31 телефона под управлением «Android»
- 1 «Windows Phone»
- 1 «BlackBerry»
- 10 «Redmi» от Xiaomi
- 7 портативных персональных вычислительных машин типа «ноутбук»
- Некоторое количество прочих устройств, поддерживающих возможность соединения по каналу Wi-Fi
79% аппаратов подключились к точке доступа в автономном режиме, i.e. без участия человека. На кнопку «Войти в интернет» нажало лишь 20 человек (21% от общей суммы всех подключившихся устройств).
Теперь же я хотел бы перейти непосредственно к практической части и показать мою «чудо-машину» в действии.
Премного благодарен за уделённое внимание, amico! До новых встреч!
Автор: Михаил Подивилов