Android wifi monitor mode

Отслеживание устройств через пассивное прослушивание WiFi

Пробные запросы

Когда WiFi клиент пробует связаться с известной сетью, у него есть два варианта. Первый используют ноутбуки и прочие устройства, не являющиеся смартфонами. Он включает поиск сигнальных пакетов (Beacon Frames). Эти пакеты рассылают роутеры, чтобы объявить о своём присутствии. Клиент находит уже известную ему сеть и соединяется с ней. Второй вариант, который обычно используется смартфонами, включает периодическую рассылку пробных запросов (Probe Requests), содержащих уникальный мак-адрес клиента и иногда имя сети, которое ему известно. Преимущество второго подхода в том, что он срабатывает быстрее. А кроме этого, его гораздо легче использовать в своих целях.

Режим прослушивания (Monitor Mode)

Устройства WiFi умеют работать в шести режимах. Чтобы прослушивать трафик, устройству надо переключиться в режим прослушивания. После этого оно не афиширует себя, поэтому наличие таких устройств очень сложно установить.

Защита

Теоретически, от этих прослушек очень просто защититься. Если выключать WiFi на телефоне, когда он не нужен (то есть, вы далеко от тех мест, где имеются доверенные сети), телефон перестанет отправлять запросы и вас отследить будет нельзя. Практически же каждый раз выключать WiFi было бы довольно нудно.

Для андроида есть несколько приложений для облегчения процесса. Например, AVG PrivacyFix позволяет настроить список доверенных сетей, при наличии которых ваш WiFi будет включён. Есть и другие приложения на эту тему.

В случае iOS ваш выбор ограничен. Если не использовать jailbroken, защищённый режим работы яблофона не пустит приложения к рубильнику WiFi. В iOS 7 появился разве что более удобный доступ к меню WiFi, но это всё равно надо делать вручную.

Строим трекер

Можно, конечно, просто использовать ноутбук – даже MacBook. Устанавливаете Wireshark и настраиваете фильтр для пробных запросов. Но это не так интересно, к тому же, если вы захотите построить целую сеть трекеров, использовать для этого ноутбуки будет довольно накладно.

Для таких ненакладных целей хватит и Raspberry Pi с беспроводным адаптером, или (что мне больше нравится), роутера TP-LINK MR-3020 со специальной прошивкой. Эти варианты небольшие и их можно запитать от 5-вольтовой батарейки.

Настройка Pi будет совсем простой, т.к. там уже есть рабочая файловая система, но я предпочитаю роутер MR-3020. Это недорогое и автономное решение. Поэтому я буду описывать настройку роутера, а если вам захочется использовать Pi, то:

— можно пропустить шаги до Настройки режима прослушивания
— у этих двух устройств разные версии Linux, поэтому какие-то файлы с настройками могут находиться в разных местах и у них могут быть разные менеджеры пакетов
— более мощные радио типа AWUS036H могут потребовать USB-хаб с внешним питанием

Читайте также:  Дмб таймер про андроид

Настройка роутера

— TP-LINK MR-3020 router ($34.99 на Amazon). Должны работать и аналоги, типа TP-LINK TL-WR703N
— USB флэшка (2-4 Гб)
— Ethernet-кабель

Первая часть инструкций взята от проекта PirateBox, поскольку первичная настройка устройств идентична.

1. Скачайте копию OpenWrt для MR3020 (модификация от Matthias Strubel включает все необходимые модули ядра).
Дополнительная информация: forum.daviddarts.com/read.php?2,3974,4009#msg-4009
Обсуждение прошивки: forum.openwrt.org/viewtopic.php?pid=207769#p207769
Прошивка для WR703N: downloads.openwrt.org/attitude_adjustment/12.09-beta2/ar71xx/generic

2. Переключите переключатель рядом с портом LAN/WAN в положение WISP

3. Отключите WiFi ноутбука

4. Подключите роутер через ethernet к компьютеру и откройте в браузере 192.168.0.254 (MR3020) или 192.168.1.1 (WR703N)

5. Введите логин/пароль (admin / admin)

6. Перейдите к System Tools > Firmware Upgrade, выберите прошивку OpenWRT

Текст прошивки WR703N китайский. Для прошивки через веб-интерфейс выберите последнее меню слева, затем третий пункт подменю. Подробнее.

7. После апгрейда система перезапустится

8. Зайдите туда через telnet

