hostapd - для организации точки доступа WiFi.
isc-dhcp-server - для организации сервера dhcp.
bridge-utils - для создания моста между локальной и внешней сетью. Чтоб устройства в локальной сети имели доступ в инет.
Для hostapd нужно указать интерфейс моста. Чтоб на вафле тоже инет был.
Вообще надо из неё сделать роутер для Курска.
Когда я только начинал учиться настраивать сервера под свои нужды, первое, на что я тогда я наткнулся — это пакет isc-dhcp-server, его я и планировал предложить, и статья уже была готова, но… Я нашёл dnsmasq, и моя жизнь изменилась в лучшую сторону. Dnsmasq — это и кэширующий DNS, и DHCP сервер со своим набором различных фич. Как только я заглянул в его конфиг, мое зрение улучшилось, все мысли в мозгу внезапно стали упорядоченными и я достиг просветления. Реально, конфиг очень простой и понятный."
Про фэйковую точку доступа.
https://blackdiver.net/it/linux/4093- Спойлер
- СОЗДАНИЕ ПОДДЕЛЬНОЙ ТОЧКИ ДОСТУПА (ROGUE AP) СВОИМИ РУКАМИ
25/03/2016 BLACK DIVER ОСТАВИТЬ КОММЕНТАРИЙ
В данной статье мы поговорим про создание поддельной точки доступа. В рамках тестирования на проникновение возникает очень много вариантов использования поддельной точки доступа (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
1
iw list | grep "Supported interface modes" -A 8
в списке поддерживаемых режимов должно присутствовать AP.
Пример:
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* WDS
* monitor
* mesh point
1
2
3
4
5
6
7
8
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* WDS
* monitor
* mesh point
Установим hostapd — программная точка доступа:
apt-get install hostapd
1
apt-get install hostapd
И создадим конфигурацию демона hostapd:
в настройках демона укажем, где он должен брать конфигурацию, для этого откроем файл /etc/default/hostapd, найдем в нем строчку:
#DAEMON_CONF=""
1
#DAEMON_CONF=""
раскомментируем ее и укажем где находится файл конфигурации (у нас это будет /etc/hostapd/hostapd.conf).
Пример:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
1
DAEMON_CONF="/etc/hostapd/hostapd.conf"
теперь создадим конфигурацию точки доступа, для этого создадим файл настроек демона hostapd — /etc/hostapd/hostapd.conf
touch /etc/hostapd/hostapd.conf
1
touch /etc/hostapd/hostapd.conf
и изменим его, прописав параметры нашей сети.
Для безпарольной точки доступа будет достаточно написать:
interface=wlan0
driver=nl80211
hw_mode=g
ssid=FreeWifi
channel=6
1
2
3
4
5
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
1
2
3
4
5
6
7
8
9
10
11
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
1
2
3
4
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
1
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
1
2
3
4
5
6
7
8
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
1
echo "1" > /proc/sys/net/ipv4/ip_forward
Примечание: данный метод работает до перезагрузки. Как включить постоянную пересылку пакетов — рассказывается в статье Пересылка пакетов (форвардинг) в Linux.
И создадим NAT:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Примечание: iptables так же сохраняет правила до перезагрузки, поэтому для автостарта их нужно отдельно сохранить и восстановить после перезагрузки, как это сделать — рассказывается в статье iptables. Сохранение и восстановление правил.
перезапускаем сервисы dnsmasq и hostapd:
service dnsmasq restart
service hostapd restart
1
2
service dnsmasq restart
service hostapd restart
ждем подключившихся клиентов.
Список выданных адресов можно посмотреть командой:
cat /var/log/syslog | grep DHCPACK
1
cat /var/log/syslog | grep DHCPACK
Точка доступа готова, теперь остается только запустить какой-либо анализатор трафика, например Ettercap, dsniff, либо что-то посложнее, например расшифровку SSL трафика с помощью SSLstrip (SSLstrip — один из способов обхода HTTPS). Так же можно дополнительно установить Web-сервер и настроить на него нужные DNS записи для фишинга.