В данной статье мы поговорим про создание поддельной точки доступа. В рамках тестирования на проникновение возникает очень много вариантов использования поддельной точки доступа (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);
ssid – SSID имя точки доступа;
channel – канал, на котором будет работать точка доступа;
hw_mode – режим работы (a – 802.11a, b – 802.11b,g – 802.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 – алгоритм аутентификации (1 – WPA2, 2 – WEP, 3 – любой);
wpa – тип шифрования WPA (1 – WPA, 2 – WPA2, 3 – WPA/WPA2);
wpa_passphrase – пароль точки доступа;
wpa_key_mgmt – алгоритм ключей шифрования (может быть WPA-PSK – PreSharedKey или 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=6 – DNS сервера;
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-инфраструктуре – это быть уверенным в завтрашнем дне. Для того, чтобы сделать заказ:
|