Превращаем бытовой роутер в хак-станцию

Решил написать статью о своём опыте превращения бытового роутера в хак-станцию.
Атака на WPS иногда занимает более 10 часов. Чем же брутить? Выбор не большой:
PC — совместимые железяки
Android — устройства
— Специализированные девайсы вроде WiFi Pineapple
Встала задача брутить на работе, оставлять ноутбук не хотелось. Решил попробовать Android смартфоном. Выяснилось, что, режим монитора в драйвере Wi-Fi отказывается корректно работать. Свою задачу, осуществил роутером.

Выбор беспроводного роутера


Перед роутером я поставил следующие критерии:
— наличие прошивки OpenWrt/DD-WRT/etc для установки Aircrack-ng, Reaver/Bully
— наличие USB порта
— съёмная антенна (требовалось вынести антенну из помещения)

Реальность, оказалась не столь радужной. Актуальных девайсов в продаже с такими характеристиками оказалось не много.
Первый роутер, который я приобрёл для превращения его хак-станцию был UPVEL UR-326N4G. Однако его пришлось вернуть в магазин т.к. OpenWrt от UPVEL не поддерживала подключение USB накопителей. А подключить модули для полноценной поддержки USB так же было невозможно из-за недостаточности свободного места.

К выбору второго роутера я подошёл более серьёзно. Был куплен ASUS RT-N10U B. На первый взгляд единственным минусом было отсутствия для этой модели прошивки OpenWrt. Но зато были DD-WRT, Tomato, прошивка от Олега. Вроде бы не плохо. Установил OPKG под DD-WRT, смонтировал USB Flash. Развернул софт Aircrack-ng. Попытался перевести в airmon-ng Wi-Fi в режим монитора. И тут меня ждало разочарование, оказалось, что его BCM5357 не мог переходить в режим монитора.

Этот ASUS RT-N10U B с большим трудом удалось поменять на другой роутер. DNS крайне тугой магазин. И так наконец я взял TP-Link TL-MR3220 v2. Оказалось, что в нём используется Atheros AR9331, такой же установлен в Pineapple Mark V.

imageimage

Превращение в хак-станию


Прошивка с сайта OpenWrt для TP-Link TL-MR3220 v2, не имела в себе модулей для монтирования USB накопителей. Пришлось поискать модифицированную версию: https://app.box.com/s/cqk23ztqlux1zs034896
Процесс установки описан подробно здесь (простая установка OEM-способом).
Итак, OpenWrt раскатали, всё настроено по дефолту.
Теперь подготавливаем USB накопитель. Необходимо отформатировать флешку в Ext3 (самый надёжный выбор ФС, с FAT работать не будет).
Подключаем USB накопитель к роутеру и перезагружаем его. Далее идем в веб-интерфейс 192.168.1.1. Открываем вкладку System ⇾ Mount Points

Далее как на скриншотах:

09f2c490794a4adcae4849f9753cccd3.png
d61a2a2c709e42ec9d3b810cdd62b8ce.png

Далее открываем вкладку Network ⇾ Wifi нажимаем Enable на интерфейсе (radio1)

Нужно сменить дефолтный пароль, иначе не получиться авторизоваться чрез SSH.
Перезагружаемся.
Наша флешка будет смонтирована в /tmp/overlay-disabled
Теперь о самом главном, о софте. Для пентестов нам нужен следующий набор:
• aircrack-ng
• reaver
• bully

Если вы хотите устанавливать утилиты самостоятельно, то нужно выполнить следующее:

echo "dest usb /tmp/overlay-disabled" >> /etc/opkg.conf


Устанавливать нужно с ключом -d usb
Пример:
opkg install -d usb aircrack-ng
Софт для TP-Link TL-MR3220 v2 подходит от ar71xx

Но тем, кто не желает тратить время на установку или сборку утилит, я предлагаю готовый набор, который нужно скопировать в корень флешки: https://yadi.sk/d/5WUca8OrhkULA
Версии:

  • aircrack-ng — 1.1–3
  • bully — 1.0–22
  • reaver с поддержкой pixie!

Сразу же после того, как зашли по SSH нужно применить следующие патчи:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/tmp/overlay-disabled/usr/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/tmp/overlay-disabled/lib
export PATH=$PATH:/tmp/overlay-disabled/usr/bin
export PATH=$PATH:/tmp/overlay-disabled/usr/sbin


Прошу не пинать сильно в комментариях, т.к. делалось всё «на скорую руку».

Заключение


Как пользоваться этими утилитами я не буду здесь описывать. Укажу только на один нюанс. Для того что бы airmon-ng мог перебирать каналы, нужно выполнить следующее:

ifconfig wlan0 down
iw reg set BO
iwconfig wlan0 txpower 27
airmon-ng start wlan0


Благодарю за внимание!

© Geektimes