Так, секундочку…
ДАЖЕ НЕ ДУМАЙТЕ!Другое дело.
Материал предоставлен исключительно в ознакомительных целях. За любые вами совершённые действия по прочтении данной статьи я ответственности не несу.
«А что, собственно, случилось?»
На днях я смастерил незамысловатый агрегат (что является по своей сути помесью 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 содержится информация, необходимая DHCP-серверу для принудительного закрепления определённых 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% от общей суммы всех подключившихся устройств).
Как заметил пользователь shanker,
Угрозы при автоматическом подключении:
1. Атака типа Evilgrade
2. Социальная инженерия и увод паролей (редирект на подконтрольный похожий сайт, но без HTTPS, или подмена на нелигитимный сертификат)
3. Майнинг криптовалюты путём модернизации контента, выдаваемого в браузеры
4. Эксплуатация уязвимостей в браузерах (путём инжекции эксплоитов в запрашиваемые страницы).
Теперь же я хотел бы перейти непосредственно к практической части и показать мою «чудо-машину» в действии.
Премного благодарен за уделённое внимание, amico! До новых встреч!
Комментарии (35)
n1nj4p0w3r
06.11.2017 03:17Honeypot — это техника обнаружения вредоносной активности заключающая в себе создание подставного ресурса созданного исключительно для заманивания и идентификации вредителей.
То что вы сделали называется rouge ap и ничего оригинального в этом, к сожалению, нет.
vconst
06.11.2017 05:39Зачем надо было выделять «10 «Redmi» от Xiaomi» из группы «31 телефон под управлением «Android»»?
Akr0n
06.11.2017 06:06Наоборот же интересно, судя по новостям Xiaomi все больше захватывает рынок смартфонов. Любопытно было бы взглянуть на реальную статистику с улиц, в дикой природе, так сказать. Именно для этого как раз и можно использовать устройство, собранное автором.
phoenixar
06.11.2017 14:57Это скорее всего не выделение. Простой андроид в сеть даёт своё название как «android-*», а телефоны от xiaomi что-то похожее на «Redmi...»
vconst
06.11.2017 15:00И это не значит, что телефоны сяоми перестают быть смартами на андроид. Или автор не знает, что редми — это андроидный смарт?
0o0
06.11.2017 14:58Т.к. павербанк, судя по цвету, был любезно представлен /в образовательных целях/ именно ими. Возможно.
Hellsy22
06.11.2017 10:02Статья затрагивает проблему конфликта законов и сетевой гигиены.
К примеру, я всегда использую на мобильных устройствах OVPN с опцией Seamless Tunnel, т.е. все, что может узнать точка доступа обо мне, это то, что мой смартфон установил соединение с каким-то сервером и обменивается с ним данными. Однако, этот подход блокирует мне возможность пользоваться «законными» открытыми сетями, где нужно сперва как-то что-то подтверждать, прежде чем доступ к интернету будет получен.Tallefer
06.11.2017 14:35Недавно ставили какую-то приблуду, которая в фоне сама там «подтверждает», шоб рекламу в метро не смотреть. Не знаю, работает ли еще это.
А еще раньше я себе писал скрипт, который входил в вайфай макдаков автоматически. :)
Schalker
06.11.2017 14:58Подставной ресурс, печальная реальность. Знакомо до боли. В « халявных « сетях приходиться защищаться VPN-ом.
Maxir
06.11.2017 16:04Ну и в чём проблема-то? Ну подлючились они и что?
Alexsey
06.11.2017 16:20Как минимум человек может начать пользоваться такой сетью (даже не заметив этого) и владелец поддельной точки может без проблем перехватывать трафик пользователя.
Maxir
06.11.2017 18:05+1Так https ведь.
geher
06.11.2017 19:19-1Так MITM ведь.
И вроде как оно не всегда так непреодолимо сложно, как кажется, например, если пользователь просто заходит на какие-то сайты, FTP, почтовые сервисы.
Например, в фальшивой сети заворачивает пользователя вместо его любимого ресурса на подставной (фальшивый DNS в простом случае и привлечение маршрутизации в сложном).
А дальше пересылаются на подставном сайте запросы на оригинал и ответы обратно.
Или я что-то не учитываю?
Cerberuser
06.11.2017 21:56По сути статьи выше сказали лучше меня, но, автор, кто так диаграммы красит? Где у вас граница между Андроидом и iOS? Что так ярко-красный, что так…
А вообще, спасибо. Невольно задумываюсь, а нормально ли вообще, что идентификатор сети — это именно её имя (общедоступное), а не какая-то внутренняя характеристика… Впрочем, если её можно настраивать — ловушка остаётся (а если нельзя — то следующий вопрос будет «и как сделать одну и ту же сеть с разных источников?»), так что мысль не развиваю.
shanker
07.11.2017 17:53+1Угрозы при автоматическом подключении:
1. Атака типа Evilgrade
2. Социальная инженерия и увод паролей (редирект на подконтрольный похожий сайт, но без HTTPS, или подмена на нелигитимный сертификат)
3. Майнинг криптовалюты путём модернизации контента, выдаваемого в браузеры
4. Эксплуатация уязвимостей в браузерах (путём инжекции эксплоитов в запрашиваемые страницы).
Насчёт статистики по устройствам. С выходом iOS 11 можно ожидать увеличения iPhone в таких статистиках.
Marwin
Ну это всё ж тема из разряда фича, а не баг… Понятно, что каждый второй смартфон москвича подключится к Вашей MT_FREE.
Суть статьи — раздел "Чем это чревато?" А там собссно вода. Хотело бы интересных примеров, что можно раздать "миру" по неосторожности. Ну исключая такие банальные вещи как паблик сетевые шары на ноуте в винде
Mihip
Навряд ли рядовой смартфон может «по неосторожности» раздать нечто большее, нежели чем те же сетевые шары, как Вы сказали. Социальная инженерия — да-да, чревато именно этим. И более, гм, боюсь, ничем (могу ошибаться).
muxa_ru
Из очевидного — перехват незашифрованного трафика.
n1nj4p0w3r
Для этого rogue ap не нужен
AllexIn
Те кто могли — уже осознали, что через хот споты по http лазить нельзя.
Tallefer
Через ТОР тоже! :)
SpAAAA22
Чем тор не угодил?
strapony
Выходные ноды слушают.
muxa_ru
Вы все апликухи в своём смартфоне проверили на то как они лезут: http или https?
А если у сайта нет https версии, то Вы на него совсем не ходите?
В теории легко говорить "по http лазить нельзя", но на практике это зависит не от пользователя, а от владельца сайта или автора программы.
AllexIn
У меня нет приложений на смартфоне, которые какую-то ценную инфу гоняют по инету.
Я вообще сичтаю идиотизмом на смартфоне хранить ценную инфу, в силу легкости ею завладеть.
Ну а приложения на мобилках оперирующие ценной инфой — вообще зло, ибо пишутся в основной массе криворукими идиотами.
muxa_ru
И много вас таких?
AllexIn
5%?
muxa_ru
Я бы сказал что Ваша слишком оптимистична.
А значит "перехват трафика" очень даже полезен для одним и опасен для других.
Мы же говорим не о сферическом пользователе в вакууме, а о реальном потоке граждан идущих мимо фальшивой вайфай-точки.
werevolff
В теории, можно подменить сервер обновлений: смартфон при подключении к сети запросит информацию об обновлениях, получит положительный ответ, после чего скачает и установит вредоносное ПО. Разумеется, если при запросе обновлений не проверяется сертификат сервера, что маловероятно. Но есть же рутованые телефоны, мессенджеры. В теории, любое популярное ПО может самовольно скачивать и устанавливать обновления. Останется только настроить на своём девайсе роутинг того трафика, который отвечает за основной функционал и перехват запросов на обновление.
Полагаю, тут владельцу девайса нужно выбрать точку, в которой люди будут находиться значительное время. Скажем, аудитория в ВУЗе. И можно просканить все попытки устройств получить обновления. Тогда эксперимент будет уже повеселее.