Создание поддельной точки доступа (Rogue AP) своими руками

В данной статье мы поговорим про создание поддельной точки доступа. В рамках тестирования на проникновение возникает очень много вариантов использования поддельной точки доступа (Rogue AP, Fake AP) и они относятся в основном к реализации MitM атак посредством Fake AP. Создаем открытую безпарольную точку доступа с названием копирующем известную сети или закрытую точку с таким же типом шифрования и паролем (предварительно перехваченным и расшифрованным с оригинальной точки доступа, как это сделать – рассказывается в статьях Взлом Wi-Fi с шифрованием WPA/WPA2 PSK и Reaver. Взлом Wi-Fi со включенным WPS) и далее ждем подключившихся клиентов. После чего каким либо способом, коих очень много, анализируем проходящий через нас трафик, либо выдаем какие-либо фишинговые сайты с запросом паролей.
Для создания нам потребуется Linux (я использовал Raspbian и микрокомпьютер Raspberry Pi для создания Rogue AP)

Для начала проверим, что наша карточка поддерживает режим точки доступа (AP), для этого посмотрим вывод утилиты iw:

iw list | grep "Supported interface modes" -A 8

в списке поддерживаемых режимов должно присутствовать AP.

Пример:

Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* WDS
* monitor
* mesh point

Установим hostapd – программная точка доступа:

apt-get install hostapd

И создадим конфигурацию демона hostapd:
в настройках демона укажем, где он должен брать конфигурацию, для этого откроем файл /etc/default/hostapd, найдем в нем строчку:

#DAEMON_CONF=""

раскомментируем ее и укажем где находится файл конфигурации (у нас это будет /etc/hostapd/hostapd.conf).

Пример:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

теперь создадим конфигурацию точки доступа, для этого создадим файл настроек демона hostapd – /etc/hostapd/hostapd.conf

touch /etc/hostapd/hostapd.conf

и изменим его, прописав параметры нашей сети.

Для безпарольной точки доступа будет достаточно написать:

interface=wlan0
driver=nl80211
hw_mode=g
ssid=FreeWifi
channel=6

interface – интерфейс, на котором будет работать точка доступа;
driver – используемый драйвер (обычно nl80211);
ssidSSID имя точки доступа;
channel – канал, на котором будет работать точка доступа;
hw_mode – режим работы (a802.11a, b802.11b,g802.11g), g означает режим работы 802.11b/g.

Для точки доступа с шифрованием WPA2 конфигурация будет немного сложнее:

interface=wlan0
driver=nl80211
hw_mode=g
ssid=FreeWifi
channel=6
auth_algs=1
wpa=2
wpa_passphrase=1234abcd
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP TKIP
rsn_pairwise=CCMP

auth_algs – алгоритм аутентификации (1WPA2, 2WEP, 3 – любой);
wpa – тип шифрования WPA (1WPA, 2WPA2, 3WPA/WPA2);
wpa_passphrase – пароль точки доступа;
wpa_key_mgmt – алгоритм ключей шифрования (может быть WPA-PSKPreSharedKey или WPA-EAP – проверка по протоколу EAP внешним сервером);
wpa_pairwise и rsn_pairwise – какие шифры можно использовать для шифрования передаваемых данных (можно использовать CCMP, TKIP или любой, на выбор клиента).

так же можно использовать дополнительные параметры:

ap_isolate=1 – включить изоляцию клиентов;
bridge=имя_интерфеса – использовать мост.

Теперь нужно настроить получение адресов и маршрутизацию трафика.

Первым делом назначим IP-адрес Wi-Fi адаптеру. Для этого откроем файл /etc/network/interfaces и запишем в него конфигурацию сети для беспроводного адаптера wlan0:

allow-hotplug wlan0
iface wlan0 inet static
address 192.168.2.1
netmask 255.255.255.0

по аналогии настроим и сетевой адаптер, который будет смотреть в интернет (либо если адрес получается по DHCP, то настроим автоматическое получение адреса, как это сделать – описывается в статье Debian, Ubuntu, Raspbian. Базовая настройка IPv4 на сетевых Ethernet интерфейсах)

Далее настроим DNS и выдачу адресов по DHCP, в данном случае воспользуемся утилитой dnsmasq, которая умеет и то и то.

Установим dnsmasq:

apt-get install dnsmasq

откроем конфигурационный файл /etc/dnsmasq.conf и изменим (или добавим) в нем строки:

interface=wlan0
dhcp-authoritative
dhcp-range=192.168.2.10,192.168.2.60,1h
dhcp-option=1,255.255.255.0
dhcp-option=3,192.168.2.1
dhcp-option=6,192.168.2.1,8.8.8.8
domain=fakeAP.local
address=/fake.local/10.0.0.1

interface – интерфейс на котором будут работать DHCP и DNS;
dhcp-authoritative – указываем, что наш сервер главный в сети;
dhcp-range – диапазон адресов, параметры указываются через запятую (начало_диапазона,конец_диапазона,время_аренды_адреса);
dhcp-option – параметры DHCP, задаются через запятую в формате (номер_опции,значение,значение)
dhcp-option=1 – маска сети;
dhcp-option=3 – шлюз;
dhcp-option=6DNS сервера;
domain – префикс локального домена;
address – вручную назначаемые DNS записи, сначала проверяется данный список, а потом уже все остальные (идеально подходит для подмены адресов).

Теперь разрешим пересылку пакетов (форвардинг):

echo "1" > /proc/sys/net/ipv4/ip_forward

Примечание: данный метод работает до перезагрузки. Как включить постоянную пересылку пакетов – рассказывается в статье Пересылка пакетов (форвардинг) в Linux.

И создадим NAT:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Примечание: iptables так же сохраняет правила до перезагрузки, поэтому для автостарта их нужно отдельно сохранить и восстановить после перезагрузки, как это сделать – рассказывается в статье iptables. Сохранение и восстановление правил.

перезапускаем сервисы dnsmasq и hostapd:

service dnsmasq restart
service hostapd restart

ждем подключившихся клиентов.

Список выданных адресов можно посмотреть командой:

cat /var/log/syslog | grep DHCPACK

Точка доступа готова, теперь остается только запустить какой-либо анализатор трафика, например Ettercap, dsniff, либо что-то посложнее, например расшифровку SSL трафика с помощью SSLstrip (SSLstrip — один из способов обхода HTTPS). Так же можно дополнительно установить Web-сервер и настроить на него нужные DNS записи для фишинга.

Заказать Аудит Безопасности или Пентест Вашей IT-инфраструктуры

Быть уверенным в своей IT-инфраструктуре – это быть уверенным в завтрашнем дне.

Для того, чтобы сделать заказ:

Заполните форму обратной связи и мы обязательно с вам свяжемся:
Форма обратной связи
Позвоните нам по телефону:
+7(909)952-44-33
Напишите нам на электронную почту:
order@blackdiver.net
Напишите нам в Telegram:
Telegram
Другие способы связи Вы сможете найти в разделе Контакты.

Please Login to Comment.