9. Командой passwd задайте пароль. Это даст доступ к SSH

10. При помощи vi отредактируйте настройки сети. Предположим, что ваш основной шлюз имеет адрес 192.168.2.1. Адрес OpenWrt не должен совпадать с ним, но должен быть в той же подсети.

Поменяйте файл до такого состояния:

11. Отключите роутер от сети

12. Включите WiFi на ноутбуке

13. Подключите MR3020 (или WR703N) к роутеру-шлюзу через Ethernet и включите настроенный роутер в сет. Подождите минуту. С компьютера, подключённого к локалке, попробуйте зайти на роутер

14. Пинганите google для проверки настроек

15. Добавьте поддержку USB в OpenWrt (если вы не использовали уже настроенную прошивку из шага 1):

Отформатируйте флэшку на две партиции – основная Ext4 и swap. swap должна быть между 256 и 512 Мб.
Зайдите по ssh на роутер.
Установите пакеты для поддержки Ext4:

Вставьте флэшку в роутер. Проверьте, что она определилась.

Настройка файловой системы

Теперь мы сделаем sda1 основой корневой файловой системы
(как описано тут wiki.openwrt.org/doc/howto/extroot#openwrt)

Проверим, что всё замаунтилось (должно вернуть /dev/sda1 на /mnt/sda1 type ext4):

Скопируем файлы с роутера на флэшку, чтобы все необходимые настройки были доступны, когда мы перезагрузимся и USB окажется основой файловой системы.

Добавьте в /etc/config/fstab автоматическое подключение /dev/sda1.

Используйте следующие настройки:

Когда все огоньки вновь загорятся, зайдите по ssh и проверьте, что флэшка правильно подцепилась.

Если вы не можете зайти через ssh, значит копирование файлов прошло неправильно. Выньте флэшку, перезагрузите его через питание. Когда он запустится, вы сможете зайти туда через ssh. Затем снова вставьте флэшку и повторите предыдущие шаги.

Настраиваем swap

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

Для решения проблем с памятью можно использовать партицию swap. Сначала проверим, что она работает:

Теперь подключим её к свопу:

Снова запустим free для проверки того, что она подключилась.

Чтобы это происходило автоматически лучше всего сделать отдельный скрипт. Кстати, заодно вы узнаете, как делать такие скрипты.

Читайте также:  Ad social bot для андроид

Скрипт для подключения Swap при старте

Начнём с создания скрипта:

Введите в файл следующее:

Сделайте его исполняемым:

Теперь нужно сделать symlink с /etc/rc.d на него:

S109 сообщает системе приоритет скрипта. Все файлы в /etc/rc.d начинаются с S##. S109 должен разместить его в самом конце, после того, как запустятся все остальные.

Перезагрузимся, зайдём через ssh и проверим подключение свопа:

Настраиваем режим прослушивания

Почти всё готово. Нам надо отредактировать настройки беспроводного подключения:

Закомментируйте строчку запрета wifi:

Используйте следующие настройки:

Перезапустите wifi interface:

Сообщения об ошибках типа тех, что представлены ниже, не должны повлиять на работу wifi:

Проверьте, что wifi работает и находится в режиме monitor:

Установка пакетов

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

Проверка скрипта сканирования

Скопируем скрипты с git (или их можно скачать в виде zip)

Как ответственные хакеры, мы не будем перехватывать все запросы. Мы сделаем белый список, куда включим только наши телефоны.

Достаньте телефон, отсоединитесь от текущей сети, но не выключайте wifi. В терминале вы должны начать видеть запросы, отправляемые им. Можно заметить, что не у всех запросов будет указан SSID. Запросы без SSID – широковещательные, они предназначены для всех точек доступа, находящихся в пределах досягаемости.

Источник

Android wifi monitor mode

Qualcomm QCACLD WiFi (Android) monitor mode


Howto get that MONITORING MODE working

Configure device to deliver 802.11 packets in raw mode. Below is the example of starting monitor mode and channel settings + tcpdump

Start monitor mode on adapter

Stop monitor mode on adapter

Information about frame injection

I’ve found phones with frame injection support present. The phone is OnePlus 3T with lineageos 17.1, it has the QCACLD-2 driver, which QCACLD-3 replaced. However, finding the solution in QCACLD-2 to port to QCACLD-3 seems like an ok solution instead of fiddling around half blind in QCACLD-3, propably deactivated by Qualcomm.

Источник

Запуск Aircrack-ng и Reaver на Android

Когда нечего делать или как я устанавливал aircrack и reaver на android.
Я подумал а не попробовать ли мне установить kali-linux на android через linux installer, но затем передумал и решил просто установить reaver и aircrack на телефон. Но тут возник вопрос как перевести WiFi в режим монитора.

В интернете про запуск reaver’a и aircrack’a под android’om информации мало, в основном на XDA-Developers. Исходя из того что я вычитал из XDA для того чтобы как перевести WiFi в режим монитора нужно компилировать/ставить на телефон кастомные драйвера для WiFi, которые, к тому же, не факт что будут работать… Ну в общем ничего хорошего я там не вычитал, разве что нашел reaver скомпилированный под android. А вот с aircrack’om вышла проблема, его я искал долго и нудно, но нашел статическую версию для armel.
Итак пол дела сделано, осталось разобраться с режимом монитора.
Опять же на XDA была статья про это, но там требовалось ставить кастомные драйвера и по моему ядро. Я подумал что это слишком, подумал может как нибудь получится без этого. Запустил на телефоне эмулятор терминала и начал колупать. В итоге выяснил что и драйвера и адаптер режим монитора поддерживают, но перевести адаптер в этот самый режим оказалось не так просто. Но добрый гугл мне помог разобратсья с этой проблемой.
Итак уже почти все готово. Запускаем airodump-ng:

Читайте также:  Не могу сделать recovery андроид

О чудо он работает.
Ну впрочем теперь можно и reaver попробовать запустить:

Неужели и он работает?
Но в каждой бочке мёда есть своя ложка дегтя:

Из выше расположенного скриншота видно что скорость перебора ключей reaver’om 7 секунд на ключ, это конечно прискорбно. Ждать пока он подберет пароль к роутеру было бы неразумно, поэтому я и не стал.
Испытуемым был SE Xperia Mini, но на более новых более мощных телефонах, думаю, процесс пойдет быстрее.

Инструкция:

Вдруг кому то пригодится.

Предупреждение! Автор за последствия ответственность не несет, все что вы делаете вы делаете на свой страх и риск.

Все что я делал, я делал на Android ICS 4.0.4 (будет ли это работать на других — не знаю, но думаю на 4.x.x должно).

Нам понадобится:
Итак приступим

Тут есть два варианта:

  1. Скопировать утилиты на SD карту и перемонтировать ее для выполнения;
  2. Перемонтировать /system для записи и скинуть туда.

Я выбрал второй способ.

Далее нам надо запустить WiFi в режиме монитора (пока будет запущен монитор WiFi будет немного нестабилен).
Для начала нужно создать экземпляр монитора, для этого заходим в терминал и пишем:

mon0 можно заменить на любое другое имя

В результате получим что-то вроде этого:

Если набрать netcfg увидим следующее:

Где wlan0 и mon0 это именно то что нам нужно.

Для работы монитора WiFi должен быть включен в настройках телефона

Осталась самая малость.

Запускаем airodump

Для остановки необходимо нажать Ctrl+C (Уменьшить громкость, затем C на англ. раскладке — справедливо для Android Terminal Emulator).

Запускаем reaver

11:22:33:44:55:66 как вы поняли нужно заменить на BSSID необходимой сети

Для остановки необходимо нажать Ctrl+C (Уменьшить громкость, затем C на англ. раскладке — справедливо для Android Terminal Emulator).

Послесловие

Перебирает reaver конечно медленно, но возможно на более новых мощных телефонах процесс пойдет быстрее.
А также кроме reaver’a имеются airbase-ng, aircrack-ng, airdecap-ng, airdecloak-ng, aireplay-ng, airodump-ng, airserv-ng, airtun-ng, besside-ng, besside-ng-crawler, packetforge-ng, wash может кому пригодятся.

А также хочу предупредить что…

  • … reaver работает немного нестабильно, порой не хочет подключатся к сети.
  • … монитор нужно выключать иначе будут проблемы с подключением к сетям.
  • … после перезапуска телефона монитор mon0 будет удален и его придется создавать заново.
  • UPD: Для тех у кого нет iw, его можно взять тут
    Для тех у кого нет ifconfig нужно установить busybox
    Для тех, у кого нет iwconfig, его можно найти тут

    Источник

    Оцените статью